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

Nicolas George git at videolan.org
Fri Aug 21 12:33:19 EEST 2020


ffmpeg | branch: master | Nicolas George <george at nsup.org> | Thu Dec 26 19:32:23 2019 +0100| [06f26512046de1a84e045d219e7fa211c37ad0e4] | committer: Nicolas George

lavu/avstring: deprecate av_d2str().

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

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=06f26512046de1a84e045d219e7fa211c37ad0e4
---

 doc/APIchanges             | 4 ++++
 libavutil/avstring.c       | 2 ++
 libavutil/avstring.h       | 5 +++++
 libavutil/tests/avstring.c | 4 ++++
 libavutil/version.h        | 3 +++
 5 files changed, 18 insertions(+)

diff --git a/doc/APIchanges b/doc/APIchanges
index a9bf1afd4c..c4a4471ecc 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,6 +15,10 @@ libavutil:     2017-10-21
 
 API changes, most recent first:
 
+=======
+2020-08-21 - xxxxxxxxxx - lavu 56.58.100 - avstring.h
+  Deprecate av_d2str(). Use av_asprintf() instead.
+
 2020-08-04 - xxxxxxxxxx - lavu 56.58.100 - channel_layout.h
   Add AV_CH_LAYOUT_22POINT2 together with its newly required pieces:
   AV_CH_TOP_SIDE_LEFT, AV_CH_TOP_SIDE_RIGHT, AV_CH_BOTTOM_FRONT_CENTER,
diff --git a/libavutil/avstring.c b/libavutil/avstring.c
index f4b8ed2b45..e33d4aac51 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 3e7e1f410b..3f0a4a8402 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -132,6 +132,9 @@
 #ifndef FF_API_CHILD_CLASS_NEXT
 #define FF_API_CHILD_CLASS_NEXT         (LIBAVUTIL_VERSION_MAJOR < 57)
 #endif
+#ifndef FF_API_D2STR
+#define FF_API_D2STR                    (LIBAVUTIL_VERSION_MAJOR < 58)
+#endif
 
 /**
  * @}



More information about the ffmpeg-cvslog mailing list