#include <stddef.h>
#include <stdint.h>
#include "attributes.h"
+#include "version.h"
/**
* @addtogroup lavu_string
*/
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,
/**
* Thread safe basename.
- * @param path the path, on DOS both \ and / are considered separators.
+ * @param path the string to parse, on DOS both \ and / are considered separators.
* @return pointer to the basename substring.
+ * If path does not contain a slash, the function returns a copy of path.
+ * If path is a NULL pointer or points to an empty string, a pointer
+ * to a string "." is returned.
*/
const char *av_basename(const char *path);
/**
* Thread safe dirname.
- * @param path the path, on DOS both \ and / are considered separators.
- * @return the path with the separator replaced by the string terminator or ".".
- * @note the function may change the input string.
+ * @param path the string to parse, on DOS both \ and / are considered separators.
+ * @return A pointer to a string that's the parent directory of path.
+ * If path is a NULL pointer or points to an empty string, a pointer
+ * to a string "." is returned.
+ * @note the function may modify the contents of the path, so copies should be passed.
*/
const char *av_dirname(char *path);
AV_ESCAPE_MODE_AUTO, ///< Use auto-selected escaping mode.
AV_ESCAPE_MODE_BACKSLASH, ///< Use backslash escaping.
AV_ESCAPE_MODE_QUOTE, ///< Use single-quote escaping.
+ AV_ESCAPE_MODE_XML, ///< Use XML non-markup character data escaping.
};
/**
*/
#define AV_ESCAPE_FLAG_STRICT (1 << 1)
+/**
+ * Within AV_ESCAPE_MODE_XML, additionally escape single quotes for single
+ * quoted attributes.
+ */
+#define AV_ESCAPE_FLAG_XML_SINGLE_QUOTES (1 << 2)
+
+/**
+ * Within AV_ESCAPE_MODE_XML, additionally escape double quotes for double
+ * quoted attributes.
+ */
+#define AV_ESCAPE_FLAG_XML_DOUBLE_QUOTES (1 << 3)
+
+
/**
* Escape string in src, and put the escaped string in an allocated
* string in *dst, which must be freed with av_free().