21#ifndef AVUTIL_AVSTRING_H
22#define AVUTIL_AVSTRING_H
43int av_strstart(
const char *str,
const char *pfx,
const char **ptr);
55int av_stristart(
const char *str,
const char *pfx,
const char **ptr);
69char *
av_stristr(
const char *haystack,
const char *needle);
84char *
av_strnstr(
const char *haystack,
const char *needle,
size_t hay_length);
144 for (i = 0; i < len && s[i]; i++)
206char *
av_strtok(
char *s,
const char *delim,
char **saveptr);
213 return c >=
'0' && c <=
'9';
221 return c > 32 && c < 127;
229 return c ==
' ' || c ==
'\f' || c ==
'\n' || c ==
'\r' || c ==
'\t' ||
238 if (c >=
'a' && c <=
'z')
248 if (c >=
'A' && c <=
'Z')
259 return av_isdigit(c) || (c >=
'a' && c <=
'f');
338#define AV_ESCAPE_FLAG_WHITESPACE (1 << 0)
345#define AV_ESCAPE_FLAG_STRICT (1 << 1)
351#define AV_ESCAPE_FLAG_XML_SINGLE_QUOTES (1 << 2)
357#define AV_ESCAPE_FLAG_XML_DOUBLE_QUOTES (1 << 3)
377int av_escape(
char **dst,
const char *src,
const char *special_chars,
380#define AV_UTF8_FLAG_ACCEPT_INVALID_BIG_CODES 1
381#define AV_UTF8_FLAG_ACCEPT_NON_CHARACTERS 2
382#define AV_UTF8_FLAG_ACCEPT_SURROGATES 4
383#define AV_UTF8_FLAG_EXCLUDE_XML_INVALID_CONTROL_CODES 8
385#define AV_UTF8_FLAG_ACCEPT_ALL \
386 AV_UTF8_FLAG_ACCEPT_INVALID_BIG_CODES|AV_UTF8_FLAG_ACCEPT_NON_CHARACTERS|AV_UTF8_FLAG_ACCEPT_SURROGATES
431int av_sscanf(
const char *
string,
const char *format, ...);
Macro definitions for various function/variable attributes.
#define av_printf_format(fmtpos, attrpos)
#define av_warn_unused_result
#define attribute_deprecated
size_t av_strlcat(char *dst, const char *src, size_t size)
Append the string src to the string dst, but to a total length of no more than size - 1 bytes,...
size_t static size_t av_strnlen(const char *s, size_t len)
Get the count of continuous non zero chars starting from the beginning.
char * av_stristr(const char *haystack, const char *needle)
Locate the first case-independent occurrence in the string haystack of the string needle.
char attribute_deprecated char * av_d2str(double d)
Convert a number to an av_malloced string.
char * av_strtok(char *s, const char *delim, char **saveptr)
Split the string into several tokens which can be accessed by successive calls to av_strtok().
av_warn_unused_result int av_escape(char **dst, const char *src, const char *special_chars, enum AVEscapeMode mode, int flags)
Escape string in src, and put the escaped string in an allocated string in *dst, which must be freed ...
static av_const int av_tolower(int c)
Locale-independent conversion of ASCII characters to lowercase.
int av_strcasecmp(const char *a, const char *b)
Locale-independent case-insensitive compare.
static av_const int av_isdigit(int c)
Locale-independent conversion of ASCII isdigit.
int av_match_name(const char *name, const char *names)
Match instances of a name in a comma-separated list of names.
int av_strstart(const char *str, const char *pfx, const char **ptr)
Return non-zero if pfx is a prefix of str.
static av_const int av_isxdigit(int c)
Locale-independent conversion of ASCII isxdigit.
char * av_get_token(const char **buf, const char *term)
Unescape the given string until a non escaped terminating char, and return the token corresponding to...
size_t av_strlcpy(char *dst, const char *src, size_t size)
Copy the string src to dst, but no more than size - 1 bytes, and null-terminate dst.
char * av_strnstr(const char *haystack, const char *needle, size_t hay_length)
Locate the first occurrence of the string needle in the string haystack where not more than hay_lengt...
static av_const int av_isgraph(int c)
Locale-independent conversion of ASCII isgraph.
static av_const int av_isspace(int c)
Locale-independent conversion of ASCII isspace.
int av_match_list(const char *name, const char *list, char separator)
Check if a name is in a list.
static av_const int av_toupper(int c)
Locale-independent conversion of ASCII characters to uppercase.
const char * av_dirname(char *path)
Thread safe dirname.
int av_sscanf(const char *string, const char *format,...)
See libc sscanf manual for more information.
const char * av_basename(const char *path)
Thread safe basename.
char * av_asprintf(const char *fmt,...) av_printf_format(1
Print arguments following specified format into a large enough auto allocated buffer.
av_warn_unused_result int av_utf8_decode(int32_t *codep, const uint8_t **bufp, const uint8_t *buf_end, unsigned int flags)
Read and decode a single UTF-8 code point (character) from the buffer in *buf, and update *buf to poi...
int av_stristart(const char *str, const char *pfx, const char **ptr)
Return non-zero if pfx is a prefix of str independent of case.
char * av_append_path_component(const char *path, const char *component)
Append path component to the existing path.
char * av_strireplace(const char *str, const char *from, const char *to)
Locale-independent strings replace.
size_t av_strlcatf(char *dst, size_t size, const char *fmt,...) av_printf_format(3
Append output to a string, according to a format.
int av_strncasecmp(const char *a, const char *b, size_t n)
Locale-independent case-insensitive compare.
@ AV_ESCAPE_MODE_AUTO
Use auto-selected escaping mode.
@ AV_ESCAPE_MODE_XML
Use XML non-markup character data escaping.
@ AV_ESCAPE_MODE_QUOTE
Use single-quote escaping.
@ AV_ESCAPE_MODE_BACKSLASH
Use backslash escaping.