String Manipulation
[Common utility functions]


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.
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_asprintf (const char *fmt,...) av_printf_format(1
 Print arguments following specified format into a large enough auto allocated buffer.
size_t char *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.
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().
static int av_toupper (int c)
 Locale-independent conversion of ASCII characters to uppercase.
static 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.
int av_strncasecmp (const char *a, const char *b, size_t n)
 Locale-independent case-insensitive compare.

Function Documentation

size_t char* av_asprintf ( const char *  fmt,
  ... 
)

Print arguments following specified format into a large enough auto allocated buffer.

It is similar to GNU asprintf().

Parameters:
fmt printf-compatible format string, specifying how the following parameters are used.
Returns:
the allocated string
Note:
You have to free the string yourself with av_free().

size_t char* char* av_d2str ( double  d  ) 

Convert a number to a av_malloced string.

Definition at line 120 of file avstring.c.

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:
buf the buffer to parse, buf will be updated to point to the terminating char
term a 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

Definition at line 129 of file avstring.c.

Referenced by dilate_init(), init(), movie_common_init(), opt_map(), parse_filter(), parse_key_value_pair(), parse_link_name(), and set_params().

int av_strcasecmp ( const char *  a,
const char *  b 
)

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:
str input string
pfx prefix to test
ptr updated if the prefix is matched inside str
Returns:
non-zero if the prefix matches, zero otherwise

Definition at line 40 of file avstring.c.

Referenced by av_stristr(), ff_http_auth_handle_header(), has_header(), and rtsp_parse_range_npt().

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:
haystack string to search in
needle string to search for
Returns:
pointer to the located match within haystack or a null pointer if no match

Definition at line 51 of file avstring.c.

Referenced by has_header(), and http_start_receive_data().

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:
dst destination buffer
src source string
size size 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.

Definition at line 74 of file avstring.c.

Referenced by av_dict_set(), av_get_channel_layout_string(), av_printf_format(), avcodec_string(), ff_http_auth_create_response(), ff_make_absolute_url(), ff_rtsp_setup_input_streams(), ff_url_join(), hls_open(), matroska_convert_tag(), mmsh_open_internal(), mov_open_dref(), opt_channel_layout(), rtp_new_connection(), rtsp_read_packet(), and show_help_options().

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:
dst destination buffer (string to which the output is appended)
size total size of the destination buffer
fmt printf-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 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:
dst destination buffer
src source string
size size 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.

Definition at line 64 of file avstring.c.

Referenced by amf_parse_object(), asf_read_language_list(), ass_encode_frame(), av_get_channel_layout_string(), av_parse_color(), av_strerror(), av_strlcat(), av_url_split(), avformat_alloc_output_context2(), avformat_open_input(), choose_qop(), compute_real_filename(), compute_status(), concat_open(), dprint_options(), dump_metadata(), ff_amf_get_field_value(), ff_ass_add_rect(), ff_make_absolute_url(), ff_rtsp_setup_output_streams(), ffurl_alloc(), get_preset_file(), hls_open(), http_connect(), http_open(), http_parse_request(), id3v1_set_string(), id3v2_3_metadata_split_date(), init(), matroska_convert_tag(), merge_date(), mmsh_open_internal(), mov_write_video_tag(), open_input(), opt_channel_layout(), opt_default(), opt_streamid(), parse_playlist(), parse_sws_flags(), pp_get_mode_by_name_and_quality(), read_header(), rm_read_audio_stream_info(), rtmp_open(), rtp_new_connection(), rtsp_parse_request(), sap_read_header(), sap_write_header(), show_help_options(), srt_encode_frame(), srt_text_cb(), srt_to_ass(), start_children(), stream_open(), udp_open(), and write_header().

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

Definition at line 202 of file avstring.c.

Referenced by extract_rates(), http_parse_request(), jacosub_read_header(), main(), match_format(), and process_line().

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:
str input string
pfx prefix to test
ptr updated if the prefix is matched inside str
Returns:
non-zero if the prefix matches, zero otherwise

Definition at line 29 of file avstring.c.

Referenced by amr_parse_sdp_line(), asfrtp_parse_sdp_line(), assert_file_overwrite(), bluray_open(), cache_open(), concat_open(), crypto_open(), ff_make_absolute_url(), ff_real_parse_sdp_a_line(), ff_wms_parse_sdp_a_line(), hls_open(), http_open_cnx(), latm_parse_sdp_line(), md5_close(), opt_output_file(), parse_h264_sdp_line(), parse_playlist(), parse_sdp_line(), rdt_parse_sdp_line(), rtsp_probe(), sap_probe(), tls_open(), and xiph_parse_sdp_line().

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().

A token is defined as a sequence of characters not belonging to the set specified in delim.

On the first call to av_strtok(), s should point to the string to parse, and the value of saveptr is ignored. In subsequent calls, s should be NULL, and saveptr should be unchanged since the previous call.

This function is similar to strtok_r() defined in POSIX.1.

Parameters:
s the string to parse, may be NULL
delim 0-terminated list of token delimiters, must be non-NULL
saveptr user-provided pointer which points to stored information necessary for av_strtok() to continue scanning the same string. saveptr is updated to point to the next character after the first delimiter found, or to NULL if the string was terminated
Returns:
the found token, or NULL when no token is found

Definition at line 163 of file avstring.c.

Referenced by frei0r_init(), init(), main(), and opt_preset().

static int av_tolower ( int  c  )  [inline, static]

Locale-independent conversion of ASCII characters to lowercase.

Definition at line 186 of file avstring.h.

Referenced by av_strcasecmp(), and av_strncasecmp().

static int av_toupper ( int  c  )  [inline, static]

Locale-independent conversion of ASCII characters to uppercase.

Definition at line 176 of file avstring.h.

Referenced by get_jss_cmd(), jacosub_to_ass(), and upcase_string().


Generated on Fri Oct 26 02:48:04 2012 for FFmpeg by  doxygen 1.5.8