String Manipulation

Functions

int av_strstart (const char *str, const char *pfx, const char **ptr)
 Return non-zero if pfx is a prefix of str.
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_stristr (const char *haystack, const char *needle)
 Locate the first case-independent occurrence in the string haystack of the string needle.
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_length characters are searched.
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.
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, and null-terminate dst.
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.
size_t char * av_d2str (double d)
 Convert a number to a av_malloced string.
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 the unescaped string.
av_const int av_isdigit (int c)
 Locale-independent conversion of ASCII isdigit.
av_const int av_isgraph (int c)
 Locale-independent conversion of ASCII isgraph.
av_const int av_isspace (int c)
 Locale-independent conversion of ASCII isspace.
static av_const int av_toupper (int c)
 Locale-independent conversion of ASCII characters to uppercase.
static av_const int av_tolower (int c)
 Locale-independent conversion of ASCII characters to lowercase.
av_const int av_isxdigit (int c)
 Locale-independent conversion of ASCII isxdigit.
int av_strcasecmp (const char *a, const char *b)
int av_strncasecmp (const char *a, const char *b, size_t n)
 Locale-independent case-insensitive compare.
const char * av_basename (const char *path)
 Thread safe basename.
const char * av_dirname (char *path)
 Thread safe dirname.
int av_match_name (const char *name, const char *names)
 Match instances of a name in a comma-separated list of names.

Detailed Description

Function Documentation

int av_strstart ( const char *  str,
const char *  pfx,
const char **  ptr 
)

Return non-zero if pfx is a prefix of str.

If it is, *ptr is set to the address of the first character in str after the prefix.

Parameters
strinput string
pfxprefix to test
ptrupdated if the prefix is matched inside str
Returns
non-zero if the prefix matches, zero otherwise
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.

If it is, *ptr is set to the address of the first character in str after the prefix.

Parameters
strinput string
pfxprefix to test
ptrupdated if the prefix is matched inside str
Returns
non-zero if the prefix matches, zero otherwise
char* av_stristr ( const char *  haystack,
const char *  needle 
)

Locate the first case-independent occurrence in the string haystack of the string needle.

A zero-length string needle is considered to match at the start of haystack.

This function is a case-insensitive version of the standard strstr().

Parameters
haystackstring to search in
needlestring to search for
Returns
pointer to the located match within haystack or a null pointer if no match
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_length characters are searched.

A zero-length string needle is considered to match at the start of haystack.

This function is a length-limited version of the standard strstr().

Parameters
haystackstring to search in
needlestring to search for
hay_lengthlength of string to search in
Returns
pointer to the located match within haystack or a null pointer if no match
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.

This function is the same as BSD strlcpy().

Parameters
dstdestination buffer
srcsource string
sizesize of destination buffer
Returns
the length of src
Warning
since the return value is the length of src, src absolutely must be a properly 0-terminated string, otherwise this will read beyond the end of the buffer and possibly crash.
Examples:
transcode_aac.c.

Referenced by open_output_file().

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, and null-terminate dst.

This function is similar to BSD strlcat(), but differs when size <= strlen(dst).

Parameters
dstdestination buffer
srcsource string
sizesize of destination buffer
Returns
the total length of src and dst
Warning
since the return value use the length of src and dst, these absolutely must be a properly 0-terminated strings, otherwise this will read beyond the end of the buffer and possibly crash.
size_t av_strlcatf ( char *  dst,
size_t  size,
const char *  fmt,
  ... 
)

Append output to a string, according to a format.

Never write out of the destination buffer, and always put a terminating 0 within the buffer.

Parameters
dstdestination buffer (string to which the output is appended)
sizetotal size of the destination buffer
fmtprintf-compatible format string, specifying how the following parameters are used
Returns
the length of the string that would have been generated if enough space had been available
size_t char* av_d2str ( double  d)

Convert a number to a av_malloced string.

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 the unescaped string.

The normal \ and ' escaping is supported. Leading and trailing whitespaces are removed, unless they are escaped with '\' or are enclosed between ''.

Parameters
bufthe buffer to parse, buf will be updated to point to the terminating char
terma 0-terminated list of terminating chars
Returns
the malloced unescaped string, which must be av_freed by the user, NULL in case of allocation failure
av_const int av_isdigit ( int  c)

Locale-independent conversion of ASCII isdigit.

av_const int av_isgraph ( int  c)

Locale-independent conversion of ASCII isgraph.

av_const int av_isspace ( int  c)

Locale-independent conversion of ASCII isspace.

static av_const int av_toupper ( int  c)
inlinestatic

Locale-independent conversion of ASCII characters to uppercase.

Definition at line 172 of file avstring.h.

static av_const int av_tolower ( int  c)
inlinestatic

Locale-independent conversion of ASCII characters to lowercase.

Definition at line 182 of file avstring.h.

av_const int av_isxdigit ( int  c)

Locale-independent conversion of ASCII isxdigit.

int av_strcasecmp ( const char *  a,
const char *  b 
)
int av_strncasecmp ( const char *  a,
const char *  b,
size_t  n 
)

Locale-independent case-insensitive compare.

Note
This means only ASCII-range characters are case-insensitive
const char* av_basename ( const char *  path)

Thread safe basename.

Parameters
paththe path, on DOS both \ and / are considered separators.
Returns
pointer to the basename substring.
const char* av_dirname ( char *  path)

Thread safe dirname.

Parameters
paththe path, on DOS both \ and / are considered separators.
Returns
the path with the separator replaced by the string terminator or ".".
Note
the function may change the input string.
int av_match_name ( const char *  name,
const char *  names 
)

Match instances of a name in a comma-separated list of names.

Parameters
nameName to look for.
namesList of names.
Returns
1 on match, 0 otherwise.