Asterisk - The Open Source Telephony Project GIT-master-3dae2cf
|
String manipulation functions. More...
#include <ctype.h>
#include <limits.h>
#include "asterisk/utils.h"
#include "asterisk/threadstorage.h"
#include "asterisk/astobj2.h"
Go to the source code of this file.
Data Structures | |
struct | ast_str |
Support for dynamic strings. More... | |
Macros | |
#define | __AST_STR_LEN len |
#define | __AST_STR_STR str |
#define | __AST_STR_TS ts |
#define | __AST_STR_USED used |
#define | _ast_str_helper(buf, max_len, append, fmt, ap) __ast_str_helper(buf, max_len, append, fmt, ap, __FILE__, __LINE__, __PRETTY_FUNCTION__) |
#define | _DB1(x) |
#define | AS_OR(a, b) (a && ast_str_strlen(a)) ? ast_str_buffer(a) : (b) |
#define | ast_join(s, len, w) ast_join_delim(s, len, w, -1, ' ') |
Join an array of strings into a single string. More... | |
#define | ast_str_alloca(init_len) |
#define | ast_str_container_alloc(buckets) ast_str_container_alloc_options(AO2_ALLOC_OPT_LOCK_MUTEX, buckets) |
Allocates a hash container for bare strings. More... | |
#define | ast_str_create(init_len) _ast_str_create(init_len, __FILE__, __LINE__, __PRETTY_FUNCTION__) |
Create a malloc'ed dynamic length string. More... | |
#define | ast_str_make_space(buf, new_len) _ast_str_make_space(buf, new_len, __FILE__, __LINE__, __PRETTY_FUNCTION__) |
#define | ast_str_tmp(init_len, __expr) |
Provides a temporary ast_str and returns a copy of its buffer. More... | |
#define | ast_to_camel_case(s) ast_to_camel_case_delim(s, "_") |
Attempts to convert the given string to camel case using an underscore as the specified delimiter. More... | |
#define | AST_YESNO(x) ((x) ? "Yes" : "No") |
return Yes or No depending on the argument. More... | |
#define | DS_ALLOCA ((struct ast_threadstorage *)2) |
#define | DS_MALLOC ((struct ast_threadstorage *)1) |
#define | DS_STATIC ((struct ast_threadstorage *)3) /* not supported yet */ |
#define | S_COR(a, b, c) ({typeof(&((b)[0])) __x = (b); (a) && !ast_strlen_zero(__x) ? (__x) : (c);}) |
returns the equivalent of logic or for strings, with an additional boolean check: second one if not empty and first one is true, otherwise third one. example: S_COR(usewidget, widget, "<no widget>") More... | |
#define | S_OR(a, b) ({typeof(&((a)[0])) __x = (a); ast_strlen_zero(__x) ? (b) : __x;}) |
returns the equivalent of logic or for strings: first one if not empty, otherwise second one. More... | |
Enumerations | |
enum | { AST_DYNSTR_BUILD_FAILED = -1 , AST_DYNSTR_BUILD_RETRY = -2 } |
Error codes from __ast_str_helper() The underlying processing to manipulate dynamic string is done by __ast_str_helper(), which can return a success or a permanent failure (e.g. no memory). More... | |
enum | ast_strsep_flags { AST_STRSEP_STRIP = 0x01 , AST_STRSEP_TRIM = 0x02 , AST_STRSEP_UNESCAPE = 0x04 , AST_STRSEP_ALL = 0x07 } |
Flags for ast_strsep. More... | |
Functions | |
int | __ast_str_helper (struct ast_str **buf, ssize_t max_len, int append, const char *fmt, va_list ap, const char *file, int lineno, const char *func) |
Core functionality of ast_str_(set|append)_va. More... | |
char * | __ast_str_helper2 (struct ast_str **buf, ssize_t max_len, const char *src, size_t maxsrc, int append, int escapecommas) |
struct ast_str * | _ast_str_create (size_t init_len, const char *file, int lineno, const char *func) |
int | _ast_str_make_space (struct ast_str **buf, size_t new_len, const char *file, int lineno, const char *function) |
static int force_inline attribute_pure | ast_begins_with (const char *str, const char *prefix) |
Checks whether a string begins with another. More... | |
int | ast_build_string (char **buffer, size_t *space, const char *fmt,...) |
Build a string in a buffer, designed to be called repeatedly. More... | |
int | ast_build_string_va (char **buffer, size_t *space, const char *fmt, va_list ap) |
Build a string in a buffer, designed to be called repeatedly. More... | |
int | ast_check_digits (const char *arg) |
Check if a string is only digits. More... | |
void | ast_copy_string (char *dst, const char *src, size_t size) |
Size-limited null-terminating string copy. More... | |
static int force_inline attribute_pure | ast_ends_with (const char *str, const char *suffix) |
Checks whether a string ends with another. More... | |
char * | ast_escape (char *dest, const char *s, size_t size, const char *to_escape) |
Escape the 'to_escape' characters in the given string. More... | |
char * | ast_escape_alloc (const char *s, const char *to_escape) |
Escape the 'to_escape' characters in the given string. More... | |
char * | ast_escape_c (char *dest, const char *s, size_t size) |
Escape standard 'C' sequences in the given string. More... | |
char * | ast_escape_c_alloc (const char *s) |
Escape standard 'C' sequences in the given string. More... | |
int attribute_pure | ast_false (const char *val) |
Make sure something is false. Determine if a string containing a boolean value is "false". This function checks to see whether a string passed to it is an indication of an "false" value. It checks to see if the string is "no", "false", "n", "f", "off" or "0". More... | |
char * | ast_generate_random_string (char *buf, size_t size) |
Create a pseudo-random string of a fixed length. More... | |
int | ast_get_time_t (const char *src, time_t *dst, time_t _default, int *consumed) |
Parse a time (integer) string. More... | |
int | ast_get_timeval (const char *src, struct timeval *tv, struct timeval _default, int *consumed) |
Parse a time (float) string. More... | |
int | ast_in_delimited_string (const char *needle, const char *haystack, char delim) |
Check if there is an exact match for 'needle' between delimiters in 'haystack'. More... | |
void | ast_join_delim (char *s, size_t len, const char *const w[], unsigned int size, char delim) |
Join an array of strings into a single string. More... | |
char * | ast_read_line_from_buffer (char **buffer) |
Read lines from a string buffer. More... | |
int | ast_regex_string_to_regex_pattern (const char *regex_string, struct ast_str **regex_pattern) |
Given a string regex_string in the form of "/regex/", convert it into the form of "regex". More... | |
char * | ast_skip_blanks (const char *str) |
Gets a pointer to the first non-whitespace character in a string. More... | |
char * | ast_skip_nonblanks (const char *str) |
Gets a pointer to first whitespace character in a string. More... | |
int | ast_str_append (struct ast_str **buf, ssize_t max_len, const char *fmt,...) |
Append to a thread local dynamic string. More... | |
char * | ast_str_append_escapecommas (struct ast_str **buf, ssize_t maxlen, const char *src, size_t maxsrc) |
Append a non-NULL terminated substring to the end of a dynamic string, with escaping of commas. More... | |
char * | ast_str_append_substr (struct ast_str **buf, ssize_t maxlen, const char *src, size_t maxsrc) |
Append a non-NULL terminated substring to the end of a dynamic string. More... | |
int | ast_str_append_va (struct ast_str **buf, ssize_t max_len, const char *fmt, va_list ap) |
Append to a dynamic string using a va_list. More... | |
char * | ast_str_buffer (const struct ast_str *buf) |
Returns the string buffer within the ast_str buf. More... | |
static force_inline int attribute_pure | ast_str_case_hash (const char *str) |
Compute a hash value on a case-insensitive string. More... | |
int | ast_str_container_add (struct ao2_container *str_container, const char *add) |
Adds a string to a string container allocated by ast_str_container_alloc. More... | |
struct ao2_container * | ast_str_container_alloc_options (enum ao2_alloc_opts opts, int buckets) |
Allocates a hash container for bare strings. More... | |
void | ast_str_container_remove (struct ao2_container *str_container, const char *remove) |
Removes a string from a string container allocated by ast_str_container_alloc. More... | |
int | ast_str_copy_string (struct ast_str **dst, struct ast_str *src) |
static force_inline int attribute_pure | ast_str_hash (const char *str) |
Compute a hash value on a string. More... | |
static force_inline int | ast_str_hash_add (const char *str, int seed) |
Compute a hash value on a string. More... | |
static force_inline int attribute_pure | ast_str_hash_restrict (unsigned int hash) |
Restrict hash value range. More... | |
void | ast_str_reset (struct ast_str *buf) |
Reset the content of a dynamic string. Useful before a series of ast_str_append. More... | |
int | ast_str_set (struct ast_str **buf, ssize_t max_len, const char *fmt,...) |
Set a dynamic string using variable arguments. More... | |
char * | ast_str_set_escapecommas (struct ast_str **buf, ssize_t maxlen, const char *src, size_t maxsrc) |
Set a dynamic string to a non-NULL terminated substring, with escaping of commas. More... | |
char * | ast_str_set_substr (struct ast_str **buf, ssize_t maxlen, const char *src, size_t maxsrc) |
Set a dynamic string to a non-NULL terminated substring. More... | |
int | ast_str_set_va (struct ast_str **buf, ssize_t max_len, const char *fmt, va_list ap) |
Set a dynamic string from a va_list. More... | |
size_t | ast_str_size (const struct ast_str *buf) |
Returns the current maximum length (without reallocation) of the current buffer. More... | |
size_t | ast_str_strlen (const struct ast_str *buf) |
Returns the current length of the string stored within buf. More... | |
struct ast_str * | ast_str_thread_get (struct ast_threadstorage *ts, size_t init_len) |
Retrieve a thread locally stored dynamic string. More... | |
static force_inline char * | ast_str_to_lower (char *str) |
Convert a string to all lower-case. More... | |
static force_inline char * | ast_str_to_upper (char *str) |
Convert a string to all upper-case. More... | |
void | ast_str_trim_blanks (struct ast_str *buf) |
Trims trailing whitespace characters from an ast_str string. More... | |
char * | ast_str_truncate (struct ast_str *buf, ssize_t len) |
Truncates the enclosed string to the given length. More... | |
void | ast_str_update (struct ast_str *buf) |
Update the length of the buffer, after using ast_str merely as a buffer. More... | |
int | ast_strings_equal (const char *str1, const char *str2) |
Compare strings for equality checking for NULL. More... | |
int | ast_strings_match (const char *left, const char *op, const char *right) |
Compares 2 strings using realtime-style operators. More... | |
char * | ast_strip (char *s) |
Strip leading/trailing whitespace from a string. More... | |
char * | ast_strip_quoted (char *s, const char *beg_quotes, const char *end_quotes) |
Strip leading/trailing whitespace and quotes from a string. More... | |
static force_inline int attribute_pure | ast_strlen_zero (const char *s) |
char * | ast_strsep (char **s, const char sep, uint32_t flags) |
Act like strsep but ignore separators inside quotes. More... | |
char * | ast_strsep_quoted (char **s, const char sep, const char quote, uint32_t flags) |
Like ast_strsep() except you can specify a specific quote character. More... | |
char * | ast_tech_to_upper (char *dev_str) |
Convert the tech portion of a device string to upper case. More... | |
char * | ast_to_camel_case_delim (const char *s, const char *delim) |
Attempts to convert the given string to camel case using the specified delimiter. More... | |
char * | ast_trim_blanks (char *str) |
Trims trailing whitespace characters from a string. More... | |
int attribute_pure | ast_true (const char *val) |
Make sure something is true. Determine if a string containing a boolean value is "true". This function checks to see whether a string passed to it is an indication of an "true" value. It checks to see if the string is "yes", "true", "y", "t", "on" or "1". More... | |
char * | ast_unescape_c (char *s) |
Convert some C escape sequences. More... | |
char * | ast_unescape_semicolon (char *s) |
Strip backslash for "escaped" semicolons, the string to be stripped (will be modified). More... | |
String manipulation functions.
Definition in file strings.h.
#define _ast_str_helper | ( | buf, | |
max_len, | |||
append, | |||
fmt, | |||
ap | |||
) | __ast_str_helper(buf, max_len, append, fmt, ap, __FILE__, __LINE__, __PRETTY_FUNCTION__) |
#define AS_OR | ( | a, | |
b | |||
) | (a && ast_str_strlen(a)) ? ast_str_buffer(a) : (b) |
#define ast_join | ( | s, | |
len, | |||
w | |||
) | ast_join_delim(s, len, w, -1, ' ') |
Join an array of strings into a single string.
s | the resulting string buffer |
len | the length of the result buffer, s |
w | an array of strings to join. |
This function will join all of the strings in the array 'w' into a single string. It will also place a space in the result buffer in between each string from 'w'.
#define ast_str_container_alloc | ( | buckets | ) | ast_str_container_alloc_options(AO2_ALLOC_OPT_LOCK_MUTEX, buckets) |
#define ast_str_create | ( | init_len | ) | _ast_str_create(init_len, __FILE__, __LINE__, __PRETTY_FUNCTION__) |
Create a malloc'ed dynamic length string.
init_len | This is the initial length of the string buffer |
#define ast_str_make_space | ( | buf, | |
new_len | |||
) | _ast_str_make_space(buf, new_len, __FILE__, __LINE__, __PRETTY_FUNCTION__) |
#define ast_str_tmp | ( | init_len, | |
__expr | |||
) |
Provides a temporary ast_str and returns a copy of its buffer.
init_len | The initial length of the temporary ast_str needed. |
__expr | An expression that needs the temporary ast_str and returns a char *. |
There are a few query functions scattered around that need an ast_str in which to assemble the results but it's not always convenient to create an ast_str and ensure it's freed just to print a log message. For example:
That's not bad if you only have to do it once but some of our code that deals with streams and codecs is pretty complex and good instrumentation is essential. The aim of this function is to make that easier.
With this macro, the above code can be simplified:
STR_TMP will always be a reference to the temporary ast_str created by the macro. Its scope is limited by the macro so you can use it multiple times without conflict:
#define ast_to_camel_case | ( | s | ) | ast_to_camel_case_delim(s, "_") |
#define AST_YESNO | ( | x | ) | ((x) ? "Yes" : "No") |
#define DS_ALLOCA ((struct ast_threadstorage *)2) |
#define DS_MALLOC ((struct ast_threadstorage *)1) |
#define DS_STATIC ((struct ast_threadstorage *)3) /* not supported yet */ |
anonymous enum |
Error codes from __ast_str_helper() The underlying processing to manipulate dynamic string is done by __ast_str_helper(), which can return a success or a permanent failure (e.g. no memory).
Enumerator | |
---|---|
AST_DYNSTR_BUILD_FAILED | An error has occurred and the contents of the dynamic string are undefined |
AST_DYNSTR_BUILD_RETRY | The buffer size for the dynamic string had to be increased, and __ast_str_helper() needs to be called again after a va_end() and va_start(). This return value is legacy and will no longer be used. |
Definition at line 940 of file strings.h.
enum ast_strsep_flags |
int __ast_str_helper | ( | struct ast_str ** | buf, |
ssize_t | max_len, | ||
int | append, | ||
const char * | fmt, | ||
va_list | ap, | ||
const char * | file, | ||
int | lineno, | ||
const char * | function | ||
) |
Core functionality of ast_str_(set|append)_va.
The arguments to this function are the same as those described for ast_str_set_va except for an addition argument, append. If append is non-zero, this will append to the current string instead of writing over it.
AST_DYNSTR_BUILD_RETRY is a legacy define. It should probably never again be used.
A return of AST_DYNSTR_BUILD_FAILED indicates a memory allocation error.
A return value greater than or equal to zero indicates the number of characters that have been written, not including the terminating '\0'. In the append case, this only includes the number of characters appended.
core handler for dynamic strings. This is not meant to be called directly, but rather through the various wrapper macros ast_str_set(...) ast_str_append(...) ast_str_set_va(...) ast_str_append_va(...)
Definition at line 55 of file strings.c.
References _ast_str_make_space(), AST_DYNSTR_BUILD_FAILED, ast_log_safe(), buf, make_ari_stubs::file, if(), and LOG_VERBOSE.
char * __ast_str_helper2 | ( | struct ast_str ** | buf, |
ssize_t | max_len, | ||
const char * | src, | ||
size_t | maxsrc, | ||
int | append, | ||
int | escapecommas | ||
) |
Definition at line 129 of file strings.c.
References ast_str_make_space, buf, and if().
Referenced by ast_str_append_substr(), ast_str_append_va(), ast_str_set_escapecommas(), and ast_str_set_substr().
|
inline |
|
inline |
Make space in a new string (e.g. to read in data from a file)
Definition at line 827 of file strings.h.
Referenced by __ast_str_helper().
|
static |
Checks whether a string begins with another.
str | String to check. |
prefix | Prefix to look for. |
1 | if str begins with prefix |
0 | otherwise. |
Definition at line 97 of file strings.h.
References ast_assert, NULL, prefix, and str.
Referenced by __init_manager(), aeap_create(), app_event_source_find(), assign_uuid(), ast_ari_callback(), ast_ari_get_docs(), ast_crypt(), ast_http_get_auth(), ast_sendtext_data(), ast_sip_create_dialog_uac(), AST_TEST_DEFINE(), cache_simple(), client_config_apply(), coreshowchannelmap_add_connected_channels(), crypto_get_cert_subject(), curl_header_cb(), explicit_publish_cb(), file_in_modules_dir(), filter_cmp_fn(), geoloc_gml_list_to_xml(), get_object_variables(), handle_incoming_request(), handle_recordfile(), handle_slash(), handle_updates(), handle_validate(), implicit_publish_cb(), match_eventdata(), moh_parse_options(), msg_send(), on_rx_process_symmetric_transport(), play_on_channel(), restrictedFile(), retrieve_cert_from_url(), safe_mkdir(), sendtext_exec(), set_loc_src(), stasis_app_stored_recording_find_by_name(), stasis_app_user_event(), and state_id_by_topic().
int ast_build_string | ( | char ** | buffer, |
size_t * | space, | ||
const char * | fmt, | ||
... | |||
) |
Build a string in a buffer, designed to be called repeatedly.
This is a wrapper for snprintf, that properly handles the buffer pointer and buffer space available.
buffer | current position in buffer to place string into (will be updated on return) |
space | remaining space in buffer (will be updated on return) |
fmt | printf-style format string |
0 | on success |
non-zero | on failure. |
Definition at line 2167 of file utils.c.
References ast_build_string_va(), and result.
Referenced by ast_fax_caps_to_str(), generate_filenames_string(), handle_speechrecognize(), pp_each_extension_helper(), and pp_each_user_helper().
int ast_build_string_va | ( | char ** | buffer, |
size_t * | space, | ||
const char * | fmt, | ||
va_list | ap | ||
) |
Build a string in a buffer, designed to be called repeatedly.
This is a wrapper for snprintf, that properly handles the buffer pointer and buffer space available.
zero | on success. |
non-zero | on failure. |
buffer | current position in buffer to place string into (will be updated on return) |
space | remaining space in buffer (will be updated on return) |
fmt | printf-style format string |
ap | varargs list of arguments for format |
Definition at line 2148 of file utils.c.
References result.
Referenced by ast_build_string().
|
inline |
|
inline |
Size-limited null-terminating string copy.
dst | The destination buffer. |
src | The source string |
size | The size of the destination buffer |
This is similar to strncpy, with two important differences:
Definition at line 425 of file strings.h.
Referenced by __allocate_taskprocessor(), __analog_handle_event(), __analog_ss_thread(), __ast_channel_internal_alloc_with_initializers(), __ast_context_destroy(), __ast_http_load(), __ast_http_post_load(), __ast_pbx_run(), __ast_play_and_record(), __ast_sorcery_object_field_register(), __init_manager(), __schedule_action(), _ast_var_assign(), _get_mohbyname(), _iax2_show_peers_one(), acf_channel_read(), acf_curlopt_helper(), acf_cut_exec(), acf_exception_read(), acf_faxopt_read(), acf_fetch(), acf_iaxvar_read(), acf_if(), acf_isexten_exec(), acf_jabberreceive_read(), acf_odbc_read(), acf_sprintf(), acf_transaction_read(), acf_version_exec(), acf_vm_info(), acl_new(), action_confbridgestartrecord(), action_originate(), action_playback_and_continue(), actual_load_config(), add_action_to_menu_entry(), add_email_attachment(), add_exten_to_pattern_tree(), add_menu_entry(), add_msid_to_stream(), add_redirect(), add_to_queue(), add_vm_recipients_from_string(), adsi_load(), adsi_message(), adsi_process(), aes_helper(), agent_function_read(), alarmreceiver_exec(), alias_mailbox_mapping_create(), alloc_profile(), alloc_signal(), analog_call(), analog_hangup(), analog_ss_thread(), announce_request(), announce_thread(), answer_exec_enable(), aoc_create_ie_data(), aoc_create_ie_data_charging_rate(), aoc_parse_ie_charging_rate(), app_exec(), append_mailbox(), applicationmap_item_alloc(), apply_general_options(), apply_option(), apply_options_full(), ari_channels_handle_originate_with_id(), ast_aoc_s_add_rate_duration(), ast_aoc_s_add_rate_flat(), ast_aoc_s_add_rate_volume(), ast_aoc_set_association_number(), ast_aoc_set_currency_info(), ast_app_group_split_group(), ast_apply_ha(), ast_attended_transfer_message_add_app(), ast_attended_transfer_message_add_merge(), ast_blind_transfer_message_create(), ast_bridge_dtmf_hook(), ast_bridge_features_register(), ast_bucket_alloc(), ast_bucket_file_alloc(), ast_call_forward(), ast_callerid_merge(), ast_callerid_parse(), ast_callerid_split(), ast_category_rename(), ast_cc_extension_monitor_add_dialstring(), ast_cc_get_param(), ast_cdr_format_var(), ast_cdr_setuserfield(), ast_channel_context_set(), ast_channel_destructor(), ast_channel_exten_set(), ast_channel_get_cc_agent_type(), ast_channel_get_device_name(), ast_channel_internal_set_fake_ids(), ast_channel_tenantid_set(), ast_devstate_prov_add(), ast_eivr_getvariable(), ast_escape(), ast_expr(), ast_frame_subclass2str(), ast_frame_type2str(), ast_func_read(), ast_get_enum(), ast_get_extension_data(), ast_get_feature(), ast_get_hint(), ast_get_indication_zone(), ast_get_srv(), ast_get_txt(), ast_http_prefix(), ast_init_logger_for_socket_console(), ast_jb_conf_default(), ast_linear_stream(), ast_makesocket(), ast_media_cache_retrieve(), ast_media_cache_retrieve_metadata(), ast_merge_contexts_and_delete(), ast_moh_files_next(), ast_msg_data_alloc(), ast_multi_channel_blob_add_channel(), ast_presence_state_prov_add(), ast_privacy_check(), ast_privacy_set(), ast_read_image(), ast_remove_hint(), ast_rtp_instance_set_channel_id(), ast_say_date_th(), ast_say_date_with_format_da(), ast_say_date_with_format_de(), ast_say_date_with_format_en(), ast_say_date_with_format_es(), ast_say_date_with_format_fr(), ast_say_date_with_format_gr(), ast_say_date_with_format_is(), ast_say_date_with_format_it(), ast_say_date_with_format_nl(), ast_say_date_with_format_pl(), ast_say_date_with_format_th(), ast_say_date_with_format_vi(), ast_say_date_with_format_zh(), ast_say_datetime_from_now_pt(), ast_say_datetime_th(), ast_say_enumeration_full_da(), ast_say_enumeration_full_de(), ast_say_enumeration_full_en(), ast_say_enumeration_full_is(), ast_say_enumeration_full_vi(), ast_say_number_full_cs(), ast_say_number_full_da(), ast_say_number_full_de(), ast_say_number_full_en_GB(), ast_say_number_full_es(), ast_say_number_full_fr(), ast_say_number_full_gr(), ast_say_number_full_hu(), ast_say_number_full_is(), ast_say_number_full_it(), ast_say_number_full_ja(), ast_say_number_full_nl(), ast_say_number_full_no(), ast_say_number_full_pt(), ast_say_number_full_ru(), ast_say_number_full_se(), ast_say_number_full_th(), ast_say_number_full_vi(), ast_say_number_full_zh(), ast_set_cc_agent_dialstring(), ast_set_cc_callback_sub(), ast_setstate(), ast_sip_cli_traverse_objects(), ast_sip_create_rdata_with_contact(), ast_sip_dtmf_to_str(), ast_sip_get_default_from_user(), ast_sip_get_default_realm(), ast_sip_get_transport_name(), ast_sip_publish_client_get_user_from_uri(), ast_sip_publish_client_get_user_to_uri(), ast_sip_sched_task_get_name(), ast_sorcery_alloc(), ast_sorcery_object_fields_register(), AST_TEST_DEFINE(), ast_to_camel_case_delim(), ast_tryconnect(), ast_tzset(), ast_unregister_indication_country(), ast_var_channels_table(), ast_var_indications(), ast_var_indications_table(), ast_xmldoc_printable(), asterisk_daemon(), audiosocket_request(), auth_http_callback(), authenticate(), authenticate_verify(), begin_dial_channel(), blr_ebl(), bridge_agent_hold_push(), bridge_channel_internal_queue_attended_transfer(), bridge_channel_internal_queue_blind_transfer(), bridge_parking_push(), bridge_profile_alloc(), bridges_scrape_cb(), bucket_file_update_path(), bucket_file_wizard_retrieve(), bucket_wizard_retrieve(), build_conf(), build_context(), build_device(), build_mapping(), build_peer(), build_user(), cache_lookup(), cache_lookup_internal(), calendar_event_read(), calendar_join_attendees(), calendar_query_result_exec(), callerid_feed(), callerid_feed_jp(), callerid_read(), category_set_sublevels(), cc_build_payload(), cc_generic_agent_init(), cdata(), cdr_generic_register(), cdr_object_create_public_records(), cdr_object_format_property(), cdr_object_format_var_internal(), cdr_object_update_party_b_userfield_cb(), cdr_read_callback(), chan_pjsip_add_hold(), chan_pjsip_incoming_response_update_cause(), change_password_realtime(), channel_do_masquerade(), channel_read_pjsip(), channel_read_rtp(), channel_snapshot_connected_create(), channel_snapshot_peer_create(), channels_scrape_cb(), chararray_handler_fn(), check_match(), check_password(), cli_channelstats_print_body(), cli_list_subscriptions_detail(), cli_show_subscriptions_detail(), common_exec(), compile_script(), complete_dpreply(), complete_indications(), conf_exec(), conf_run(), config_function_read(), config_pgsql(), config_text_file_load(), configure_local_rtp(), connectedline_read(), context_table_create_autohints(), copy_error(), copy_menu_entry(), copy_message(), coreshowchannelmap_add_connected_channels(), create_addr(), create_followme_number(), create_parked_subscription_full(), create_queue_member(), create_vmaccount(), crement_function_read(), csv_quote(), curl_header_cb(), cut_internal(), dahdi_call(), dahdi_func_read(), dahdi_handle_event(), dahdi_hangup(), dahdi_new(), dahdi_queryoption(), dahdi_show_channel(), dahdi_show_channels(), db_get_common(), device_state_cb(), device_state_notify_callbacks(), devstate_read(), dial_exec_full(), dialgroup_read(), dialgroup_write(), dialout(), dictate_exec(), disa_exec(), dispatch_thread_handler(), dns_srv_alloc(), do_forward(), dtls_handler(), dtmf_store_framehook(), dump_addr(), dump_byte(), dump_datetime(), dump_int(), dump_ipaddr(), dump_prov_flags(), dump_prov_ies(), dump_samprate(), dump_short(), dump_versioned_codec(), dundi_answer_entity(), dundi_answer_query(), dundi_do_lookup(), dundi_do_precache(), dundi_do_query(), dundi_exec(), dundi_lookup_internal(), dundi_lookup_local(), dundi_precache_internal(), dundi_prop_precache(), dundi_query_eid_internal(), dundi_query_thread(), ebl_callback(), endpoints_scrape_cb(), enum_query_read(), enum_result_read(), env_read(), epoch_to_exchange_time(), eval_sub_read(), evt_gen_auth_method_not_allowed(), evt_gen_chal_resp_failed(), evt_gen_chal_sent(), evt_gen_failed_acl(), evt_gen_inval_acct_id(), evt_gen_inval_password(), evt_gen_inval_transport(), evt_gen_load_avg(), evt_gen_mem_limit(), evt_gen_req_bad_format(), evt_gen_req_no_support(), evt_gen_req_not_allowed(), evt_gen_session_limit(), evt_gen_successful_auth(), evt_gen_unexpected_addr(), extstate_read(), featuremap_get(), fetch_callerid_num(), file_basename(), file_dirname(), file_extension_from_string(), filename_parse(), find_account(), find_agent_callbacks(), find_cache(), find_conf(), find_conf_realtime(), find_engine(), find_or_create(), find_queue_by_name_rt(), find_subchannel_by_name(), find_user_realtime(), findmeexec(), format_log_json(), forward_message(), func_channel_read(), func_get_parkingslot_channel(), func_mixmonitor_read(), func_read(), function_enum(), function_iaxpeer(), function_ltrim(), function_ooh323_read(), function_realtime_read(), function_realtime_readdestroy(), function_rtrim(), function_trim(), gen_header(), general_get(), get_date(), get_destination(), get_ipaddress(), get_name_from_resource(), get_number_str_en(), get_ordinal_str_en(), getdisplaybyname(), getflagbyname(), getkeybyname(), getstatebyname(), getsubbyname(), global_read(), gosub_allocate_frame(), grab_transfer(), group_count_function_read(), group_function_read(), group_function_write(), group_list_function_read(), h264_getjoint(), handle_cli_confbridge_show_bridge_profile(), handle_cli_confbridge_start_record(), handle_cli_iax2_show_cache(), handle_cli_iax2_show_users(), handle_cli_indication_add(), handle_cli_indication_show(), handle_cli_keys_init(), handle_cli_presencestate_list(), handle_cli_test_locales(), handle_cli_ulimit(), handle_command_response(), handle_dial_page(), handle_export_primitives(), handle_select_codec(), handle_select_language(), handle_setcallerid(), handle_setting(), hangupcause_keys_read(), hangupcause_read(), has_voicemail(), hash_read(), headers_to_vars(), iax2_ack_registry(), iax2_append_register(), iax2_exec(), iax2_getpeername(), iax2_register(), iax2_transfer(), iax_frame_subclass2str(), iax_parse_ies(), iax_process_template(), iax_show_provisioning(), iax_template_copy(), iax_template_parse(), ifmodule_read(), iftime(), inboxcount2(), incoming_in_dialog_request(), init_acf_query(), init_logger_chain(), init_profile(), init_state(), inprocess_count(), jb_helper(), jingle_action_session_terminate(), jingle_alloc(), jingle_outgoing_hook(), jingle_request(), join_conference_bridge(), join_queue(), key_dial_page(), key_favorite(), key_history(), key_main_page(), key_select_extension(), key_select_language(), leave_voicemail(), link_topic_proxy(), listfilter(), load_asterisk_conf(), load_config(), load_module(), load_modules(), load_moh_classes(), load_mysql_config(), load_odbc_config(), load_password(), load_realtime_rules(), load_values_config(), load_zonemessages(), local_alloc(), local_read(), lock_read(), log_events(), lookup_iface(), make_email_file(), make_filename(), make_fn(), manager_set_defaults(), math(), mbl_load_adapter(), mbl_load_device(), media_request_helper(), menu_alloc(), message_template_build(), message_template_create(), message_template_parse_filebody(), minivm_accmess_exec(), minivm_account_func_read(), minivm_delete_exec(), minivm_greet_exec(), minivm_mwi_exec(), minivm_notify_exec(), mkintf(), moh_files_alloc(), moh_parse_options(), moh_scan_files(), msg_create_from_file(), msg_data_func_read(), msg_func_read(), my_distinctive_ring(), my_get_callerid(), named_acl_alloc(), named_acl_find(), netconsole(), new_category(), notify_new_message(), notify_option_alloc(), notify_option_handler(), odbc_log(), onOutgoingCall(), ooh323_alloc(), ooh323_call(), ooh323_onReceivedSetup(), ooh323_request(), open_mailbox(), page_exec(), parking_park_call(), parse_bookmark(), parse_config(), parse_naptr(), parse_node(), parse_options(), parse_tag(), parse_tone_zone(), party_id_read(), party_name_read(), party_number_read(), party_subaddress_read(), pbx_builtin_saynumber(), pbx_builtin_sayordinal(), pbx_extension_helper(), pbx_load_config(), pbx_load_users(), pbx_outgoing_attempt(), pbx_retrieve_variable(), pbx_substitute_variables_helper_full_location(), peek_read(), peer_status(), pgsql_reconnect(), pickup_get(), pjsip_acf_dial_contacts_read(), pjsip_set_logger_pcap(), play_message_by_id(), play_record_review(), populate_defaults(), presence_read(), presence_state_notify_callbacks(), private_enum_init(), process_dahdi(), process_precache(), process_request(), profile_set_param(), prometheus_metric_create(), publisher_start(), queue_exec(), queue_function_queuegetchannel(), queue_set_param(), quote(), rcv_mac_addr(), read_exec(), read_header(), read_headers(), read_param(), read_password_from_file(), realtime_common(), realtime_switch_common(), realtimefield_read(), receive_ademco_event(), record_exec(), redirecting_read(), refer_incoming_blind_request(), register_peer_exten(), register_verify(), registrar_contact_delete(), registry_rerequest(), reload_config(), reload_followme(), reload_module(), reload_queue_rules(), reload_single_member(), remove_from_queue(), reschedule_precache(), reset_user_pw(), ring_entry(), rt_extend_conf(), rt_handle_member_record(), run_externnotify(), save_dialstatus(), send_signal(), sendmail(), sendpage(), set(), set_asterisk_conf_path(), set_config(), set_next_mime_type(), set_queue_member_pause(), set_socket_path(), setup_bridge_role(), setup_filestack(), setup_mixmonitor(), setup_privacy_args(), shared_read(), show_entry_history(), show_phone_number(), sip_subscription_to_ami(), smdi_load(), smdi_msg_read(), smdi_read(), sms_exec(), sms_handleincoming(), sms_handleincoming_proto2(), sms_writefile(), socket_process_helper(), socket_read(), softhangup_exec(), sorcery_object_type_alloc(), spawn_dp_lookup(), spawn_mp3(), speech_grammar(), speech_read(), speech_score(), speech_text(), srv_query_read(), srv_result_read(), stasis_app_control_continue(), stat_read(), store_tone_zone_ring_cadence(), subscription_change_alloc(), subscription_established(), subscription_get_generator_from_rdata(), subscription_persistence_update(), substring(), term_color(), timeout_read(), timezone_add(), transport_state_callback(), try_calling(), try_load_key(), trylock_read(), txt_callback(), unistim_request(), unistim_sp(), unistim_ss(), unlock_read(), update_our_aliases(), uridecode(), user_profile_alloc(), vm_authenticate(), vm_change_password(), vm_change_password_shell(), vm_execmain(), vm_mailbox_snapshot_create(), vm_msg_forward(), vm_msg_move(), vm_msg_play(), vm_msg_remove(), vmauthenticate(), wait_for_answer(), wait_for_winner(), while(), write_history(), write_metadata(), xfer_get(), xmpp_client_alloc(), xmpp_client_create_buddy(), xmpp_pak_message(), and xmpp_pak_presence().
|
static |
Checks whether a string ends with another.
str | String to check. |
suffix | Suffix to look for. |
1 | if str ends with suffix |
0 | otherwise. |
Definition at line 116 of file strings.h.
References ast_assert, NULL, and str.
Referenced by ast_ari_callback(), ast_sip_cli_traverse_objects(), AST_TEST_DEFINE(), coreshowchannelmap_add_connected_channels(), format_log_message_ap(), manager_add_filter(), and match_eventdata().
char * ast_escape | ( | char * | dest, |
const char * | s, | ||
size_t | size, | ||
const char * | to_escape | ||
) |
Escape the 'to_escape' characters in the given string.
dest | the escaped string |
s | the source string to escape |
size | The size of the destination buffer |
to_escape | an array of characters to escape |
Definition at line 2034 of file utils.c.
References ast_copy_string(), ast_strlen_zero(), c, escape_sequences, and escape_sequences_map.
Referenced by ast_escape_alloc().
char * ast_escape_alloc | ( | const char * | s, |
const char * | to_escape | ||
) |
Escape the 'to_escape' characters in the given string.
s | the source string to escape |
to_escape | an array of characters to escape |
Definition at line 2132 of file utils.c.
References ast_escape(), and escape_alloc().
char * ast_escape_c | ( | char * | dest, |
const char * | s, | ||
size_t | size | ||
) |
Escape standard 'C' sequences in the given string.
dest | the escaped string |
s | the source string to escape |
size | The size of the destination buffer |
Definition at line 2077 of file utils.c.
References ast_strlen_zero(), c, escape_sequences, and escape_sequences_map.
Referenced by ast_escape_c_alloc().
char * ast_escape_c_alloc | ( | const char * | s | ) |
Escape standard 'C' sequences in the given string.
s | the source string to escape |
Definition at line 2140 of file utils.c.
References ast_escape_c(), and escape_alloc().
Referenced by ast_manager_build_channel_state_string_prefix(), channel_new_callerid(), presence_state_to_ami(), and varset_to_ami().
int attribute_pure ast_false | ( | const char * | val | ) |
Make sure something is false. Determine if a string containing a boolean value is "false". This function checks to see whether a string passed to it is an indication of an "false" value. It checks to see if the string is "no", "false", "n", "f", "off" or "0".
-1 | if "true". |
0 | otherwise, like NUL pointer. |
Definition at line 2216 of file utils.c.
References ast_strlen_zero().
Referenced by acf_faxopt_write(), acf_transaction_write(), action_updateconfig(), actual_load_config(), announce_user_count_all_handler(), aoc_cli_debug_enable(), bool_handler_fn(), boolflag_handler_fn(), build_peer(), build_user(), check_debug(), dahdi_set_dnd(), dahdi_set_mwi(), find_realtime(), function_ooh323_write(), handle_queue_set_member_ringinuse(), hook_write(), init_acf_query(), load_config(), manager_mute_mixmonitor(), manager_queue_member_ringinuse(), parking_feature_flag_cfg(), parse_empty_options(), parse_playtone(), prack_handler(), process_config(), process_dahdi(), read_pjproject_startup_options(), reload_config(), reload_single_member(), rt_handle_member_record(), rtp_reload(), run_agi(), set_config(), sla_build_trunk(), strings_to_mask(), and timers_handler().
char * ast_generate_random_string | ( | char * | buf, |
size_t | size | ||
) |
Create a pseudo-random string of a fixed length.
This function is useful for generating a string whose randomness does not need to be across all time and space, does not need to be cryptographically secure, and needs to fit in a limited space.
This function will write a null byte at the final position in the buffer (buf[size - 1]). So if you pass in a size of 10, then this will generate a random 9-character string.
buf | Buffer to write random string into. |
size | The size of the buffer. |
Definition at line 226 of file strings.c.
References ast_random(), and buf.
Referenced by add_eprofile_to_tdata(), add_rlmi_resource(), create_multipart_body(), generate_content_id_hdr(), and sip_outbound_registration_regc_alloc().
int ast_get_time_t | ( | const char * | src, |
time_t * | dst, | ||
time_t | _default, | ||
int * | consumed | ||
) |
Parse a time (integer) string.
src | String to parse |
dst | Destination |
_default | Value to use if the string does not contain a valid time |
consumed | The number of characters 'consumed' in the string by the parse (see 'man sscanf' for details) |
zero | on success. |
non-zero | on failure. |
Parse a time (integer) string.
Definition at line 2446 of file utils.c.
References ast_strlen_zero(), and NULL.
Referenced by cache_lookup_internal(), dundi_show_cache(), dundi_show_hints(), handle_saydatetime(), load_password(), play_message_datetime(), process_clearcache(), realtime_peer(), and sayunixtime_exec().
int ast_get_timeval | ( | const char * | src, |
struct timeval * | dst, | ||
struct timeval | _default, | ||
int * | consumed | ||
) |
Parse a time (float) string.
src | String to parse |
dst | Destination |
_default | Value to use if the string does not contain a valid time |
consumed | The number of characters 'consumed' in the string by the parse (see 'man sscanf' for details) |
zero | on success. |
non-zero | on failure. |
Parse a time (float) string.
Definition at line 2419 of file utils.c.
References ast_strlen_zero(), and NULL.
Referenced by acf_strftime(), expiration_str2struct(), persistence_expires_str2struct(), and timeval_str2struct().
int ast_in_delimited_string | ( | const char * | needle, |
const char * | haystack, | ||
char | delim | ||
) |
Check if there is an exact match for 'needle' between delimiters in 'haystack'.
needle | The string to search for |
haystack | The string searched in |
delim | The haystack delimiter |
true | If an exact match for needle is in haystack. |
false | otherwise |
Definition at line 433 of file strings.c.
References ast_assert, ast_skip_blanks(), end, and NULL.
Referenced by __manager_event_sessions_va(), ast_json_object_create_vars(), and AST_TEST_DEFINE().
void ast_join_delim | ( | char * | s, |
size_t | len, | ||
const char *const | w[], | ||
unsigned int | size, | ||
char | delim | ||
) |
Join an array of strings into a single string.
s | the resulting string buffer |
len | the length of the result buffer, s |
w | an array of strings to join. |
size | the number of elements to join |
delim | delimiter between elements |
This function will join all of the strings in the array 'w' into a single string. It will also place 'delim' in the result buffer in between each string from 'w'.
Definition at line 2378 of file utils.c.
References len().
Referenced by ast_sip_auths_to_str().
char * ast_read_line_from_buffer | ( | char ** | buffer | ) |
Read lines from a string buffer.
[in,out] | buffer | A pointer to a char * string with either Unix or Windows line endings |
Both '\n' and '\r\n' are treated as single delimiters but consecutive occurrences of the delimiters are NOT considered to be a single delimiter. This preserves blank lines in the input.
macOS line endings ('\r') are not supported at this time.
Definition at line 371 of file strings.c.
References NULL.
Referenced by crypto_get_cert_subject(), filter_cmp_fn(), and parse_simple_message_summary().
int ast_regex_string_to_regex_pattern | ( | const char * | regex_string, |
struct ast_str ** | regex_pattern | ||
) |
Given a string regex_string in the form of "/regex/", convert it into the form of "regex".
This function will trim one leading / and one trailing / from a given input string ast_str regex_pattern must be preallocated before calling this function
0 | on success, non-zero on failure. |
1 | if we only stripped a leading / |
2 | if we only stripped a trailing / |
3 | if we did not strip any / characters |
regex_string | the string containing /regex/ |
regex_pattern | the destination ast_str which will contain "regex" after execution |
Definition at line 2179 of file utils.c.
References ast_str_set(), and ast_str_truncate().
Referenced by ast_manager_hangup_helper(), mwi_mailbox_delete(), and mwi_mailbox_get().
|
inline |
Gets a pointer to the first non-whitespace character in a string.
str | the input string |
Definition at line 161 of file strings.h.
References str.
Referenced by __ast_cli_register(), __astman_get_header(), acf_faxopt_write(), add_redirect(), ast_append_acl(), ast_get_namedgroups(), ast_http_header_parse(), ast_in_delimited_string(), ast_parse_arg(), ast_parse_digest(), ast_sip_header_to_security_mechanism(), ast_skip_nonblanks(), callerid_write(), capture_buildopts_cb(), connectedline_write(), curl_header_callback(), curl_header_cb(), do_say(), dtmf_info_incoming_request(), filter_cmp_fn(), headers_to_vars(), http_request_headers_get(), httpd_process_request(), man_do_variable_value(), next_item(), parse_cdata(), parse_line(), pbx_load_config(), process_description_file(), process_text_line(), redirecting_write(), remove_excess_lws(), rfc3326_use_reason_header(), rfc3329_incoming_response(), rtp_reload(), sdp_fmtp_get(), stackpeek_read(), user_event_hook_cb(), xml_translate(), and xmldoc_get_formatted().
|
inline |
Gets a pointer to first whitespace character in a string.
str | the input string |
Definition at line 204 of file strings.h.
References ast_skip_blanks(), and ast_trim_blanks().
Referenced by __ast_cli_register(), httpd_process_request(), and remove_excess_lws().
|
inline |
Append to a thread local dynamic string.
The arguments, return values, and usage of this function are the same as ast_str_set(), but the new data is appended to the current value.
Definition at line 1139 of file strings.h.
Referenced by __ast_format_cap_get_names(), __manager_event_sessions_va(), __test_cel_generate_peer_str(), _ast_xmldoc_build_seealso(), acf_curl_helper(), acf_odbc_read(), action_agents(), action_createconfig(), action_userevent(), active_channels_to_str_cb(), add_allow_header(), add_bundle_groups(), add_ice_to_stream(), agent_handle_show_specific(), ami_outbound_registration_task(), ami_registrations_aor(), aoc_amount_str(), aoc_d_event(), aoc_display_decoded_debug(), aoc_e_event(), aoc_request_event(), aoc_s_event(), aoc_time_str(), app_exec(), append_channel_vars(), append_event_str_single(), append_json_single(), append_var_and_value_to_filter(), ari_channels_handle_originate_with_id(), ast_aoc_decoded2str(), ast_ari_callback(), ast_ari_channels_create(), ast_ari_get_docs(), ast_ari_recordings_get_stored_file(), ast_ari_response_created(), ast_category_get_templates(), ast_cdr_serialize_variables(), ast_eivr_getvariable(), ast_geoloc_eprofile_to_uri(), ast_get_character_str(), ast_get_digit_str(), ast_get_money_en_dollars_str(), ast_get_phonetic_str(), ast_ha_join(), ast_ha_join_cidr(), ast_json_ipaddr(), ast_log_backtrace(), ast_logger_get_channels(), ast_manager_build_bridge_state_string_prefix(), ast_manager_build_channel_state_string_prefix(), ast_odbc_print_errors(), ast_print_namedgroups(), ast_realtime_encode_chunk(), ast_rtp_lookup_mime_multiple2(), ast_sched_report(), ast_sip_cli_print_sorcery_objectset(), ast_sip_cli_traverse_objects(), ast_sip_contact_to_str(), ast_sip_create_ami_event(), ast_sip_format_contact_ami(), ast_sip_security_mechanisms_to_str(), ast_sip_sorcery_object_to_ami(), ast_statsd_log_string(), ast_str_append_event_header(), ast_str_encode_mime(), ast_str_quote(), ast_str_substitute_variables_full2(), ast_stream_codec_prefs_parse(), ast_stream_codec_prefs_to_str(), ast_stream_create_resolved(), ast_stream_to_str(), ast_stream_topology_to_str(), ast_strings_match(), ast_term_color_code(), AST_TEST_DEFINE(), ast_translate_path_to_str(), ast_variable_list_join(), ast_xmldoc_printable(), astman_send_list_complete(), astman_send_list_complete_start_common(), astman_send_response_full(), attended_transfer_to_ami(), auth_http_callback(), authority_to_str(), build_nonce(), build_notify(), build_path_data(), caldav_get_events_between(), caldav_write_event(), calendar_join_attendees(), CB_ADD(), CB_ADD_LEN(), cc_unique_append(), cdata(), cel_generate_peer_str(), celt_generate_sdp_fmtp(), chanavail_exec(), channel_fax_cb(), channel_hangup_request_cb(), channel_mixmonitor_mute_cb(), cli_alias_passthrough(), cli_aor_print_body(), cli_aor_print_header(), cli_channel_print_body(), cli_channel_print_header(), cli_channelstats_print_body(), cli_channelstats_print_header(), cli_contact_print_body(), cli_contact_print_header(), cli_endpoint_print_body(), cli_endpoint_print_header(), cli_print_body(), cli_print_header(), cli_prompt(), cli_show_subscription_common(), cli_unid_print_body(), cli_unid_print_header(), codec_append_name(), collect_names_cb(), config_odbc(), contactstatus_to_ami(), create_lookup_filter(), curl_write_string_callback(), cut_internal(), dbl_list_expect_forward(), dbl_list_expect_reverse(), derive_category_text(), destroy_curl(), destroy_mysql(), destroy_odbc(), destroy_pgsql(), detect_disconnect(), dump_queue_members(), encmethods_to_str(), epoch_to_exchange_time(), ewscal_write_event(), exchangecal_get_events_between(), exchangecal_write_event(), fetch_response_reader(), file2display(), find_aor2(), format_ami_aor_handler(), format_ami_auth_handler(), format_ami_contactlist_handler(), format_ami_endpoint_transport(), format_ami_endpoints(), format_log_message_ap(), format_str_append_auth(), function_db_keys(), function_realtime_read(), function_realtime_readdestroy(), g729_generate_sdp_fmtp(), generate_status(), generic_http_callback(), geoloc_profile_read(), get_number_str_en(), get_ordinal_str_en(), h263_generate_sdp_fmtp(), h264_generate_sdp_fmtp(), handle_characters(), handle_cli_indication_show(), handle_manager_show_events(), handle_missing_table(), handle_options(), handle_show_translation_path(), handle_show_translation_table(), handle_showchan(), hashkeys_read2(), http_callback(), httpstatus_callback(), ilbc_generate_sdp_fmtp(), jack_str(), list_expect(), list_item_to_str(), listfilter(), load_column_config(), load_config(), load_modules(), local_message_to_ami(), log_action(), log_jack_status(), logger_add_verbose_magic(), manager_json_value_str_append(), meetme_cmd_helper(), multi_object_blob_to_ami(), mwi_generate_body_content(), mwi_subscription_mailboxes_str(), mwi_to_ami(), odbc_log(), opus_generate_sdp_fmtp(), pbx_builtin_serialize_variables(), peerstatus_to_ami(), pgsql_log(), pgsql_reconnect(), phoneprov_callback(), pjsip_acf_dial_contacts_read(), pjsip_aor_function_read(), pjsip_enable_logger_method(), pp_each_extension_helper(), pp_each_user_helper(), print_queue(), print_uptimestr(), process_cors_request(), process_description_file(), process_output(), process_text_line(), prometheus_metric_full_to_string(), prometheus_metric_to_string(), realtime_curl(), realtime_directory(), realtime_ldap_status(), realtime_multi_curl(), realtime_multi_mysql(), realtime_multi_odbc(), realtime_multi_pgsql(), realtime_mysql(), realtime_odbc(), realtime_pgsql(), realtime_sqlite3_destroy(), realtime_sqlite3_helper(), realtime_sqlite3_store(), realtime_sqlite3_update(), realtime_sqlite3_update2(), realtimefield_read(), require_curl(), rtcp_report_to_ami(), security_mechanism_to_str(), send_eivr_event(), send_identify_ami_event(), set_outbound_authentication_credentials(), set_rec_filename(), set_var_to_str(), silk_generate_sdp_fmtp(), sip_aor_to_ami(), sip_cli_print_global(), sip_cli_print_system(), sip_endpoint_to_ami(), sip_endpoints_aors_ami(), sip_sorcery_object_ami_set_type_name(), sip_subscription_to_ami(), siren14_generate_sdp_fmtp(), siren7_generate_sdp_fmtp(), sorcery_function_read(), spandsp_manager_fax_session(), stasis_app_control_snoop(), store_curl(), store_mysql(), store_odbc(), store_pgsql(), str_appender(), strbetween(), strreplace(), substitute_escapes(), test_core_format_generate_sdp_fmtp(), to_ami(), update2_curl(), update2_mysql(), update2_pgsql(), update2_prepare(), update_curl(), update_mysql(), update_odbc(), update_pgsql(), user_authority_to_str(), varlist_to_str(), vp8_generate_sdp_fmtp(), websocket_client_parse_uri(), write_cdr(), write_cel(), xml_copy_escape(), xml_encode_str(), xml_translate(), xmldoc_get_syntax_cmd(), xmldoc_get_syntax_config_object(), xmldoc_get_syntax_manager(), xmldoc_parse_argument(), xmldoc_parse_cmd_enumlist(), xmldoc_parse_enumlist(), xmldoc_parse_example(), xmldoc_parse_info(), xmldoc_parse_option(), xmldoc_parse_optionlist(), xmldoc_parse_para(), xmldoc_parse_parameter(), xmldoc_parse_specialtags(), xmldoc_parse_variable(), xmldoc_parse_variablelist(), xmldoc_string_cleanup(), and xmldoc_string_wrap().
|
inline |
Append a non-NULL terminated substring to the end of a dynamic string, with escaping of commas.
Definition at line 1076 of file strings.h.
References ast_str_set_va(), and buf.
Referenced by acf_odbc_read(), and function_db_keys().
|
inline |
Append a non-NULL terminated substring to the end of a dynamic string.
Definition at line 1062 of file strings.h.
References __ast_str_helper2(), and buf.
Referenced by ast_str_substitute_variables_full2(), file_read(), listfilter(), logger_add_verbose_magic(), write_to_ast_str(), and WriteMemoryCallback().
|
inline |
Append to a dynamic string using a va_list.
Same as ast_str_set_va(), but append to the current content.
buf,max_len,fmt,ap |
Definition at line 1048 of file strings.h.
References __ast_str_helper2(), and buf.
Referenced by __manager_event_sessions_va(), and ast_str_set().
|
inline |
Returns the string buffer within the ast_str buf.
buf | A pointer to the ast_str structure. |
Definition at line 761 of file strings.h.
References buf, len(), and typeof().
Referenced by __ast_format_cap_get_names(), __manager_event_sessions_va(), __queues_show(), _ast_xmldoc_build_arguments(), _ast_xmldoc_build_seealso(), _iax2_show_peers_one(), _xmldoc_build_field(), acf_curl_exec(), acf_curl_helper(), acf_cut_exec(), acf_odbc_read(), acf_odbc_write(), action_agents(), action_confbridgelist_item(), action_coreshowchannels(), action_createconfig(), action_getconfig(), action_getconfigjson(), action_userevent(), add_bundle_groups(), add_crypto_to_stream(), add_eprofile_to_channel(), add_eprofile_to_tdata(), add_hintdevice(), add_ice_to_stream(), add_user_extension(), agent_handle_show_specific(), agent_login_to_ami(), agent_logoff_to_ami(), agent_show_requested(), agi_channel_to_ami(), ALLOC_COMMENT(), ami_outbound_registration_task(), ami_registrations_aor(), ami_subscription_detail(), analog_publish_dnd_state(), aoc_display_decoded_debug(), aoc_to_ami(), aocmessage_get_unit_entry(), ari_channel_thread(), ari_channels_handle_originate_with_id(), ast_agi_send(), ast_ari_callback(), ast_ari_channels_get_channel_var(), ast_ari_get_docs(), ast_cc_agent_set_interfaces_chanvar(), ast_cli(), ast_eivr_getvariable(), ast_func_read(), ast_func_read2(), ast_geoloc_eprofile_to_pidf(), ast_geoloc_eprofile_to_uri(), ast_geoloc_eprofiles_to_pidf(), ast_get_money_en_dollars_str(), ast_http_create_response(), ast_http_send(), ast_json_ipaddr(), ast_json_load_str(), ast_log_backtrace(), ast_logger_get_channels(), ast_manager_hangup_helper(), ast_odbc_ast_str_SQLGetData(), ast_parse_digest(), ast_pbx_exec_application(), ast_print_namedgroups(), ast_realtime_encode_chunk(), ast_rtp_lookup_mime_multiple2(), ast_set_cc_interfaces_chanvar(), ast_sip_append_body(), ast_sip_format_contact_ami(), ast_sockaddr_stringify_fmt(), ast_sounds_get_index_for_file(), ast_statsd_log_full_va(), ast_statsd_log_string(), ast_statsd_log_string_va(), ast_str_encode_mime(), ast_str_get_encoded_str(), ast_str_quote(), ast_str_retrieve_variable(), ast_str_substitute_variables_full2(), ast_str_substring(), ast_stream_codec_prefs_to_str(), ast_stream_create_resolved(), ast_stream_to_str(), ast_stream_topology_to_str(), ast_strings_match(), AST_TEST_DEFINE(), ast_translate_path_to_str(), ast_var_channels_table(), ast_xmldoc_printable(), ast_xmldoc_query(), astman_append(), astman_flush(), astman_send_error_va(), attended_transfer_to_ami(), authority_to_str(), base64_helper(), blacklist_read2(), blind_transfer_to_ami(), bridge_merge_cb(), bridge_snapshot_update(), build_nonce(), build_notify_body(), build_user_routes(), caldav_request(), calendar_join_attendees(), call_pickup_to_ami(), cc_extension_monitor_init(), cc_unique_append(), cdata(), cel_bridge_enter_cb(), cel_bridge_leave_cb(), challenge(), chanavail_exec(), channel_chanspy_start_cb(), channel_chanspy_stop_cb(), channel_dial_cb(), channel_dtmf_begin_cb(), channel_dtmf_end_cb(), channel_enter_cb(), channel_fax_cb(), channel_flash_cb(), channel_get_external_vars(), channel_hangup_handler_cb(), channel_hangup_request_cb(), channel_hold_cb(), channel_leave_cb(), channel_mixmonitor_mute_cb(), channel_moh_start_cb(), channel_snapshot_update(), channel_unhold_cb(), channel_wink_cb(), check_nonce(), cli_alias_passthrough(), cli_list_subscriptions_detail(), cli_match_char_tree(), cli_odbc_read(), cli_odbc_write(), cli_prompt(), cli_show_module_options(), cli_show_module_type(), cli_show_module_types(), cli_show_settings(), cli_show_subscription_common(), cli_show_subscriptions_detail(), codec_prefs_handler(), commit_exec(), conf_start_record(), confbridge_publish_manager_event(), config_curl(), config_mysql(), config_odbc(), config_pgsql(), config_text_file_load(), contacts_to_str(), contactstatus_to_ami(), create_channel_name(), custom_log(), cut_internal(), dahdi_cc_callback(), dahdi_new(), dahdichannel_to_ami(), dbl_list_expect_forward(), dbl_list_expect_reverse(), destroy_curl(), destroy_mysql(), destroy_odbc(), destroy_pgsql(), detect_disconnect(), dialog_info_to_string(), digest_create_request_with_auth(), do_notify(), dump_queue_members(), dump_str_and_free(), dumpchan_exec(), eivr_comm(), endelm(), exchangecal_get_events_between(), exchangecal_request(), exchangecal_write_event(), exec_exec(), exten_state_publisher_cb(), fetch_icalendar(), file2display(), find_aor2(), find_realtime(), find_table(), format_ami_aor_handler(), format_ami_aorlist_handler(), format_ami_auth_handler(), format_ami_authlist_handler(), format_ami_contactlist_handler(), format_ami_endpoint(), format_ami_endpoint_transport(), format_ami_endpoints(), format_ami_resource_lists(), format_log_message_ap(), function_fieldnum_helper(), function_fieldqty_helper(), function_iaxpeer(), function_realtime_read(), function_realtime_readdestroy(), generate_fmtp_attr(), generate_notify_body(), generate_status(), geoloc_config_list_locations(), geoloc_config_show_profiles(), geoloc_eprofile_resolve_varlist(), get_key(), get_languages(), get_number_str_en(), get_ordinal_str_en(), handle_aor(), handle_call_token(), handle_cli_iax2_show_peer(), handle_cli_indication_show(), handle_dbget(), handle_end_element(), handle_exec(), handle_getvariablefull(), handle_manager_show_events(), handle_missing_table(), handle_options(), handle_outgoing_request(), handle_registrations(), handle_show_translation_path(), handle_show_translation_table(), handle_showchan(), hangupcause_keys_read(), hashkeys_read2(), http_callback(), http_post_callback(), iax2_getformatname_multiple(), iax_parse_ies(), is_new_rec_file(), is_valid_uuid(), jack_str(), json_decode_read(), leave_voicemail(), list_expect(), list_item_to_str(), listfilter(), load_column_config(), load_dlopen(), load_modules(), local_message_to_ami(), localnet_to_str(), log_action(), log_attended_transfer(), log_jack_status(), logger_add_verbose_magic(), make_email_file(), manager_bridge_info(), manager_bridge_tech_list(), manager_build_parked_call_string(), manager_generic_msg_cb(), manager_json_array_with_key(), manager_json_obj_with_key(), manager_log(), manager_parking_status_all_lots(), manager_parking_status_single_lot(), match_to_str(), meetme_cmd_helper(), meetme_show_cmd(), meetme_stasis_cb(), module_load_error(), multi_object_blob_to_ami(), multi_user_event_to_ami(), mwi_app_event_cb(), mwi_mailbox_delete(), mwi_mailbox_get(), mwi_to_string(), named_callgroups_to_str(), named_pickupgroups_to_str(), odbc_log(), parked_call_message_response(), parking_lot_cfg_create_extensions(), parse_hint_device(), parse_hint_presence(), pbx_find_extension(), pbx_retrieve_variable(), peerstatus_to_ami(), pgsql_log(), pgsql_reconnect(), phoneprov_callback(), pidf_to_string(), pjsip_acf_dial_contacts_read(), pjsip_enable_logger_method(), pp_each_extension_helper(), pp_each_user_helper(), print_event_instance(), print_queue(), print_uptimestr(), process_description_file(), process_text_line(), prometheus_show_metrics(), publish_basic_channel_event(), publish_channel_alarm(), publish_channel_alarm_clear(), publish_dnd_state(), queue_channel_to_ami(), queue_member_to_ami(), queue_multi_channel_to_ami(), realtime_curl(), realtime_directory(), realtime_ldap_base_ap(), realtime_ldap_status(), realtime_multi_curl(), realtime_multi_mysql(), realtime_multi_odbc(), realtime_multi_pgsql(), realtime_mysql(), realtime_odbc(), realtime_pgsql(), realtime_sqlite3_destroy(), realtime_sqlite3_helper(), realtime_sqlite3_store(), realtime_sqlite3_update(), realtime_sqlite3_update2(), realtimefield_read(), refer_blind_callback(), refer_on_tx_request(), replace(), require_curl(), require_pgsql(), resource_list_recursive_decline(), rm_file(), rollback_exec(), rtcp_report_to_ami(), run_station(), say_filenames(), say_periodic_announcement(), sayfile_exec(), search_directory_sub(), security_event_stasis_cb(), security_event_to_ami_blob(), security_mechanism_to_str(), send_bridge_info_item_cb(), send_bridge_list_item_cb(), send_eivr_event(), send_ews_request_and_parse(), send_identify_ami_event(), send_unsolicited_mwi_notify_to_contact(), sendmail(), sendpage(), sendtext_exec(), set2(), set_format(), shift_pop(), snoop_stasis_thread(), spandsp_manager_fax_session(), sqlite3_escape_column_op(), sqlite3_escape_string_helper(), start_resource_list(), startelm(), statsmaker(), store_curl(), store_mysql(), store_odbc(), store_pgsql(), str_appender(), strbetween(), string_tolower2(), string_toupper2(), strreplace(), substitute_escapes(), system_exec_helper(), system_registry_to_ami(), talking_start_to_ami(), talking_stop_to_ami(), test_2way_function(), test_chan_function(), test_chan_integer(), test_chan_integer_accessor(), test_chan_string(), test_chan_variable(), test_expected_result(), test_files_create(), test_files_get_one(), threadpool_alloc(), transmit_info_dtmf(), try_calling(), tryexec_exec(), unshift_push(), update2_curl(), update2_ldap(), update2_mysql(), update2_odbc(), update2_pgsql(), update2_prepare(), update_caldav(), update_curl(), update_ewscal(), update_exchangecal(), update_mysql(), update_odbc(), update_pgsql(), user_authority_to_str(), validate_location_info(), var_list_from_confidence(), var_list_from_loc_info(), var_list_from_node(), varset_to_ami(), websocket_client_handshake(), write_cdr(), write_cel(), xmldoc_get_formatted(), xmldoc_get_syntax_cmd(), xmldoc_get_syntax_config_object(), xmldoc_get_syntax_config_option(), xmldoc_get_syntax_manager(), xmldoc_parse_cmd_enumlist(), xmldoc_parse_example(), xmldoc_parse_para(), xmldoc_parse_variable(), xmldoc_string_wrap(), xmldoc_update_config_type(), and xpidf_to_string().
|
static |
Compute a hash value on a case-insensitive string.
Uses the same hash algorithm as ast_str_hash, but converts all characters to lowercase prior to computing a hash. This allows for easy case-insensitive lookups in a hash table.
Definition at line 1303 of file strings.h.
References ast_str_hash_restrict(), and str.
Referenced by ast_channel_hash_cb(), ast_tone_zone_hash(), ast_xml_doc_item_hash(), autohint_hash_cb(), bridge_hash_cb(), cache_hash(), calendar_hash_fn(), cdr_all_hash_fn(), cdr_master_hash_fn(), channel_role_hash_cb(), channel_snapshot_hash_cb(), channel_snapshot_uniqueid_hash_cb(), conference_bridge_hash_cb(), config_opt_hash(), featuregroup_hash(), format_hash_cb(), hint_hash(), hintdevice_hash_cb(), media_info_hash(), media_variant_hash(), menu_hash_cb(), moh_class_hash(), notify_option_hash(), pending_members_hash(), protocol_hash_fn(), pvt_hash_cb(), queue_hash_cb(), skel_level_hash(), topic_pool_entry_hash(), tps_hash_cb(), and user_hash_cb().
int ast_str_container_add | ( | struct ao2_container * | str_container, |
const char * | add | ||
) |
Adds a string to a string container allocated by ast_str_container_alloc.
str_container | The container to which to add a string |
add | The string to add to the container |
zero | on success |
non-zero | if the operation failed |
Definition at line 205 of file strings.c.
References AO2_ALLOC_OPT_LOCK_NOLOCK, ao2_alloc_options, ao2_link, ao2_ref, and NULL.
Referenced by add_media_cb(), add_variant_cb(), append_name(), apps_handler(), ast_bridge_snapshot_create(), ast_dns_get_nameservers(), ast_endpoint_add_channel(), AST_TEST_DEFINE(), complete_ari_app(), coreshowchannelmap_add_to_map(), custom_nameserver_handler(), declined_handler(), event_session_alloc(), get_languages(), ip_identify_match_handler(), load_module(), test_cel_peer_strings_match(), and topic_add_subscription().
struct ao2_container * ast_str_container_alloc_options | ( | enum ao2_alloc_opts | opts, |
int | buckets | ||
) |
Allocates a hash container for bare strings.
opts | Options to be provided to the container |
buckets | The number of buckets to use for the hash container |
NULL | if allocation failed |
Definition at line 200 of file strings.c.
References ao2_container_alloc_hash, str_cmp(), str_hash(), and str_sort().
Referenced by action_coreshowchannelmap(), ast_dns_get_nameservers(), custom_nameserver_handler(), endpoint_internal_create(), and ip_identify_match_handler().
void ast_str_container_remove | ( | struct ao2_container * | str_container, |
const char * | remove | ||
) |
Removes a string from a string container allocated by ast_str_container_alloc.
str_container | The container from which to remove a string |
remove | The string to remove from the container |
Definition at line 221 of file strings.c.
References ao2_find, OBJ_NODATA, OBJ_SEARCH_KEY, OBJ_UNLINK, and remove.
Referenced by endpoint_cache_clear(), test_cel_peer_strings_match(), and topic_remove_subscription().
|
static |
Compute a hash value on a string.
This famous hash algorithm was written by Dan Bernstein and is commonly used.
http://www.cse.yorku.ca/~oz/hash.html
Definition at line 1259 of file strings.h.
References ast_str_hash_restrict(), and str.
Referenced by __init_manager(), __manager_event_sessions_va(), alias_hash_cb(), app_hash(), ast_event_append_ie_str(), ast_get_namedgroups(), ast_sorcery_object_id_hash(), bridges_channel_hash_fn(), bridges_hash(), channel_hash(), control_hash(), datastore_hash(), db_hash_fn(), device_state_subscriptions_hash(), dsn_hash(), entry_hash_fn(), event_hash_fn(), event_session_hash(), exten_state_publisher_hash(), formatter_hash(), group_hash_fn(), hook_hash(), internal_state_hash(), jingle_add_ice_udp_candidates_to_transport(), jingle_endpoint_hash(), jingle_session_hash(), lang_hash_fn(), manager_add_filter(), message_subscription_hash_cb(), monitored_transport_hash_fn(), mwi_sub_hash(), outbound_publish_state_hash(), parking_lot_cfg_hash_fn(), peer_hash_cb(), persistent_endpoint_hash(), playback_hash(), pvt_cause_hash_fn(), recording_hash(), registration_state_hash(), sdp_handler_list_hash(), sorcery_memory_cache_hash(), sorcery_memory_cached_object_hash(), sorcery_memory_hash(), stasis_sub_hash(), str_hash(), str_hash_fn(), suspects_hash(), test_vm_api_create_mock_snapshot(), transport_state_hash(), uid_hold_hash_fn(), user_hash_cb(), variable_count_hash_fn(), wait_bridge_hash_fn(), and xmpp_buddy_hash().
|
static |
Compute a hash value on a string.
[in] | str | The string to add to the hash |
[in] | seed | The hash value to start with |
This version of the function is for when you need to compute a string hash of more than one string.
This famous hash algorithm was written by Dan Bernstein and is commonly used.
Definition at line 1285 of file strings.h.
References ast_str_hash_restrict(), and str.
|
static |
Restrict hash value range.
Hash values used all over asterisk are expected to be non-negative (signed) int values. This function restricts an unsigned int hash value to the positive half of the (signed) int values.
Definition at line 1246 of file strings.h.
Referenced by ast_sip_get_distributor_serializer(), ast_str_case_hash(), ast_str_hash(), ast_str_hash_add(), and dialog_associations_hash().
|
inline |
Reset the content of a dynamic string. Useful before a series of ast_str_append.
Definition at line 693 of file strings.h.
References buf.
Referenced by acf_odbc_read(), action_userevent(), app_exec(), ast_cdr_serialize_variables(), ast_func_read2(), ast_get_character_str(), ast_get_digit_str(), ast_get_money_en_dollars_str(), ast_get_phonetic_str(), ast_logger_get_channels(), ast_odbc_print_errors(), ast_realtime_encode_chunk(), ast_str_encode_mime(), ast_str_substitute_variables_full2(), ast_str_substring(), AST_TEST_DEFINE(), ast_translate_path_to_str(), authority_to_str(), CB_RESET(), cli_prompt(), config_text_file_load(), dbl_list_expect_forward(), dbl_list_expect_reverse(), detect_disconnect(), endelm(), file2display(), file_read(), function_db_keys(), geoloc_eprofile_resolve_varlist(), get_languages(), get_number_str_en(), get_ordinal_str_en(), handle_outgoing_request(), handle_registrations(), handle_show_translation_path(), handle_start_element(), list_expect(), listfilter(), load_modules(), logger_add_verbose_magic(), pbx_builtin_serialize_variables(), process_description_file(), realtime_multi_odbc(), realtime_odbc(), realtimefield_read(), resource_list_recursive_decline(), set_rec_filename(), sqlite3_escape_column_op(), sqlite3_escape_string_helper(), start_resource_list(), startelm(), strbetween(), strreplace(), substitute_escapes(), and user_authority_to_str().
|
inline |
Set a dynamic string using variable arguments.
buf | This is the address of a pointer to a struct ast_str which should have been retrieved using ast_str_thread_get. It will need to be updated in the case that the buffer has to be reallocated to accomodate a longer string than what it currently has space for. |
max_len | This is the maximum length to allow the string buffer to grow to. If this is set to 0, then there is no maximum length. If set to -1, we are bound to the current maximum length. |
fmt | This is the format string (printf style) |
All the rest is the same as ast_str_set_va()
Definition at line 1113 of file strings.h.
References ast_str_append_va(), and buf.
Referenced by __ast_format_cap_get_names(), __ast_http_post_load(), __manager_event_sessions_va(), __queues_show(), acf_curl_exec(), acf_curl_helper(), acf_curlopt_helper(), action_agents(), action_createconfig(), add_bundle_groups(), add_crypto_to_stream(), add_eprofile_to_tdata(), add_hintdevice(), add_ice_to_stream(), agent_handle_show_specific(), agent_show_requested(), analog_publish_dnd_state(), aocmessage_get_unit_entry(), ari_channels_handle_originate_with_id(), ast_ari_callback(), ast_extension_state2(), ast_geoloc_eprofile_to_pidf(), ast_geoloc_eprofiles_to_pidf(), ast_http_auth(), ast_http_create_response(), ast_http_error(), ast_http_send(), ast_json_ipaddr(), ast_manager_build_bridge_state_string_prefix(), ast_manager_build_channel_state_string_prefix(), ast_parse_digest(), ast_realtime_encode_chunk(), ast_regex_string_to_regex_pattern(), ast_sched_report(), ast_sip_append_body(), ast_sip_create_ami_event(), ast_sockaddr_stringify_fmt(), ast_sounds_get_index_for_file(), ast_str_encode_mime(), ast_str_expr(), ast_str_get_encoded_str(), ast_str_get_hint(), ast_str_quote(), ast_str_retrieve_variable(), ast_stream_create_resolved(), ast_strings_match(), AST_TEST_DEFINE(), ast_xmldoc_regenerate_doc_item(), astman_send_list_complete_start_common(), astman_send_response_full(), bs_to_exchange_bs(), build_notify(), build_path_data(), caldav_write_event(), cc_extension_monitor_init(), cc_generic_agent_start_monitoring(), cdata(), channel_hold_cb(), cli_list_subscriptions_detail(), cli_match_char_tree(), cli_odbc_read(), cli_prompt(), cli_show_subscriptions_detail(), config_curl(), config_mysql(), config_odbc(), config_pgsql(), create_channel_name(), derive_category_text(), destroy_curl(), destroy_mysql(), destroy_odbc(), destroy_pgsql(), device_state_notify_callbacks(), do_notify(), encmethods_to_str(), ewscal_write_event(), exchangecal_write_event(), extension_presence_state_helper(), file_count_line(), file_format(), find_aor2(), find_realtime(), find_table(), function_fieldnum_helper(), function_fieldqty_helper(), generate_exchange_uuid(), get_ewscal_ids_for(), get_languages(), handle_call_token(), handle_cli_indication_show(), handle_manager_show_events(), handle_missing_table(), handle_outgoing_request(), handle_show_translation_path(), handle_show_translation_table(), handle_uri(), hashkeys_read(), hashkeys_read2(), iax_parse_ies(), init_queue(), is_new_rec_file(), leave_voicemail(), listfilter(), log_attended_transfer(), log_jack_status(), make_email_file(), manager_bridge_info(), manager_bridge_tech_list(), manager_bridges_list(), manager_build_parked_call_string(), manager_json_array_with_key(), manager_json_obj_with_key(), meetme_cmd_helper(), meetme_show_cmd(), meetme_stasis_cb(), mwi_to_string(), odbc_log(), parking_lot_cfg_create_extensions(), parse_ewscal_id(), parse_hint_device(), parse_hint_presence(), passthru(), pgsql_log(), pgsql_reconnect(), phoneprov_callback(), pjsip_aor_function_read(), pjsip_contact_function_read(), pjsip_endpoint_function_read(), presence_state_notify_callbacks(), print_queue(), process_description_file(), process_text_line(), publish_channel_alarm(), publish_channel_alarm_clear(), publish_dnd_state(), queue_set_param(), realtime_curl(), realtime_directory(), realtime_multi_curl(), realtime_multi_mysql(), realtime_multi_odbc(), realtime_multi_pgsql(), realtime_mysql(), realtime_odbc(), realtime_pgsql(), realtime_sqlite3_destroy(), realtime_sqlite3_helper(), realtime_sqlite3_store(), realtime_sqlite3_update(), realtime_sqlite3_update2(), refer_blind_callback(), replace(), require_curl(), require_pgsql(), run_station(), search_directory_sub(), security_event_stasis_cb(), security_mechanism_to_str(), sendmail(), sendpage(), set_rec_filename(), shift_pop(), sorcery_function_read(), stackpeek_read(), startelm(), stasis_app_control_snoop(), static_callback(), statsmaker(), store_curl(), store_mysql(), store_odbc(), store_pgsql(), system_registry_to_ami(), test_2way_function(), test_chan_variable(), test_files_create(), threadpool_alloc(), transmit_info_dtmf(), try_calling(), unshift_push(), update2_curl(), update2_mysql(), update2_pgsql(), update2_prepare(), update_curl(), update_mysql(), update_odbc(), update_pgsql(), varset_to_ami(), websocket_bad_request(), websocket_client_parse_uri(), xmldoc_build_documentation_item(), xmldoc_get_syntax_config_object(), and xmldoc_get_syntax_config_option().
|
inline |
Set a dynamic string to a non-NULL terminated substring, with escaping of commas.
Definition at line 1069 of file strings.h.
References __ast_str_helper2(), and buf.
Referenced by acf_curl_helper(), and realtimefield_read().
|
inline |
Set a dynamic string to a non-NULL terminated substring.
Definition at line 1055 of file strings.h.
References __ast_str_helper2(), and buf.
Referenced by ast_str_substitute_variables_full2(), and set_rec_filename().
|
inline |
Set a dynamic string from a va_list.
buf | This is the address of a pointer to a struct ast_str. If it is retrieved using ast_str_thread_get, the struct ast_threadstorage pointer will need to be updated in the case that the buffer has to be reallocated to accommodate a longer string than what it currently has space for. |
max_len | This is the maximum length to allow the string buffer to grow to. If this is set to 0, then there is no maximum length. |
fmt | This is the format string (printf style) |
ap | This is the va_list |
Example usage (the first part is only for thread-local storage)
Definition at line 1030 of file strings.h.
References _ast_str_helper, and buf.
Referenced by ast_agi_send(), ast_cli(), ast_statsd_log_full_va(), ast_statsd_log_string_va(), ast_str_append_escapecommas(), ast_xmldoc_query(), astman_append(), astman_send_error_va(), format_log_message_ap(), and module_load_error().
|
inline |
Returns the current maximum length (without reallocation) of the current buffer.
buf | A pointer to the ast_str structure. |
Definition at line 742 of file strings.h.
References buf.
Referenced by ari_channels_handle_originate_with_id(), ast_func_read(), ast_func_read2(), ast_odbc_ast_str_SQLGetData(), ast_str_get_encoded_str(), AST_TEST_DEFINE(), base64_helper(), blacklist_read2(), dialog_info_to_string(), handle_dbget(), load_config(), pbx_find_extension(), pidf_to_string(), realtime_multi_odbc(), realtime_odbc(), refer_on_tx_request(), set2(), sqlite3_escape_column_op(), sqlite3_escape_string_helper(), string_tolower2(), string_toupper2(), write_to_ast_str(), and xpidf_to_string().
|
inline |
Returns the current length of the string stored within buf.
buf | A pointer to the ast_str structure. |
Definition at line 730 of file strings.h.
References buf.
Referenced by _ast_xmldoc_build_arguments(), _xmldoc_build_field(), acf_curl_helper(), acf_odbc_read(), action_getconfig(), action_getconfigjson(), ALLOC_COMMENT(), ast_agi_send(), ast_cli(), ast_get_character_str(), ast_get_digit_str(), ast_get_phonetic_str(), ast_http_send(), ast_odbc_print_errors(), ast_statsd_log_string(), ast_str_encode_mime(), ast_str_expr(), ast_str_substitute_variables_full2(), ast_str_substring(), AST_TEST_DEFINE(), ast_var_channels_table(), authority_to_str(), base64_helper(), blacklist_read2(), build_cc_interfaces_chanvar(), build_notify(), caldav_get_events_between(), caldav_request(), cc_extension_monitor_init(), cdata(), chanavail_exec(), cli_show_module_options(), cli_show_module_type(), cli_show_module_types(), collect_names_cb(), config_mysql(), config_text_file_load(), cut_internal(), destroy_mysql(), detect_disconnect(), dump_queue_members(), encmethods_to_str(), endelm(), exchangecal_request(), fetch_icalendar(), find_table(), function_fieldnum_helper(), function_fieldqty_helper(), generate_fmtp_attr(), get_key(), handle_dbget(), handle_end_element(), handle_showchan(), hangupcause_keys_read(), hashkeys_read2(), http_callback(), json_decode_read(), listfilter(), load_column_config(), load_config(), load_dlopen(), load_modules(), manager_log(), odbc_log(), opus_generate_sdp_fmtp(), pgsql_log(), pgsql_reconnect(), pjsip_acf_dial_contacts_read(), pjsip_enable_logger_method(), print_uptimestr(), realtime_multi_mysql(), realtime_multi_odbc(), realtime_mysql(), realtime_odbc(), replace(), say_filenames(), say_periodic_announcement(), send_ews_request_and_parse(), set_outbound_authentication_credentials(), set_rec_filename(), shift_pop(), store_mysql(), system_exec_helper(), test_create_joint(), unshift_push(), update2_mysql(), update_caldav(), update_exchangecal(), update_mysql(), user_authority_to_str(), write_cdr(), write_cel(), write_to_ast_str(), xmldoc_get_formatted(), and xmldoc_parse_variable().
|
inline |
Retrieve a thread locally stored dynamic string.
ts | This is a pointer to the thread storage structure declared by using the AST_THREADSTORAGE macro. If declared with AST_THREADSTORAGE(my_buf, my_buf_init), then this argument would be (&my_buf). |
init_len | This is the initial length of the thread's dynamic string. The current length may be bigger if previous operations in this thread have caused it to increase. |
Example usage:
Definition at line 909 of file strings.h.
References buf, make_ari_stubs::file, and NULL.
Referenced by __manager_event_sessions_va(), acf_curl_helper(), acf_odbc_read(), acf_odbc_write(), action_userevent(), add_hintdevice(), ast_agi_send(), ast_cli(), ast_extension_state2(), ast_odbc_print_errors(), ast_sockaddr_stringify_fmt(), ast_statsd_log_full_va(), ast_statsd_log_string_va(), astman_append(), astman_send_error_va(), astman_send_list_complete_start_common(), astman_send_response_full(), cli_odbc_read(), cli_odbc_write(), config_curl(), config_mysql(), config_odbc(), config_pgsql(), custom_log(), destroy_curl(), destroy_mysql(), destroy_odbc(), destroy_pgsql(), dumpchan_exec(), extension_presence_state_helper(), find_table(), format_log_message_ap(), function_fieldnum_helper(), function_fieldqty_helper(), handle_showchan(), json_decode_read(), listfilter(), logger_add_verbose_magic(), pbx_find_extension(), realtime_curl(), realtime_directory(), realtime_multi_curl(), realtime_multi_mysql(), realtime_multi_odbc(), realtime_multi_pgsql(), realtime_mysql(), realtime_odbc(), realtime_pgsql(), realtimefield_read(), require_curl(), search_directory_sub(), security_event_stasis_cb(), shift_pop(), sqlite3_escape_column_op(), sqlite3_escape_string_helper(), store_curl(), store_mysql(), store_odbc(), store_pgsql(), strbetween(), strreplace(), substitute_escapes(), system_exec_helper(), unshift_push(), update2_curl(), update2_mysql(), update2_odbc(), update2_pgsql(), update2_prepare(), update_curl(), update_mysql(), update_odbc(), and update_pgsql().
|
static |
Convert a string to all lower-case.
str | The string to be converted to lower case |
str | the char* passed in for convenience |
Definition at line 1321 of file strings.h.
References str.
Referenced by apps_handler(), ast_ari_endpoints_refer_to_endpoint(), ast_ari_endpoints_send_message_to_endpoint(), ast_uuid_to_str(), cel_track_app(), curl_header_callback(), get_user_agent(), and parse_simple_message_summary().
|
static |
Convert a string to all upper-case.
str | The string to be converted to upper case |
str | the char* passed in for convenience |
Definition at line 1342 of file strings.h.
References str.
Referenced by ast_rtp_engine_load_format().
|
inline |
Trims trailing whitespace characters from an ast_str string.
buf | A pointer to the ast_str string. |
Definition at line 719 of file strings.h.
References buf.
Referenced by acf_curl_helper(), process_text_line(), and xmldoc_string_cleanup().
|
inline |
Truncates the enclosed string to the given length.
buf | A pointer to the ast_str structure. |
len | Maximum length of the string. If len is larger than the current maximum length, things will explode. If it is negative at most -len characters will be trimmed off the end. |
Definition at line 786 of file strings.h.
Referenced by __test_cel_generate_peer_str(), _ast_xmldoc_build_arguments(), active_channels_to_str(), ast_regex_string_to_regex_pattern(), ast_sip_security_mechanisms_to_str(), ast_str_substring(), build_cc_interfaces_chanvar(), cel_generate_peer_str(), contacts_to_str(), hashkeys_read2(), jack_str(), list_item_to_str(), opus_generate_sdp_fmtp(), pjsip_acf_dial_contacts_read(), send_eivr_event(), set_outbound_authentication_credentials(), set_var_to_str(), sorcery_function_read(), test_create_joint(), xmldoc_get_formatted(), and xmldoc_string_wrap().
|
inline |
Update the length of the buffer, after using ast_str merely as a buffer.
buf | A pointer to the ast_str string. |
Definition at line 703 of file strings.h.
References buf.
Referenced by ast_func_read2(), ast_odbc_ast_str_SQLGetData(), ast_str_get_encoded_str(), ast_str_substring(), base64_helper(), blacklist_read2(), cli_show_subscription_common(), dialog_info_to_string(), handle_dbget(), pidf_to_string(), realtime_multi_odbc(), realtime_odbc(), sqlite3_escape_column_op(), sqlite3_escape_string_helper(), string_tolower2(), string_toupper2(), and xpidf_to_string().
int ast_strings_equal | ( | const char * | str1, |
const char * | str2 | ||
) |
Compare strings for equality checking for NULL.
This function considers NULL values as non-strings, thus a false condition. This means that it will return false if one, or both of the given values are NULL (i.e. two NULLs are not equal strings).
str1 | The string to compare to str2 |
str2 | The string to compare to str1 |
true | if valid strings and equal. |
false | otherwise. |
Definition at line 238 of file strings.c.
Referenced by app_event_filter_matched(), ast_geoloc_gml_validate_varlist(), check_x5u_url(), config_object_cli_show(), geoloc_civicaddr_list_to_xml(), geoloc_gml_list_to_xml(), geoloc_profile_read(), geoloc_profile_write(), is_media_state_valid(), is_pidf_lo(), load_realtime_musiconhold(), resolve_refresh_media_states(), set_outbound_authentication_credentials(), and uom_validator().
int ast_strings_match | ( | const char * | left, |
const char * | op, | ||
const char * | right | ||
) |
Compares 2 strings using realtime-style operators.
left | The left side of the equation |
op | The operator to apply |
right | The right side of the equation |
1 | matches |
0 | doesn't match |
Operators: "=", "!=", "<", "<=", ">", ">=": If both left and right can be converted to float, then they will be compared as such. Otherwise the result will be derived from strcmp(left, right). "regex": The right value will be compiled as a regular expression and matched against the left value. "like": Any '' character in the right value will be converted to '.*' and the resulting string will be handled as a regex. NULL , "": If the right value starts and ends with a '/' then it will be processed as a regex. Otherwise, same as "=".
Definition at line 247 of file strings.c.
References ast_str_alloca, ast_str_append(), ast_str_buffer(), ast_str_set(), ast_strdupa, ast_strlen_zero(), NULL, regex(), and strsep().
Referenced by AST_TEST_DEFINE(), and ast_variables_match().
|
inline |
Strip leading/trailing whitespace from a string.
s | The string to be stripped (will be modified). |
This functions strips all leading and trailing whitespace characters from the input string, and returns a pointer to the resulting string. The string is modified in place.
Definition at line 223 of file strings.h.
Referenced by acf_if(), add_menu_entry(), ami_sip_qualify(), apps_handler(), aqm_exec(), ari_channels_handle_originate_with_id(), ast_ari_channels_create(), ast_callerid_parse(), ast_el_add_history(), ast_format_cap_update_by_allow_disallow(), ast_geoloc_eprofile_create_from_uri(), ast_get_namedgroups(), ast_playtones_start(), ast_sip_auth_vector_init(), ast_sip_for_each_aor(), ast_sip_location_retrieve_contact_and_aor_from_list_filtered(), ast_strip_quoted(), ast_strsep(), ast_strsep_quoted(), ast_variable_list_from_quoted_string(), ast_vector_string_split(), ast_websocket_uri_cb(), bridge_create_common(), build_calendar(), build_profile(), chanavail_exec(), check_blacklist(), cli_qualify(), cli_reload_qualify_endpoint(), cli_show_qualify_endpoint(), config_text_file_load(), create_unsolicited_mwi_subscriptions(), dial_exec_full(), eivr_comm(), events_handler(), file_in_modules_dir(), find_aor2(), find_aor_for_resource(), find_aor_name(), func_read(), function_amiclient(), global_loaded(), h263_parse_sdp_fmtp(), h264_parse_sdp_fmtp(), header_identify_match_check(), ident_handler(), ip_identify_apply(), ip_identify_match_handler(), list_item_handler(), load_column_config(), load_config(), make_components(), manager_add_filter(), mwi_on_aor(), mwi_validate_for_aor(), notify_endpoint(), page_exec(), parse_cookies(), pbx_builtin_background(), pbx_load_config(), permanent_uri_handler(), pjsip_acf_dial_contacts_read(), process_text_line(), read_header(), read_headers(), realtime_multi_mysql(), realtime_multi_odbc(), realtime_multi_pgsql(), realtime_odbc(), realtime_pgsql(), refer_blind_callback(), reload_single_member(), restrictedFile(), send_unsolicited_mwi_notify(), set(), sip_options_synchronize_endpoint(), store_tone_zone_ring_cadence(), and userevent_exec().
char * ast_strip_quoted | ( | char * | s, |
const char * | beg_quotes, | ||
const char * | end_quotes | ||
) |
Strip leading/trailing whitespace and quotes from a string.
s | The string to be stripped (will be modified). |
beg_quotes | The list of possible beginning quote characters. |
end_quotes | The list of matching ending quote characters. |
This functions strips all leading and trailing whitespace characters from the input string, and returns a pointer to the resulting string. The string is modified in place.
It can also remove beginning and ending quote (or quote-like) characters, in matching pairs. If the first character of the string matches any character in beg_quotes, and the last character of the string is the matching character in end_quotes, then they are removed from the string.
Examples:
Definition at line 1818 of file utils.c.
References ast_strip().
Referenced by applicationmap_handler(), ast_callerid_parse(), ast_sip_validate_uri_length(), ast_strsep(), ast_strsep_quoted(), dialog_info_generate_body_content(), hfp_parse_clip(), iftime(), load_values_config(), parse_cookies(), parse_dial_string(), pidf_allocate_body(), set_redirecting_reason(), and xpidf_allocate_body().
|
static |
Definition at line 65 of file strings.h.
Referenced by __analog_handle_event(), __analog_ss_thread(), __ast_bridge_technology_register(), __ast_bucket_scheme_register(), __ast_callerid_generate(), __ast_channel_alloc_ap(), __ast_channel_internal_alloc_with_initializers(), __ast_cli_generator(), __ast_cli_register(), __ast_datastore_alloc(), __ast_format_cache_get(), __ast_http_load(), __ast_pbx_run(), __ast_request_and_dial(), __ast_sorcery_apply_config(), __ast_sorcery_object_type_insert_wizard(), __ast_sorcery_wizard_register(), __astman_get_header(), __has_voicemail(), __init_manager(), __manager_event_sessions_va(), __queues_show(), __ssl_setup(), __state_find_or_add(), _crypto_load_cert_store(), _crypto_load_crl_store(), _iax2_show_peers_one(), acf_abs_exec(), acf_curl_exec(), acf_curl_write(), acf_if(), acf_isexten_exec(), acf_jabberreceive_read(), acf_jabberstatus_read(), acf_max_exec(), acf_meetme_info(), acf_min_exec(), acf_odbc_read(), acf_odbc_write(), acf_rand_exec(), acf_retrieve_docs(), acf_strptime(), acf_transaction_read(), acf_transaction_write(), acf_version_exec(), acf_vm_info(), acf_vmcount_exec(), acl_to_str(), aco_option_register_deprecated(), aco_process_var(), aco_set_defaults(), action_add_agi_cmd(), action_agent_logoff(), action_agents(), action_aoc_de_message(), action_aoc_s_submessage(), action_aocmessage(), action_atxfer(), action_blind_transfer(), action_bridge(), action_cancel_atxfer(), action_challenge(), action_command(), action_confbridgekick(), action_confbridgelist(), action_confbridgelistrooms(), action_confbridgesetsinglevideosrc(), action_confbridgestartrecord(), action_confbridgestoprecord(), action_coresettings(), action_coreshowchannelmap(), action_coreshowchannels(), action_corestatus(), action_dahdidialoffhook(), action_dahdidndoff(), action_dahdidndon(), action_dahdishowchannels(), action_dahdishowstatus(), action_devicestatelist(), action_events(), action_extensionstate(), action_extensionstatelist(), action_filter(), action_getconfig(), action_getconfigjson(), action_getvar(), action_listcategories(), action_lock_unlock_helper(), action_mailboxcount(), action_mailboxstatus(), action_meetmelist(), action_meetmelistrooms(), action_messagesend(), action_mute_unmute_helper(), action_originate(), action_ping(), action_presencestate(), action_presencestatelist(), action_redirect(), action_sendtext(), action_setvar(), action_status(), action_timeout(), action_transfer(), action_transferhangup(), action_updateconfig(), action_waitevent(), actual_load_config(), add_action_to_menu_entry(), add_calltoken_ignore(), add_cert_expiration_to_astdb(), add_diversion_header(), add_extension(), add_format_information_cb(), add_header(), add_header_from_channel_var(), add_hints(), add_history_info_header(), add_item(), add_menu_entry(), add_msid_to_stream(), add_security_headers(), add_vm_recipients_from_string(), admin_exec(), adsi_exec(), adsi_input_format(), adsi_message(), advanced_options(), aes_helper(), agent_alert(), agent_function_read(), agent_handle_logoff_cmd(), agent_handle_show_specific(), agent_login_channel_config(), agent_login_exec(), agent_pvt_destructor(), agent_request_exec(), agent_show_requested(), agi_exec_full(), agi_handle_command(), alarmreceiver_exec(), ami_register(), ami_show_endpoint(), ami_sip_qualify(), ami_unregister(), analog_call(), analog_ss_thread(), anonymous_identify(), answer_exec_enable(), aoc_create_ie_data(), aoc_create_ie_data_charging_rate(), aoc_parse_ie_charging_rate(), aoc_send_as_xml(), aoc_to_ami(), aocmessage_get_unit_entry(), aor_apply_handler(), app_event_filter_set(), app_exec(), app_is_subscribed_bridge_id(), app_is_subscribed_channel_id(), app_is_subscribed_endpoint_id(), app_notify(), app_subscribe(), appdata_match(), append_mailbox(), append_mailbox_mapping(), append_source_stream(), append_transaction(), append_vmu_info_astman(), applicationmap_handler(), apply_general_options(), apply_option_timeout(), apply_options_full(), apply_outgoing(), apply_peer(), apps_handler(), aqm_exec(), ari_channels_handle_originate_with_id(), ari_channels_handle_snoop_channel(), ari_originate_dial(), as_check_common_config(), assign_and_insert(), ast_acl_output(), ast_add_extension2_lockopt(), ast_agi_register(), ast_aoc_s_add_rate_duration(), ast_aoc_s_add_rate_flat(), ast_aoc_s_add_rate_volume(), ast_aoc_set_association_number(), ast_aoc_set_currency_info(), ast_app_getdata_full(), ast_app_getdata_terminator(), ast_app_group_get_count(), ast_app_group_match_get_count(), ast_app_group_set_channel(), ast_app_group_split_group(), ast_app_run_sub(), ast_append_acl(), ast_apply_acl_internal(), ast_ari_applications_subscribe(), ast_ari_asterisk_get_global_var(), ast_ari_asterisk_set_global_var(), ast_ari_bridges_add_channel(), ast_ari_bridges_create_with_id(), ast_ari_channels_continue_in_dialplan(), ast_ari_channels_create(), ast_ari_channels_dial(), ast_ari_channels_external_media(), ast_ari_channels_get_channel_var(), ast_ari_channels_hangup(), ast_ari_channels_mute(), ast_ari_channels_redirect(), ast_ari_channels_send_dtmf(), ast_ari_channels_set_channel_var(), ast_ari_channels_unmute(), ast_ari_config_validate_user(), ast_ari_events_user_event(), ast_audiosocket_connect(), ast_audiosocket_init(), ast_base64decode_string(), ast_base64encode_string(), ast_base64url_decode_string(), ast_base64url_encode_string(), ast_bridge_add_channel(), ast_bridge_call_with_flags(), ast_bridge_channel_write_hold(), ast_bridge_features_enable(), ast_bridge_features_register(), ast_bridge_get_snapshot_by_uniqueid(), ast_bridge_read_after_goto(), ast_bridge_set_after_go_on(), ast_bridge_setup_after_goto(), ast_bridge_snapshot_to_json(), ast_bridge_timelimit(), ast_bridge_transfer_attended(), ast_bucket_alloc(), ast_bucket_file_alloc(), ast_bucket_file_retrieve(), ast_bucket_file_temporary_destroy(), ast_bucket_retrieve(), ast_build_timing(), ast_call_forward(), ast_cc_is_recall(), ast_cdr_format_var(), ast_cdr_getvar(), ast_cdr_serialize_variables(), ast_cel_backend_register(), ast_cel_fabricate_channel_from_event(), ast_channel_by_exten_cb(), ast_channel_by_name_cb(), ast_channel_by_uniqueid_cb(), ast_channel_connected_line_sub(), ast_channel_get_by_name_prefix(), ast_channel_hash_cb(), ast_channel_internal_setup_topics(), ast_channel_publish_dial_forward(), ast_channel_publish_dial_internal(), ast_channel_redirecting_sub(), ast_channel_snapshot_cep_equal(), ast_channel_snapshot_get_latest(), ast_channel_snapshot_get_latest_by_name(), ast_channel_snapshot_to_json(), ast_channel_tenantid_set(), ast_cli_complete(), ast_cli_perms_init(), ast_context_remove_extension_callerid2(), ast_control_tone(), ast_datastores_add(), ast_datastores_alloc_datastore(), ast_db_deltree(), ast_dns_resolve(), ast_dns_resolve_ipv6_and_ipv4(), ast_dns_resolve_recurring(), ast_dns_resolver_register(), ast_dns_resolver_set_result(), ast_dnsmgr_get_family(), ast_eivr_senddtmf(), ast_endpoint_add_channel(), ast_endpoint_create(), ast_endpoint_latest_snapshot(), ast_endpoint_set_max_channels(), ast_endpoint_set_state(), ast_endpoint_snapshot_create(), ast_escape(), ast_escape_c(), ast_explicit_goto(), ast_false(), ast_format_cache_set(), ast_format_cap_update_by_allow_disallow(), ast_frame_dump(), ast_geoloc_datastore_create(), ast_geoloc_datastore_create_from_profile_name(), ast_geoloc_eprofile_create_from_uri(), ast_geoloc_eprofile_refresh_location(), ast_geoloc_eprofile_to_pidf(), ast_geoloc_eprofile_to_uri(), ast_geoloc_eprofiles_to_pidf(), ast_geoloc_get_location(), ast_geoloc_get_profile(), ast_get_chan_applicationmap(), ast_get_encoded_char(), ast_get_enum(), ast_get_group(), ast_get_indication_zone(), ast_get_money_en_dollars_str(), ast_get_namedgroups(), ast_get_time_t(), ast_get_timeval(), ast_http_create_response(), ast_http_get_json(), ast_http_get_post_vars(), ast_http_header_parse(), ast_http_send(), ast_iax2_new(), ast_include_new(), ast_iostream_start_tls(), ast_is_valid_string(), ast_jb_read_conf(), ast_json_to_ast_variables(), ast_json_vpack(), ast_linear_stream(), ast_load_realtime_fields(), ast_logger_create_channel(), ast_makesocket(), ast_manager_build_bridge_state_string_prefix(), ast_manager_build_channel_state_string_prefix(), ast_manager_hangup_helper(), ast_manager_register2(), ast_media_cache_create_or_update(), ast_media_cache_delete(), ast_media_cache_exists(), ast_media_cache_retrieve(), ast_media_cache_retrieve_metadata(), ast_media_get_description(), ast_media_get_format_cap(), ast_media_index_update_for_file(), ast_module_check(), ast_moh_files_next(), ast_msg_send(), ast_multi_channel_blob_add_channel(), ast_multi_channel_blob_get_channel(), ast_multi_channel_blob_get_channels(), ast_multicast_rtp_create_options(), ast_multicast_rtp_options_get_format(), ast_mwi_mailbox_alloc(), ast_mwi_mailbox_delete(), ast_mwi_mailbox_get(), ast_parse_arg(), ast_parse_digest(), ast_pbx_exec_application(), ast_pbx_hangup_handler_push(), ast_pbx_outgoing_app_predial(), ast_phoneprov_add_extension(), ast_phoneprov_provider_register(), ast_pickup_call(), ast_playtones_start(), ast_privacy_set(), ast_publish_device_state_full(), ast_queue_hold(), ast_redirecting_reason_name(), ast_refer_send(), ast_register_application2(), ast_register_indication(), ast_remotecontrol(), ast_rtp_dtls_cfg_parse(), ast_rtp_dtls_cfg_validate(), ast_rtp_engine_register2(), ast_rtp_glue_register2(), ast_rtp_instance_new(), ast_rtp_publish_rtcp_message(), ast_sendtext(), ast_sendtext_data(), ast_set_cc_agent_dialstring(), ast_set_cc_callback_sub(), ast_set_hangupsource(), ast_set_indication_country(), ast_sip_auth_vector_init(), ast_sip_cli_traverse_objects(), ast_sip_create_ami_event(), ast_sip_create_dialog_uac(), ast_sip_create_rdata_with_contact(), ast_sip_create_subscription(), ast_sip_default_outbound_endpoint(), ast_sip_for_each_aor(), ast_sip_format_contact_ami(), ast_sip_get_host_ip(), ast_sip_get_transport_name(), ast_sip_location_create_contact(), ast_sip_location_retrieve_contact_and_aor_from_list_filtered(), ast_sip_message_apply_transport(), ast_sip_modify_id_header(), ast_sip_persistent_endpoint_add_to_regcontext(), ast_sip_persistent_endpoint_update_state(), ast_sip_publish_client_add_datastore(), ast_sip_publish_client_alloc_datastore(), ast_sip_register_endpoint_identifier_with_name(), ast_sip_register_event_publisher_handler(), ast_sip_register_publish_handler(), ast_sip_register_subscription_handler(), ast_sip_sched_is_task_running_by_name(), ast_sip_sched_task_cancel_by_name(), ast_sip_sched_task_get_next_run_by_name(), ast_sip_sched_task_get_times_by_name2(), ast_sip_schedule_task(), ast_sip_session_add_datastore(), ast_sip_session_add_reason_header(), ast_sip_session_alloc_datastore(), ast_sip_session_create_outgoing(), ast_sip_session_media_get_transport(), ast_sip_set_tpselector_from_transport_name(), ast_sip_str2rc(), ast_sip_transport_state_set_preferred_identity(), ast_sip_transport_state_set_service_routes(), ast_sip_transport_state_set_transport(), ast_sip_update_from(), ast_sorcery_alloc(), ast_sorcery_retrieve_by_id(), ast_speech_find_engine(), ast_speech_unregister2(), ast_statsd_log_string(), ast_stir_shaken_as_ctx_add_fingerprint(), ast_stir_shaken_as_ctx_create(), ast_stir_shaken_vs_ctx_create(), ast_stir_shaken_vs_verify(), ast_str_substitute_variables_full2(), ast_stream_and_wait(), ast_stream_topology_append_stream(), ast_stream_topology_set_stream(), ast_strings_match(), ast_strsep(), ast_strsep_quoted(), ast_taskprocessor_get(), ast_tcptls_client_create(), AST_TEST_DEFINE(), ast_true(), ast_tzset(), ast_unreal_new_channels(), ast_uri_is_secure(), ast_var_channels_table(), ast_variable_delete(), ast_variable_list_from_quoted_string(), ast_variable_update(), ast_vector_string_split(), ast_websocket_uri_cb(), ast_xmldoc_build_arguments(), ast_xmldoc_build_final_response(), ast_xmldoc_build_list_responses(), ast_xmldoc_build_seealso(), asterisk_publication_devicestate(), asterisk_publication_devicestate_refresh(), asterisk_publication_mailboxstate(), asterisk_publication_mwi_refresh(), asterisk_start_devicestate_publishing(), asterisk_start_mwi_publishing(), astman_send_list_complete_start_common(), astman_send_response_full(), async_delete_name_rec(), async_play_sound_helper(), asyncgoto_exec(), attempt_thread(), attended_transfer_exec(), audiosocket_exec(), audiosocket_request(), auth_apply(), auth_exec(), auth_http_callback(), authenticate(), authenticate_reply(), authenticate_verify(), autopause2int(), background_detect_exec(), base64_helper(), base_process_party_a(), begin_dial_prerun(), blind_transfer_exec(), bridge_agent_hold_push(), bridge_base_init(), bridge_builtin_set_limits(), bridge_exec(), bridge_features_duration_callback(), bridge_handle_trip(), bridge_parking_push(), bridge_personality_atxfer_push(), bridge_topics_init(), bridgeadd_exec(), bridgewait_exec(), broadcast_exec(), bucket_file_update_path(), bucket_http_wizard_retrieve_id(), build_calendar(), build_device(), build_mapping(), build_node_children(), build_peer(), build_profile(), build_user(), builtin_features_helper(), cache_get_callno_locked(), caldav_add_event(), caldav_load_calendar(), caldav_request(), caldav_write_event(), calendar_busy_exec(), calendar_event_read(), calendar_query_exec(), calendar_query_result_exec(), calendar_write_exec(), calendarstate(), caller_id_handler(), callerid_feed(), callerid_genmsg(), canonicalize_tn(), canonicalize_tn_alloc(), cc_unique_append(), cdr_format_var_internal(), cdr_object_create_public_records(), cdr_object_get_by_name(), cdr_prop_write_callback(), cdr_read(), cdr_read_callback(), cdr_retrieve_time(), cdr_write(), cdr_write_callback(), cel_channel_app_change(), cel_channel_linkedid_change(), cel_dial_cb(), cel_linkedid_ref(), celgenuserevent_exec(), chan_pjsip_new(), chanavail_exec(), channel_admin_exec(), channel_dial_cb(), channel_dialplan(), channel_do_masquerade(), channel_fill_empty_accountcode(), channel_fill_empty_peeraccount(), channel_hold_cb(), channel_newexten(), channel_read_pjsip(), channel_read_rtcp(), channel_read_rtp(), channel_req_accountcodes(), channel_spy(), chanspy_exec(), chararray_handler_fn(), check_access(), check_blacklist(), check_bridge_play_sound(), check_date_header(), check_day(), check_dow(), check_match(), check_month(), check_new_cdr_needed(), check_password(), check_regcontext(), check_retire_linkedid(), check_timerange(), check_x5u_url(), cleaned_basedn(), clear_stats(), cli_complete(), cli_complete_notify(), cli_console_dial(), cli_console_sendtext(), cli_contact_get_container(), cli_odbc_read(), cli_odbc_write(), cli_print_body(), cli_qualify(), cli_reload_qualify_endpoint(), cli_show_qualify_endpoint(), client_config_apply(), close_client(), cmp_strings(), commit_exec(), common_exec(), compare(), compile_script(), complete_agent(), complete_agent_logoff(), complete_ari_app(), complete_ari_user(), complete_bridge_live(), complete_number(), complete_parking_lot(), conf_ended(), conf_exec(), conf_find_bridge_profile(), conf_find_user_profile(), conf_run(), conf_set_menu_to_user(), confbridge_exec(), confbridge_handle_atxfer(), config_curl(), config_function_read(), config_ldap(), config_module(), config_object_cli_show(), config_text_file_load(), configuration_parse_unsigned_integer(), confkick_exec(), connection_dead(), console_new(), console_print(), contact_acl_to_str(), contact_apply_handler(), contactstatus_to_json(), control_list_create(), controlplayback_exec(), controlplayback_manager(), copy_message(), copy_rules(), copy_variables(), count_exec(), create_addr(), create_channel_name(), create_dialog_uas(), create_dynamic_lot_full(), create_local_sdp(), create_new_id_hdr(), create_out_of_dialog_request(), create_outgoing_sdp_stream(), create_prefix(), create_queue_member(), create_rtp(), create_sound_blob(), create_transaction(), create_unsolicited_mwi_subscriptions(), create_vmaccount(), crement_function_read(), crypto_load_cert_from_file(), crypto_load_cert_from_memory(), crypto_load_cert_store(), crypto_load_crl_from_file(), crypto_load_crl_store(), crypto_load_privkey_from_file(), crypto_load_store_from_cert_file(), crypto_load_store_from_crl_file(), crypto_load_untrusted_cert_store(), crypto_log_openssl(), crypto_register_x509_extension(), csv_log(), csv_quote(), curl_download_to_file(), curler(), custom_prepare(), custom_presence_callback(), dahdi_func_write(), dahdi_handle_event(), dahdi_new(), dahdi_read(), dahdiscan_exec(), database_increment(), declined_handler(), delete_existing_cb(), deltree_exec(), destroy_mysql(), destroy_pgsql(), destroy_trans(), detect_write(), determine_actual_value(), determine_starting_point(), device_state_alloc(), device_state_cb(), device_state_subscription_create(), devstate_write(), dial_append_common(), dial_exec_full(), dial_handle_playtones(), dialgroup_read(), dialgroup_refreshdb(), dialgroup_write(), dialog_info_generate_body_content(), dialout(), dialplan_has_destination_cb(), dictate_exec(), digest_check_auth(), directory_exec(), disa_exec(), dns_query_alloc(), do_broadcast(), do_forward(), do_message(), do_monitor(), do_notify(), does_category_match(), does_id_conflict(), does_method_match(), domain_alias_apply(), dtmf_store_framehook(), dtmfstore_exec(), dump_cause(), dump_consumer(), dump_hint(), dumpchan_exec(), dundi_exec(), dundi_flags2str(), dundi_helper(), dundi_hint2str(), dundi_lookup_local(), dundi_query_read(), dundi_query_thread(), dundi_result_read(), dundi_show_mappings(), dundi_show_peer(), dundifunc_read(), dynamic_dtmf_hook_add(), enable_jack_hook(), endpoint_acl_handler(), endpoint_internal_create(), enum_callback(), enum_query_read(), enum_result_read(), env_write(), eprofile_get_cfg(), eval_exten_read(), eval_sub_read(), event_session_alloc(), events_handler(), ewscal_load_calendar(), exchangecal_load_calendar(), exchangecal_write_event(), exec_exec(), execif_exec(), execute_state_callback(), expand_gosub_args(), exten_state_publisher_cb(), extension_match_core(), extension_presence_state_helper(), extenspy_exec(), external_media_audiosocket_tcp(), extstate_read(), fast_originate(), feature_automixmonitor(), feature_blind_transfer(), festival_exec(), fetch_icalendar(), fileexists_core(), filename_parse(), filter_cmp_fn(), filter_outgoing_message(), filter_session_outgoing_message(), find_account(), find_aor(), find_aor2(), find_aor_for_resource(), find_aor_name(), find_app_by_name(), find_body_generator_accept(), find_channel_parking_lot_name(), find_cli(), find_conf_realtime(), find_endpoint(), find_header(), find_or_create(), find_queue_by_name_rt(), find_registrar_aor(), find_request_serializer(), find_table(), find_user(), findmeexec(), forkcdr_exec(), format_ami_endpoint_transport(), format_log_default(), format_log_plain(), forward_message(), forwards_create(), free_user_final(), freq_parser(), func_chan_exists_read(), func_channel_read(), func_channel_write_real(), func_channels_read(), func_confbridge_channels(), func_confbridge_helper(), func_confbridge_info(), func_get_parkingslot_channel(), func_mixmonitor_read(), func_read(), func_read_header(), func_read_param(), func_response_read_header(), func_response_read_headers(), func_write_header(), func_write_param(), function_amiclient(), function_db_delete(), function_db_exists(), function_db_read(), function_db_write(), function_enum(), function_eval(), function_eval2(), function_fieldnum_helper(), function_ltrim(), function_realtime_read(), function_realtime_readdestroy(), function_realtime_store(), function_realtime_write(), function_rtrim(), function_trim(), function_txtcidname(), generate_parked_user(), generic_fax_exec(), generic_recall(), geoloc_civicaddr_list_to_xml(), geoloc_eprofile_create_from_xslt_result(), geoloc_eprofile_to_intermediate(), geoloc_gml_list_to_xml(), geoloc_profile_apply_handler(), geoloc_profile_read(), geoloc_profile_write(), get_buddy_status(), get_container(), get_curl_instance(), get_destination(), get_interface_helper(), get_key(), get_or_create_subscription(), get_queue_member_status(), get_range(), get_resource_display_name(), get_subscription(), get_timerange(), get_transfer_context(), get_transfer_exten(), global_apply(), gosub_exec(), gosubif_exec(), goto_parser(), grab_transfer(), group_count_function_read(), group_function_read(), group_function_write(), group_list_function_read(), group_match_count_function_read(), group_show_channels(), h264_generate_sdp_fmtp(), h264_getjoint(), handle_aor(), handle_attended_transfer(), handle_blind_transfer(), handle_bridge_enter(), handle_chanlist(), handle_cli_check_permissions(), handle_cli_confbridge_show_bridge_profile(), handle_cli_confbridge_show_user_profile(), handle_cli_confbridge_start_record(), handle_cli_config_reload(), handle_cli_database_showkey(), handle_cli_devstate_change(), handle_cli_dialplan_save(), handle_cli_dynamic_level_test(), handle_cli_file_convert(), handle_cli_iax2_show_cache(), handle_cli_iax2_show_peer(), handle_cli_iax2_show_users(), handle_cli_indication_add(), handle_cli_presencestate_change(), handle_cli_realtime_mysql_status(), handle_cli_realtime_pgsql_status(), handle_command_response(), handle_controlstreamfile(), handle_debug(), handle_debug_dialplan(), handle_dial_message(), handle_dial_page(), handle_endpoint(), handle_export_primitives(), handle_getvariable(), handle_hangup(), handle_incoming_request(), handle_incoming_sdp(), handle_logger_remove_channel(), handle_manager_bridge_tech_suspend(), handle_options(), handle_orig(), handle_outgoing_request(), handle_playtones(), handle_queue_add_member(), handle_queue_pause_member(), handle_queue_remove_member(), handle_queue_rule_show(), handle_registrations(), handle_saydatetime(), handle_show_dialplan(), handle_showchan(), handle_speechrecognize(), handle_trace(), handle_updates(), handle_verbose(), handle_voicemail_show_aliases(), handle_voicemail_show_users(), has_voicemail(), hashtab_compare_extens(), header_identify_match_check(), headers_to_variables(), hep_queue_cb(), hepv3_config_pre_apply(), hint_hash(), hint_read(), hold_intercept_fn_write(), hook_off(), hook_on(), hook_re_enable(), http_body_discard_chunk_trailer_headers(), http_callback(), http_media_cache_config_pre_apply(), http_request_headers_get(), http_server_get_by_addr(), iax2_call(), iax2_datetime(), iax2_devicestate(), iax2_prov_app(), iax2_request(), iax_firmware_append(), iax_firmware_get_version(), iax_provflags2str(), ical_load_calendar(), icalendar_add_event(), iconv_read(), ident_handler(), iftime(), import_helper(), inboxcount2(), incoming_in_dialog_request(), init_acf_query(), init_jack_data(), initialize_cc_max_requests(), insert_penaltychange(), inspect_module(), internal_aco_type_find(), internal_dnsmgr_lookup(), internal_process_ast_config(), ip_identify_apply(), ip_identify_match_handler(), is_argument(), is_cert_cache_entry_expired(), is_media_state_valid(), is_new_rec_file(), is_prefix(), is_preload(), is_unsolicited_allowed(), is_valid_dialstatus(), is_valid_tone_zone(), is_video_dest(), isAnsweringMachine(), isexten_function_read(), jack_exec(), jb_choose_impl(), jb_framedata_init(), jb_helper(), jingle_action_hook(), jingle_alloc(), jingle_interpret_content(), jingle_interpret_description(), jingle_interpret_google_transport(), jingle_interpret_ice_udp_transport(), jingle_new(), jingle_outgoing_hook(), jingle_request(), jingle_send_error_response(), join_conference_bridge(), json_decode_read(), key_dial_page(), key_history(), key_main_page(), kill_if_unfound(), launch_asyncagi(), launch_monitor_thread(), launch_netscript(), ldap_reconnect(), ldap_table_config_add_attribute(), leave_voicemail(), line_identify(), list_item_handler(), load_aliases(), load_asterisk_conf(), load_column_config(), load_config(), load_endpoint(), load_indications(), load_modules(), load_moh_classes(), load_mysql_config(), load_odbc_config(), load_private_key_from_memory(), load_realtime_queues(), load_realtime_rules(), load_values_config(), local_ast_moh_start(), log_events(), log_exec(), logger_print_normal(), loopback_parse(), lua_get_variable(), lua_get_variable_value(), main(), make_components(), make_dir(), make_email_file(), make_filename(), make_fn(), make_logchannel(), man_do_variable_value(), manager_add_filter(), manager_add_queue_member(), manager_bridge_destroy(), manager_bridge_info(), manager_bridge_kick(), manager_bridge_tech_list(), manager_bridges_list(), manager_change_priority_caller_on_queue(), manager_db_tree_get(), manager_dbdel(), manager_dbdeltree(), manager_dbget(), manager_dbput(), manager_dialplan_extension_add(), manager_dialplan_extension_remove(), manager_fax_session(), manager_fax_sessions(), manager_fax_stats(), manager_get_mailbox_summary(), manager_iax2_show_peer_list(), manager_iax2_show_peers(), manager_iax2_show_registry(), manager_jabber_send(), manager_list_voicemail_users(), manager_log(), manager_match_mailbox(), manager_mixmonitor(), manager_modulecheck(), manager_moduleload(), manager_mute_mixmonitor(), manager_mutestream(), manager_notify(), manager_notify_endpoint(), manager_notify_uri(), manager_optimize_away(), manager_park(), manager_parking_lot_list(), manager_parking_status(), manager_pause_queue_member(), manager_play_dtmf(), manager_play_mf(), manager_queue_log_custom(), manager_queue_member_penalty(), manager_queue_member_ringinuse(), manager_queue_rule_show(), manager_queues_status(), manager_queues_summary(), manager_remove_queue_member(), manager_request_withdraw_caller_from_queue(), manager_show_dialplan(), manager_show_dialplan_helper(), manager_status_voicemail_user(), manager_stop_mixmonitor(), manager_voicemail_forward(), manager_voicemail_move(), manager_voicemail_remove(), mark_unfound(), match_aor(), matchcid(), math(), mbl_load_adapter(), mbl_load_device(), mbl_sendsms_exec(), mbl_status_exec(), md5(), media_cache_item_populate_from_astdb(), meetmemute(), message_playback_callback_fn(), message_range_and_existence_check(), message_received_handler(), message_template_find(), message_template_parse_filebody(), messagecount(), messaging_app_unsubscribe_endpoint(), metermaidstate(), milliwatt_exec(), minivm_accmess_exec(), minivm_account_func_read(), minivm_counter_func_read(), minivm_counter_func_write(), minivm_delete_exec(), minivm_greet_exec(), minivm_mwi_exec(), minivm_notify_exec(), minivm_record_exec(), mixmonitor_exec(), mixmonitor_save_prep(), mixmonitor_thread(), mkintf(), module_load_helper_on_file(), moh_parse_options(), monitor_dial(), morsecode_exec(), mp3_exec(), msg_send(), msg_send_exec(), msg_set_var_full(), msg_to_endpoint(), mssql_connect(), multicast_rtp_request(), mute_mixmonitor_instance(), mwi_contact_changed(), mwi_contact_deleted(), mwi_create_state(), mwi_folder_map(), mwi_generate_body_content(), mwi_mailbox_delete(), mwi_mailbox_get(), mwi_mailbox_update(), mwi_new_subscribe(), mwi_on_aor(), mwi_state_create_message(), mwi_subscription_alloc(), mwi_subscription_established(), mwi_to_event(), mwi_validate_for_aor(), mysql_reconnect(), named_acl_find_realtime(), named_groups_handler(), new_outgoing(), new_realtime_sqlite3_db(), newpvt(), notify_endpoint(), notify_message(), notify_new_message(), notify_uri(), odbc_log(), onNewCallCreated(), onOutgoingCall(), ooh323_indicate(), ooh323_new(), ooh323_onReceivedSetup(), options_on_rx_request(), orig_app(), orig_exten(), originate_exec(), page_exec(), park_and_announce_app_exec(), park_announce_update_cb(), park_app_exec(), park_app_parse_data(), park_common_setup2(), parked_call_app_exec(), parking_blind_transfer_park(), parking_channel_set_roles(), parking_duration_callback(), parking_lot_cfg_create_extensions(), parking_lot_cfg_remove_extensions(), parse_bookmark(), parse_config(), parse_cookies(), parse_data(), parse_dial_string(), parse_line(), parse_playtone(), parse_simple_message_summary(), parse_tag(), parse_tone_uri(), participant_idle_mode_setup(), path_get_string(), path_outgoing_request(), payload_helper_app(), pbx_builtin_answer(), pbx_builtin_background(), pbx_builtin_execiftime(), pbx_builtin_gotoif(), pbx_builtin_gotoiftime(), pbx_builtin_hangup(), pbx_builtin_incomplete(), pbx_builtin_saycharacters_case(), pbx_builtin_saynumber(), pbx_builtin_sayordinal(), pbx_builtin_setvar(), pbx_builtin_setvar_helper(), pbx_builtin_setvar_multiple(), pbx_builtin_waitexten(), pbx_checkcondition(), pbx_extension_helper(), pbx_find_extension(), pbx_load_config(), pbx_load_users(), pbx_outgoing_attempt(), pbx_outgoing_exec(), pbx_parseable_goto(), pbx_set_overrideswitch(), pbx_substitute_variables_helper_full_location(), peek_read(), permanent_uri_handler(), pgsql_reconnect(), pickup_exec(), pickupchan_exec(), pidf_supplement_body(), pjsip_acf_channel_read(), pjsip_acf_dial_contacts_read(), pjsip_acf_parse_uri_read(), pjsip_aor_function_read(), pjsip_app_hangup(), pjsip_contact_function_read(), pjsip_endpoint_function_read(), pjsip_log_test_filter(), play_file(), play_mailbox_owner(), play_message(), play_message_by_id_helper(), play_message_callerid(), play_message_category(), play_message_datetime(), play_moh_exec(), play_record_review(), play_sound_helper(), playback_common(), playback_create(), playback_exec(), populate_cache(), post_cdr(), pp_each_extension_helper(), pp_each_user_helper(), pqm_exec(), prep_email_sub_vars(), presence_read(), presence_state_cached(), presence_write(), print_acl(), print_event_instance(), print_ext(), print_frame(), print_queue(), privacy_exec(), process_category(), process_dahdi(), process_description_file(), process_echocancel(), process_extmap_attributes(), process_histfile(), process_ice_attributes(), process_message(), process_message_callback(), process_my_load_module(), process_text_line(), process_token(), profile_get_cfg(), prometheus_callback_register(), prometheus_config_pre_apply(), prometheus_metric_full_to_string(), prometheus_show_status(), publish_acl_change(), publish_device_state_to_stasis(), publish_load_message_type(), publish_mwi_to_stasis(), publish_request_initial(), publisher_start(), pubsub_on_rx_mwi_notify_request(), ql_exec(), queue_exec(), queue_function_exists(), queue_function_mem_read(), queue_function_mem_write(), queue_function_memberpenalty_read(), queue_function_memberpenalty_write(), queue_function_qac_dep(), queue_function_queuegetchannel(), queue_function_queuememberlist(), queue_function_queuewaitingcount(), queue_function_var(), queue_match(), queue_mwi_event(), queue_reload_request(), quote(), qupd_exec(), raise_msg_handler(), rcv_mac_addr(), read_dirs_cb(), read_exec(), read_headers(), read_mf_exec(), read_sf_exec(), readexten_exec(), realtime_common(), realtime_curl(), realtime_directory(), realtime_exec(), realtime_ldap_entry_to_var(), realtime_ldap_result_to_vars(), realtime_ldap_status(), realtime_multi_curl(), realtime_multi_mysql(), realtime_multi_odbc(), realtime_multi_pgsql(), realtime_mysql(), realtime_odbc(), realtime_pgsql(), realtime_sqlite3_destroy(), realtime_sqlite3_helper(), realtime_sqlite3_load(), realtime_sqlite3_require(), realtime_sqlite3_store(), realtime_sqlite3_update(), realtime_sqlite3_update2(), realtime_update_peer(), realtimefield_read(), reason_code_to_str(), receive_ademco_event(), receivefax_exec(), record_exec(), record_serializer(), recording_publish(), recordthread(), recvtext_exec(), refer_blind_callback(), refer_incoming_blind_request(), refer_set_var_full(), regex_filter_handler(), register_peer_exten(), register_verify(), registrar_on_rx_request(), registration_client_send(), registry_rerequest(), reload_config(), reload_exec(), reload_followme(), reload_queue_members(), reload_queues(), reload_single_member(), remove_from_queue(), replace(), report_receive_fax_status(), report_send_fax_status(), request(), request_identify_match_check(), requirecalltoken_mark_auto(), res_sdp_crypto_parse_offer(), resetcdr_exec(), resource_event_handler(), resource_list_apply_handler(), retrydial_exec(), ring_entry(), rollback_exec(), rotate_file(), rqm_exec(), rt_handle_member_record(), rtcp_do_debug_ip(), rtcp_message_handler(), rtp_do_debug_ip(), run_externnotify(), save_dialstatus(), save_response_fields_to_transport(), saycountedadj_exec(), saycountednoun_exec(), sayfile_exec(), sayunixtime_exec(), scan_exec(), schedule_calendar_event(), sdp_fmtp_get(), sdp_requires_deferral(), search_directory(), search_directory_sub(), select_item_pause(), send_bridge_list_item_cb(), send_message(), send_refer(), send_refresh_cb(), send_unsolicited_mwi_notify(), send_unsolicited_mwi_notify_to_contact(), senddtmf_exec(), sendfax_exec(), sendmail(), sendmf_exec(), sendpage(), sendsf_exec(), sendtext(), sendtext_exec(), separate_mailbox(), session_outgoing_nat_hook(), set(), set_bridge_features_on_config(), set_config(), set_from_header(), set_id_from_hdr(), set_if(), set_loc_src(), set_local_info(), set_loop(), set_member_paused(), set_member_value(), set_outbound_authentication_credentials(), set_queue_member_pause(), set_rec_filename(), set_remote_mslabel_and_stream_group(), set_sound(), set_touch_variable(), set_transport(), set_ttl(), set_var_handler(), set_voicemail_extension(), setup_dahdi_int(), setup_mixmonitor(), setup_mixmonitor_ds(), setup_park_common_datastore(), setup_privacy_args(), setup_profile_caller(), setup_profile_paged(), setup_stunaddr(), sha1(), shared_read(), shared_write(), shell_helper(), shift_pop(), should_queue_connected_line_update(), show_main_page(), show_sound_info_cb(), signal_exec(), sip_dialog_create_contact(), sip_dialog_create_from(), sip_endpoint_apply_handler(), sip_is_token(), sip_msg_send(), sip_options_qualify_contact(), sip_options_synchronize_endpoint(), sip_outbound_publisher_init(), sip_outbound_publisher_set_uri(), sip_outbound_publisher_set_uris(), sip_outbound_registration_apply(), sip_outbound_registration_regc_alloc(), sip_publisher_service_queue(), sip_refer_send(), skel_exec(), sla_build_station(), sla_build_trunk(), sla_check_device(), sla_queue_event_conf(), sla_station_destructor(), sla_station_exec(), sla_trunk_destructor(), sla_trunk_exec(), smdi_md_q_cmp_fn(), smdi_msg_find(), smdi_msg_read(), smdi_msg_retrieve_read(), sms_exec(), socket_process_helper(), softhangup_exec(), sorcery_astdb_open(), sorcery_config_open(), sorcery_config_retrieve_regex(), sorcery_function_read(), sorcery_is_configuration_met(), sorcery_is_explicit_name_met(), sorcery_memory_cache_ami_expire(), sorcery_memory_cache_ami_expire_object(), sorcery_memory_cache_ami_populate(), sorcery_memory_cache_ami_stale(), sorcery_memory_cache_ami_stale_object(), sorcery_memory_cache_close(), sorcery_memory_cache_load(), sorcery_memory_cache_open(), sorcery_memory_retrieve_regex(), sorcery_realtime_open(), sorcery_realtime_retrieve_regex(), spawn_mp3(), speech_background(), split_ext(), srv_query_read(), srv_result_read(), stackpeek_read(), start_automixmonitor(), start_mixmonitor_callback(), stasis_app_control_moh_start(), stasis_app_control_play_uri(), stasis_app_control_record(), stasis_app_control_snoop(), stasis_app_device_state_delete(), stasis_app_device_state_update(), stasis_app_device_states_to_json(), stasis_app_recording_if_exists_parse(), stasis_app_recording_termination_parse(), static_callback(), stir_shaken_incoming_request(), stop_automixmonitor(), stop_mixmonitor_full(), strbetween(), stream_echo_exec(), stringfield_handler_fn(), strings_to_mask(), strreplace(), sub_bridge_update_handler(), subscription_persistence_remove(), substituted(), subsystem_alert_decrement(), subsystem_alert_increment(), sysinfo_helper(), system_exec_helper(), system_registry_to_ami(), t38_initialize_session(), talk_detect_fn_write(), test_msg_has_destination_cb(), testclient_exec(), testserver_exec(), tn_get_etn(), transfer(), transfer_exec(), transfer_refer(), transport_apply(), transport_localnet_handler(), transport_tls_file_handler(), transport_tls_method_handler(), transport_tls_verify(), try_calling(), try_firmware(), tryexec_exec(), unbound_config_preapply(), unicast_rtp_request(), unistim_call(), unistim_new(), unistim_request(), unshift_push(), update_odbc(), update_realtime_member_field(), update_realtime_members(), update_registry(), upqm_exec(), uri_parse_and_default(), uridecode(), uriencode(), user_event_hook_cb(), userevent_exec(), ustmtext(), valid_exit(), validate_location_source(), validate_metric(), validate_metric_type_counter(), validate_metric_type_gauge(), validate_metric_type_set(), validate_metric_type_timer(), validate_name(), validate_publish_config(), validate_user_cb(), verbose_exec(), vm_authenticate(), vm_exec(), vm_execmain(), vm_mailbox_snapshot_create(), vm_msg_forward(), vm_msg_move(), vm_msg_play(), vm_msg_remove(), vm_newuser_setup(), vm_options(), vm_playmsgexec(), vm_sayname(), vmauthenticate(), vmsayname_exec(), vmu_tm(), volume_read(), volume_write(), vs_check_common_config(), wait_exec(), wait_for_answer(), wait_for_hangup(), wait_for_winner(), waitfor_exec(), waitforcond_exec(), waitsignal_exec(), waituntil_exec(), websocket_client_handshake(), wizard_apply_handler(), word_match(), write_metadata(), xml_translate(), xmldoc_build_field(), xmldoc_get_node(), xmldoc_get_syntax_fun(), xmldoc_load_documentation(), xmldoc_parse_specialtags(), xmldoc_update_config_type(), xmpp_client_authenticate_sasl(), xmpp_client_config_post_apply(), xmpp_client_reconnect(), xmpp_client_send_message(), xmpp_client_set_presence(), xmpp_config_prelink(), xmpp_join_exec(), xmpp_leave_exec(), xmpp_pak_message(), xmpp_pak_presence(), xmpp_pubsub_iq_create(), xmpp_send_cb(), xmpp_send_exec(), xmpp_sendgroup_exec(), and zapateller_exec().
char * ast_strsep | ( | char ** | s, |
const char | sep, | ||
uint32_t | flags | ||
) |
Act like strsep but ignore separators inside quotes.
s | Pointer to address of the string to be processed. Will be modified and can't be constant. |
sep | A single character delimiter. |
flags | Controls post-processing of the result. AST_STRSEP_TRIM trims all leading and trailing whitespace from the result. If the result containes only whitespace, it'll be passed through unchanged. AST_STRSEP_STRIP does a trim then strips the outermost quotes. You may want to trim again after the strip. Just OR both the TRIM and STRIP flags. AST_STRSEP_UNESCAPE unescapes '\' sequences. AST_STRSEP_ALL does all of the above processing. |
This function acts like strsep with three exceptions... The separator is a single character instead of a string. Separators inside quotes are treated literally instead of like separators. You can elect to have leading and trailing whitespace and quotes stripped from the result and have '\' sequences unescaped.
Like strsep, ast_strsep maintains no internal state and you can call it recursively using different separators on the same storage.
Also like strsep, for consistent results, consecutive separators are not collapsed so you may get an empty string as a valid result.
Examples:
Definition at line 1835 of file utils.c.
References ast_strip(), ast_strip_quoted(), ast_strlen_zero(), AST_STRSEP_STRIP, AST_STRSEP_TRIM, AST_STRSEP_UNESCAPE, ast_unescape_quoted(), and NULL.
Referenced by action_playback(), action_playback_and_continue(), ast_app_getdata_terminator(), ast_sip_header_to_security_mechanism(), ast_sip_security_mechanism_vector_init(), ast_sip_str_to_security_mechanism(), AST_TEST_DEFINE(), does_category_match(), handle_incoming_request(), handle_updates(), originate_exec(), pbx_builtin_background(), play_files_helper(), playback_exec(), reload_exec(), rfc3329_incoming_response(), speech_background(), try_calling(), and wizard_apply_handler().
char * ast_strsep_quoted | ( | char ** | s, |
const char | sep, | ||
const char | quote, | ||
uint32_t | flags | ||
) |
Like ast_strsep() except you can specify a specific quote character.
s | Pointer to address of the string to be processed. Will be modified and can't be constant. |
sep | A single character delimiter. |
quote | The quote character |
flags | Controls post-processing of the result. AST_STRSEP_TRIM trims all leading and trailing whitespace from the result. AST_STRSEP_STRIP does a trim then strips the outermost quotes. You may want to trim again after the strip. Just OR both the TRIM and STRIP flags. AST_STRSEP_UNESCAPE unescapes '\' sequences. AST_STRSEP_ALL does all of the above processing. |
Definition at line 1899 of file utils.c.
References ast_strip(), ast_strip_quoted(), ast_strlen_zero(), AST_STRSEP_STRIP, AST_STRSEP_TRIM, AST_STRSEP_UNESCAPE, ast_unescape_quoted(), NULL, and quote().
Referenced by AST_TEST_DEFINE(), and ast_variable_list_from_quoted_string().
|
inline |
Convert the tech portion of a device string to upper case.
dev_str | the char* passed in for convenience |
Definition at line 1236 of file strings.h.
Referenced by ast_endpoint_latest_snapshot(), create_new_generic_list(), find_generic_monitor_instance_list(), pvt_cause_cmp_fn(), and pvt_cause_hash_fn().
char * ast_to_camel_case_delim | ( | const char * | s, |
const char * | delim | ||
) |
Attempts to convert the given string to camel case using the specified delimiter.
note - returned string needs to be freed
s | the string to convert |
delim | delimiter to parse out |
Definition at line 2397 of file utils.c.
References ast_copy_string(), ast_strdup, buf, and NULL.
|
inline |
Trims trailing whitespace characters from a string.
str | the input string |
Definition at line 186 of file strings.h.
References str.
Referenced by ast_get_namedgroups(), ast_http_header_parse(), ast_skip_nonblanks(), callerid_write(), connectedline_write(), curl_header_callback(), curl_header_cb(), do_say(), http_body_discard_chunk_trailer_headers(), http_request_headers_get(), load_config(), parse_line(), party_id_write(), party_name_write(), party_number_write(), party_subaddress_write(), process_description_file(), redirecting_write(), show_entry_history(), user_event_hook_cb(), and xml_translate().
int attribute_pure ast_true | ( | const char * | val | ) |
Make sure something is true. Determine if a string containing a boolean value is "true". This function checks to see whether a string passed to it is an indication of an "true" value. It checks to see if the string is "yes", "true", "y", "t", "on" or "1".
-1 | if "true". |
0 | otherwise, like NULL pointer. |
Definition at line 2199 of file utils.c.
References ast_strlen_zero().
Referenced by __ast_http_load(), __init_manager(), acf_curlopt_write(), acf_faxopt_write(), acf_transaction_write(), action_agent_logoff(), action_originate(), action_status(), action_updateconfig(), actual_load_config(), agent_login_channel_config(), analog_call(), announce_user_count_all_handler(), aoc_cli_debug_enable(), apply_general_options(), apply_option(), ast_ari_bridges_add_channel_cb(), ast_ari_bridges_record_cb(), ast_ari_channels_record_cb(), ast_ari_endpoints_refer_cb(), ast_ari_endpoints_refer_to_endpoint_cb(), ast_ari_events_event_websocket_ws_attempted_cb(), ast_ari_events_event_websocket_ws_established_cb(), ast_bridge_timelimit(), ast_jb_read_conf(), ast_rtp_dtls_cfg_parse(), AST_TEST_DEFINE(), ast_tls_read_conf(), autopause2int(), bool_handler_fn(), boolflag_handler_fn(), build_calendar(), build_device(), build_peer(), build_user(), cdr_prop_write_callback(), check_debug(), client_bitfield_handler(), custom_bitfield_handler(), customopt_handler(), dahdi_set_dnd(), dahdi_set_mwi(), do_reload(), encoding_format_handler(), festival_exec(), func_channel_write_real(), func_mute_write(), function_ooh323_write(), geoloc_profile_write(), get_encrypt_methods(), global_bitfield_handler(), handle_exec(), handle_incoming_request(), handle_logger_chanloggroup_filter(), handle_logger_set_level(), handle_queue_set_member_ringinuse(), hook_write(), init_logger_chain(), internal_feature_write(), is_variable_true(), load_asterisk_conf(), load_config(), load_config_meetme(), load_module(), load_moh_classes(), load_odbc_config(), load_users(), loader_config_init(), manager_add_queue_member(), manager_change_priority_caller_on_queue(), manager_dialplan_extension_add(), manager_moduleload(), manager_mute_mixmonitor(), manager_mutestream(), manager_pause_queue_member(), manager_play_dtmf(), manager_queue_member_ringinuse(), manager_send_flash(), mbl_load_adapter(), mbl_load_device(), message_template_build(), moh_parse_options(), new_realtime_sqlite3_db(), odbc_load_module(), parse_config(), parse_empty_options(), parse_line(), parse_playtone(), pbx_load_config(), pbx_load_users(), permit_dtmf_interrupt(), pjsip_acf_moh_passthrough_write(), pjsip_set_logger_verbose(), prack_handler(), process_dahdi(), process_echocancel(), process_my_load_module(), profile_set_param(), queue_rules_set_global_params(), queue_set_global_params(), queue_set_param(), realtime_directory(), reload(), reload_config(), reload_followme(), reload_module(), reload_single_member(), rt_handle_member_record(), rtp_reload(), run_agi(), run_startup_commands(), sayunixtime_exec(), search_directory(), search_directory_sub(), set_active(), set_config(), sla_load_config(), smdi_load(), sorcery_config_open(), sorcery_memory_cache_ami_stale_object(), sorcery_memory_cache_open(), speex_write(), stackpeek_read(), strings_to_mask(), tds_load_module(), timers_handler(), transport_tls_bool_handler(), xfer_set(), xmldoc_get_syntax_cmd(), xmldoc_get_syntax_config_object(), xmldoc_get_syntax_fun(), and xmldoc_get_syntax_manager().
char * ast_unescape_c | ( | char * | s | ) |
Convert some C escape sequences.
(\b\f\n\r\t)
into the equivalent characters. The string to be converted (will be modified).
Definition at line 1983 of file utils.c.
Referenced by ast_parse_digest().
char * ast_unescape_semicolon | ( | char * | s | ) |
Strip backslash for "escaped" semicolons, the string to be stripped (will be modified).
Definition at line 1964 of file utils.c.