[FFmpeg-devel] [PATCH] lavu/avstring: deprecate av_d2str().

Nicolas George george at nsup.org
Thu Dec 26 20:40:50 EET 2019


It is no longer used in our code base and does not seem
to be used much in other projects.

Signed-off-by: Nicolas George <george at nsup.org>
---
 doc/APIchanges             | 3 +++
 libavutil/avstring.c       | 2 ++
 libavutil/avstring.h       | 5 +++++
 libavutil/tests/avstring.c | 4 ++++
 libavutil/version.h        | 3 +++
 5 files changed, 17 insertions(+)

diff --git a/doc/APIchanges b/doc/APIchanges
index 5b8d801f06..a22932c8f2 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,6 +15,9 @@ libavutil:     2017-10-21
 
 API changes, most recent first:
 
+2019-12-xx - xxxxxxxxxx - lavu 56.37.100 - avstring.h
+  Deprecate av_d2str(). Use av_asprintf() instead.
+
 2019-12-xx - xxxxxxxxxx - lavu 56.37.100 - buffer.h
   Add av_buffer_pool_buffer_get_opaque().
 
diff --git a/libavutil/avstring.c b/libavutil/avstring.c
index 76a13ba3b5..f6f7ab568e 100644
--- a/libavutil/avstring.c
+++ b/libavutil/avstring.c
@@ -136,6 +136,7 @@ end:
     return p;
 }
 
+#if FF_API_D2STR
 char *av_d2str(double d)
 {
     char *str = av_malloc(16);
@@ -143,6 +144,7 @@ char *av_d2str(double d)
         snprintf(str, 16, "%f", d);
     return str;
 }
+#endif
 
 #define WHITESPACES " \n\t\r"
 
diff --git a/libavutil/avstring.h b/libavutil/avstring.h
index 274335cfb9..ee225585b3 100644
--- a/libavutil/avstring.h
+++ b/libavutil/avstring.h
@@ -24,6 +24,7 @@
 #include <stddef.h>
 #include <stdint.h>
 #include "attributes.h"
+#include "version.h"
 
 /**
  * @addtogroup lavu_string
@@ -155,10 +156,14 @@ static inline size_t av_strnlen(const char *s, size_t len)
  */
 char *av_asprintf(const char *fmt, ...) av_printf_format(1, 2);
 
+#if FF_API_D2STR
 /**
  * Convert a number to an av_malloced string.
+ * @deprecated  use av_asprintf() with "%f" or a more specific format
  */
+attribute_deprecated
 char *av_d2str(double d);
+#endif
 
 /**
  * Unescape the given string until a non escaped terminating char,
diff --git a/libavutil/tests/avstring.c b/libavutil/tests/avstring.c
index 887bd25a12..37a2cf1833 100644
--- a/libavutil/tests/avstring.c
+++ b/libavutil/tests/avstring.c
@@ -109,6 +109,8 @@ int main(void)
     TEST_STRIREPLACE(haystack, needle [2], "Education consists mainly in what we have instead.");
     TEST_STRIREPLACE(haystack, needle [1], "Education consists mainly in what we have instead");
 
+#if FF_API_D2STR
+FF_DISABLE_DEPRECATION_WARNINGS
     /*Testing av_d2str()*/
     #define TEST_D2STR(value, expected) \
         if((ptr = av_d2str(value)) == NULL){ \
@@ -121,5 +123,7 @@ int main(void)
     TEST_D2STR(0         ,  "0.000000");
     TEST_D2STR(-1.2333234, "-1.233323");
     TEST_D2STR(-1.2333237, "-1.233324");
+FF_ENABLE_DEPRECATION_WARNINGS
+#endif
     return 0;
 }
diff --git a/libavutil/version.h b/libavutil/version.h
index 4de0fa1fc3..835206a8ff 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -129,6 +129,9 @@
 #ifndef FF_API_PSEUDOPAL
 #define FF_API_PSEUDOPAL                (LIBAVUTIL_VERSION_MAJOR < 57)
 #endif
+#ifndef FF_API_D2STR
+#define FF_API_D2STR                    (LIBAVUTIL_VERSION_MAJOR < 57)
+#endif
 
 
 /**
-- 
2.24.0



More information about the ffmpeg-devel mailing list