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

James Almer jamrial at gmail.com
Thu Dec 26 21:47:36 EET 2019


On 12/26/2019 3:40 PM, Nicolas George wrote:
> 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)

I guess we'll bumping in the coming months (it's been a long while since
the last time, and some cleaning is in order), so might as well make
this < 58 so we don't have to postpone it later.

> +#endif
>  
>  
>  /**
> 



More information about the ffmpeg-devel mailing list