String manipulation functions. More...
#include <ctype.h>#include "asterisk/utils.h"#include "asterisk/threadstorage.h"

Go to the source code of this file.
Data Structures | |
| struct | ast_str |
| The descriptor of a dynamic string XXX storage will be optimized later if needed We use the ts field to indicate the type of storage. Three special constants indicate malloc, alloca() or static variables, all other values indicate a struct ast_threadstorage pointer. More... | |
Defines | |
| #define | __AST_STR_LEN len |
| #define | __AST_STR_STR str |
| #define | __AST_STR_TS ts |
| #define | __AST_STR_USED used |
| #define | _DB1(x) |
| #define | AS_OR(a, b) (a && ast_str_strlen(a)) ? ast_str_buffer(a) : (b) |
| #define | ast_str_alloca(init_len) |
| #define | DS_ALLOCA ((struct ast_threadstorage *)2) |
| #define | DS_MALLOC ((struct ast_threadstorage *)1) |
| #define | DS_STATIC ((struct ast_threadstorage *)3) |
| #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>") | |
| #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. | |
Enumerations | |
| enum | { AST_DYNSTR_BUILD_FAILED = -1, AST_DYNSTR_BUILD_RETRY = -2 } |
Error codes from __ast_str_helper() The undelying 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... | |
Functions | |
| int | __ast_str_helper (struct ast_str **buf, ssize_t max_len, int append, const char *fmt, va_list ap) |
| Core functionality of ast_str_(set|append)_va. | |
| char * | __ast_str_helper2 (struct ast_str **buf, ssize_t max_len, const char *src, size_t maxsrc, int append, int escapecommas) |
| int | ast_build_string (char **buffer, size_t *space, const char *fmt,...) |
| Build a string in a buffer, designed to be called repeatedly. | |
| 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. | |
| void | ast_copy_string (char *dst, const char *src, size_t size) |
| Size-limited null-terminating string copy. | |
| 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". | |
| int | ast_get_time_t (const char *src, time_t *dst, time_t _default, int *consumed) |
| get values from config variables. | |
| int | ast_get_timeval (const char *src, struct timeval *tv, struct timeval _default, int *consumed) |
| get values from config variables. | |
| void | ast_join (char *s, size_t len, char *const w[]) |
| char * | ast_skip_blanks (const char *str) |
| Gets a pointer to the first non-whitespace character in a string. | |
| char * | ast_skip_nonblanks (const char *str) |
| Gets a pointer to first whitespace character in a string. | |
| int | ast_str_append (struct ast_str **buf, ssize_t max_len, const char *fmt,...) |
| Append to a thread local dynamic string. | |
| 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. | |
| 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. | |
| 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. | |
| char * | ast_str_buffer (struct ast_str *buf) |
| Returns the string buffer within the ast_str buf. | |
| static force_inline int attribute_pure | ast_str_case_hash (const char *str) |
| Compute a hash value on a case-insensitive string. | |
| struct ast_str * | ast_str_create (size_t init_len) |
| Create a malloc'ed dynamic length string. | |
| static force_inline int attribute_pure | ast_str_hash (const char *str) |
| Compute a hash value on a string. | |
| static force_inline int | ast_str_hash_add (const char *str, int hash) |
| Compute a hash value on a string. | |
| int | ast_str_make_space (struct ast_str **buf, size_t new_len) |
| void | ast_str_reset (struct ast_str *buf) |
| Reset the content of a dynamic string. Useful before a series of ast_str_append. | |
| int | ast_str_set (struct ast_str **buf, ssize_t max_len, const char *fmt,...) |
| Set a dynamic string using variable arguments. | |
| 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. | |
| 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. | |
| 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. | |
| size_t | ast_str_size (struct ast_str *buf) |
| Returns the current maximum length (without reallocation) of the current buffer. | |
| size_t | ast_str_strlen (struct ast_str *buf) |
| Returns the current length of the string stored within buf. | |
| struct ast_str * | ast_str_thread_get (struct ast_threadstorage *ts, size_t init_len) |
| Retrieve a thread locally stored dynamic string. | |
| void | ast_str_trim_blanks (struct ast_str *buf) |
| Trims trailing whitespace characters from an ast_str string. | |
| char * | ast_str_truncate (struct ast_str *buf, ssize_t len) |
| Truncates the enclosed string to the given length. | |
| void | ast_str_update (struct ast_str *buf) |
| Update the length of the buffer, after using ast_str merely as a buffer. | |
| char * | ast_strip (char *s) |
| Strip leading/trailing whitespace from a string. | |
| char * | ast_strip_quoted (char *s, const char *beg_quotes, const char *end_quotes) |
| Strip leading/trailing whitespace and quotes from a string. | |
| static force_inline int attribute_pure | ast_strlen_zero (const char *s) |
| char * | ast_trim_blanks (char *str) |
| Trims trailing whitespace characters from a string. | |
| 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". | |
| char * | ast_unescape_c (char *s) |
| Convert some C escape sequences. | |
| char * | ast_unescape_semicolon (char *s) |
| Strip backslash for "escaped" semicolons, the string to be stripped (will be modified). | |
String manipulation functions.
Definition in file strings.h.
| #define AS_OR | ( | a, | |||
| b | ) | (a && ast_str_strlen(a)) ? ast_str_buffer(a) : (b) |
| #define ast_str_alloca | ( | init_len | ) |
Definition at line 576 of file strings.h.
Referenced by __iax2_show_peers(), __manager_event(), __queues_show(), _sip_show_peer(), action_createconfig(), action_listcommands(), add_sdp(), ast_eivr_getvariable(), ast_var_channels_table(), build_peer(), chanavail_exec(), cli_alias_passthrough(), cli_match_char_tree(), dahdi_new(), do_magic_pickup(), function_realtime_read(), function_realtime_readdestroy(), function_sippeer(), handle_call_token(), handle_cli_core_show_translation(), handle_cli_iax2_show_peer(), handle_cli_indication_show(), handle_show_chanvar(), handle_showmanager(), handle_showmancmd(), handle_showmancmds(), initreqprep(), log_jack_status(), log_match_char_tree(), manager_iax2_show_peer_list(), print_uptimestr(), show_channels_cb(), sip_send_mwi_to_peer(), sip_show_sched(), transmit_notify_with_mwi(), and transmit_state_notify().
| #define DS_ALLOCA ((struct ast_threadstorage *)2) |
| #define DS_MALLOC ((struct ast_threadstorage *)1) |
| #define DS_STATIC ((struct ast_threadstorage *)3) |
| #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>")
Definition at line 78 of file strings.h.
Referenced by _skinny_show_line().
| #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.
Definition at line 72 of file strings.h.
Referenced by __ast_channel_alloc_ap(), __ast_cli_register(), __ssl_setup(), _sip_show_peer(), _skinny_show_device(), _skinny_show_line(), acf_if(), acf_transaction_write(), action_agents(), action_command(), action_coreshowchannels(), action_meetmelist(), action_reload(), action_setvar(), action_status(), add_peer_mwi_subs(), agent_hangup(), aji_initialize(), aji_test(), app_exec(), ast_async_goto(), ast_bridge_call(), ast_call_forward(), ast_cdr_end(), ast_cdr_init(), ast_cdr_setapp(), ast_cdr_start(), ast_cdr_update(), ast_cli_command_full(), ast_hangup(), ast_play_and_record_full(), ast_setstate(), authenticate(), build_callid_pvt(), build_callid_registry(), build_peer(), build_profile(), build_route(), build_rpid(), builtin_automixmonitor(), builtin_automonitor(), callerid_read(), calltoken_required(), cdr_handler(), check_auth(), check_post(), cli_odbc_write(), common_exec(), conf_run(), config_curl(), config_handler(), config_parse_variables(), copy_message(), dahdi_handle_dtmfup(), dahdi_handle_event(), dahdi_hangup(), dahdi_read(), dahdi_show_channel(), dial_exec_full(), do_directory(), do_forward(), do_timelimit(), dundi_exec(), enable_jack_hook(), execif_exec(), fast_originate(), feature_interpret(), find_conf(), find_queue_by_name_rt(), forward_message(), ftype2mtype(), get_also_info(), get_cached_mwi(), get_cid_name(), get_destination(), get_refer_info(), handle_call_token(), handle_chanlist(), handle_cli_agi_show(), handle_cli_check_permissions(), handle_cli_config_list(), handle_cli_iax2_show_channels(), handle_cli_moh_show_classes(), handle_request_do(), handle_request_invite(), handle_response_register(), handle_show_function(), handle_show_functions(), handle_show_settings(), handle_showchan(), handle_showmancmd(), handle_skinny_show_settings(), handle_verbose(), hashtab_compare_exten_labels(), hashtab_hash_labels(), help1(), help_workhorse(), iftime(), init_pvt(), initreqprep(), join_queue(), leave_voicemail(), load_module(), local_read(), login_exec(), manage_parkinglot(), manager_bridge_event(), manager_dbput(), manager_parking_status(), manager_queue_log_custom(), manager_queue_reload(), manager_queues_status(), meetme_show_cmd(), misdn_call(), misdn_cfg_get(), originate_exec(), park_call_full(), park_exec_full(), park_space_reserve(), pbx_builtin_execiftime(), pbx_builtin_waitexten(), pbx_exec(), pbx_extension_helper(), pbx_load_config(), peer_mailboxes_to_str(), pgsql_reconnect(), phase_e_handler(), play_mailbox_owner(), play_moh_exec(), post_cdr(), post_manager_event(), pri_dchannel(), print_app_docs(), process_sdp(), process_text_line(), queue_exec(), realtime_common(), realtime_curl(), realtime_destroy_handler(), realtime_directory(), realtime_exec(), realtime_handler(), realtime_multi_curl(), realtime_multi_handler(), realtime_store_handler(), realtime_update2_handler(), realtime_update_handler(), register_exten(), register_group_feature(), register_peer_exten(), reload_config(), report_new_callerid(), return_exec(), rt_handle_member_record(), select_entry(), send_provisional_keepalive_full(), senddialevent(), serialize_showchan(), set_config(), set_member_paused(), set_one_cid(), setup_env(), shared_write(), show_channels_cb(), sip_read(), sip_register(), sip_show_domains(), sip_show_settings(), sip_uri_cmp(), skinny_hold(), sla_show_stations(), sla_show_trunks(), sms_exec(), sms_log(), socket_process(), start_moh_exec(), transmit_notify_with_mwi(), unregister_exten(), update_realtime_members(), and wait_for_answer().
| anonymous enum |
Error codes from __ast_str_helper() The undelying processing to manipulate dynamic string is done by __ast_str_helper(), which can return a success or a permanent failure (e.g. no memory).
| 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 668 of file strings.h.
00668 { 00669 /*! An error has occurred and the contents of the dynamic string 00670 * are undefined */ 00671 AST_DYNSTR_BUILD_FAILED = -1, 00672 /*! The buffer size for the dynamic string had to be increased, and 00673 * __ast_str_helper() needs to be called again after 00674 * a va_end() and va_start(). This return value is legacy and will 00675 * no longer be used. 00676 */ 00677 AST_DYNSTR_BUILD_RETRY = -2 00678 };
| int __ast_str_helper | ( | struct ast_str ** | buf, | |
| ssize_t | max_len, | |||
| int | append, | |||
| const char * | fmt, | |||
| va_list | ap | |||
| ) |
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 ''. 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_DYNSTR_BUILD_FAILED, ast_str_make_space(), and ast_verbose.
Referenced by ast_str_set_va().
00058 { 00059 int res, need; 00060 int offset = (append && (*buf)->__AST_STR_LEN) ? (*buf)->__AST_STR_USED : 0; 00061 va_list aq; 00062 00063 do { 00064 if (max_len < 0) { 00065 max_len = (*buf)->__AST_STR_LEN; /* don't exceed the allocated space */ 00066 } 00067 /* 00068 * Ask vsnprintf how much space we need. Remember that vsnprintf 00069 * does not count the final <code>'\0'</code> so we must add 1. 00070 */ 00071 va_copy(aq, ap); 00072 res = vsnprintf((*buf)->__AST_STR_STR + offset, (*buf)->__AST_STR_LEN - offset, fmt, aq); 00073 00074 need = res + offset + 1; 00075 /* 00076 * If there is not enough space and we are below the max length, 00077 * reallocate the buffer and return a message telling to retry. 00078 */ 00079 if (need > (*buf)->__AST_STR_LEN && (max_len == 0 || (*buf)->__AST_STR_LEN < max_len) ) { 00080 if (max_len && max_len < need) { /* truncate as needed */ 00081 need = max_len; 00082 } else if (max_len == 0) { /* if unbounded, give more room for next time */ 00083 need += 16 + need / 4; 00084 } 00085 if (0) { /* debugging */ 00086 ast_verbose("extend from %d to %d\n", (int)(*buf)->__AST_STR_LEN, need); 00087 } 00088 if ( 00089 #if (defined(MALLOC_DEBUG) && !defined(STANDALONE)) 00090 _ast_str_make_space(buf, need, file, lineno, function) 00091 #else 00092 ast_str_make_space(buf, need) 00093 #endif 00094 ) { 00095 ast_verbose("failed to extend from %d to %d\n", (int)(*buf)->__AST_STR_LEN, need); 00096 va_end(aq); 00097 return AST_DYNSTR_BUILD_FAILED; 00098 } 00099 (*buf)->__AST_STR_STR[offset] = '\0'; /* Truncate the partial write. */ 00100 00101 /* Restart va_copy before calling vsnprintf() again. */ 00102 va_end(aq); 00103 continue; 00104 } 00105 va_end(aq); 00106 break; 00107 } while (1); 00108 /* update space used, keep in mind the truncation */ 00109 (*buf)->__AST_STR_USED = (res + offset > (*buf)->__AST_STR_LEN) ? (*buf)->__AST_STR_LEN - 1 : res + offset; 00110 00111 return res; 00112 }
| 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 125 of file strings.c.
References ast_str::__AST_STR_LEN, and ast_str_make_space().
Referenced by ast_str_append_substr(), ast_str_append_va(), ast_str_set_escapecommas(), and ast_str_set_substr().
00126 { 00127 int dynamic = 0; 00128 char *ptr = append ? &((*buf)->__AST_STR_STR[(*buf)->__AST_STR_USED]) : (*buf)->__AST_STR_STR; 00129 00130 if (maxlen < 1) { 00131 if (maxlen == 0) { 00132 dynamic = 1; 00133 } 00134 maxlen = (*buf)->__AST_STR_LEN; 00135 } 00136 00137 while (*src && maxsrc && maxlen && (!escapecommas || (maxlen - 1))) { 00138 if (escapecommas && (*src == '\\' || *src == ',')) { 00139 *ptr++ = '\\'; 00140 maxlen--; 00141 (*buf)->__AST_STR_USED++; 00142 } 00143 *ptr++ = *src++; 00144 maxsrc--; 00145 maxlen--; 00146 (*buf)->__AST_STR_USED++; 00147 00148 if ((ptr >= (*buf)->__AST_STR_STR + (*buf)->__AST_STR_LEN - 3) || 00149 (dynamic && (!maxlen || (escapecommas && !(maxlen - 1))))) { 00150 char *oldbase = (*buf)->__AST_STR_STR; 00151 size_t old = (*buf)->__AST_STR_LEN; 00152 if (ast_str_make_space(buf, (*buf)->__AST_STR_LEN * 2)) { 00153 /* If the buffer can't be extended, end it. */ 00154 break; 00155 } 00156 /* What we extended the buffer by */ 00157 maxlen = old; 00158 00159 ptr += (*buf)->__AST_STR_STR - oldbase; 00160 } 00161 } 00162 if (__builtin_expect(!maxlen, 0)) { 00163 ptr--; 00164 } 00165 *ptr = '\0'; 00166 return (*buf)->__AST_STR_STR; 00167 }
| 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 1299 of file utils.c.
References ast_build_string_va().
Referenced by config_odbc(), handle_speechrecognize(), lua_func_read(), lua_pbx_exec(), pp_each_extension_exec(), and pp_each_user_exec().
01300 { 01301 va_list ap; 01302 int result; 01303 01304 va_start(ap, fmt); 01305 result = ast_build_string_va(buffer, space, fmt, ap); 01306 va_end(ap); 01307 01308 return result; 01309 }
| 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.
| 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 1280 of file utils.c.
Referenced by ast_build_string().
01281 { 01282 int result; 01283 01284 if (!buffer || !*buffer || !space || !*space) 01285 return -1; 01286 01287 result = vsnprintf(*buffer, *space, fmt, ap); 01288 01289 if (result < 0) 01290 return -1; 01291 else if (result > *space) 01292 result = *space; 01293 01294 *buffer += result; 01295 *space -= result; 01296 return 0; 01297 }
| __inline__ void ast_copy_string | ( | char * | dst, | |
| const char * | src, | |||
| size_t | size | |||
| ) |
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 218 of file strings.h.
Referenced by __ast_alloc_region(), __ast_channel_alloc_ap(), __ast_http_load(), __ast_http_post_load(), __ast_pbx_run(), __ast_play_and_record(), __ast_request_and_dial(), __iax2_show_peers(), __init_manager(), __oh323_new(), __schedule_action(), __set_address_from_contact(), _get_mohbyname(), _macro_exec(), _sip_show_peers(), acf_channel_read(), acf_curl_exec(), acf_curlopt_read(), acf_exception_read(), acf_fetch(), acf_iaxvar_read(), acf_if(), acf_isexten_exec(), acf_mailbox_exists(), acf_odbc_read(), acf_sprintf(), acf_transaction_read(), acf_version_exec(), action_originate(), add_agent(), add_exten_to_pattern_tree(), add_line(), add_realm_authentication(), add_route(), add_sdp(), add_sip_domain(), adsi_load(), adsi_message(), adsi_process(), aes_helper(), agent_new(), agentmonitoroutgoing_exec(), agi_exec_full(), aji_create_buddy(), aji_create_client(), aji_find_version(), aji_handle_message(), aji_handle_presence(), alarmreceiver_exec(), alloc_profile(), alsa_new(), announce_thread(), answer_call(), answer_exec_enable(), app_exec(), append_mailbox(), apply_general_options(), apply_option(), apply_options_full(), ast_add_extension2_lockopt(), ast_app_group_split_group(), ast_apply_ha(), ast_bridge_call(), ast_bridge_dtmf_stream(), ast_bridge_features_hook(), ast_bridge_features_register(), ast_call_forward(), ast_callerid_merge(), ast_callerid_parse(), ast_callerid_split(), ast_category_new(), ast_category_rename(), ast_cdr_appenduserfield(), ast_cdr_getvar(), ast_cdr_init(), ast_cdr_merge(), ast_cdr_register(), ast_cdr_setaccount(), ast_cdr_setapp(), ast_cdr_setdestchan(), ast_cdr_setuserfield(), ast_cdr_update(), ast_channel_free(), ast_cli_completion_matches(), ast_context_find(), ast_context_find_or_create(), ast_context_lockmacro(), ast_context_remove_extension_callerid2(), ast_context_unlockmacro(), ast_db_get(), ast_devstate_prov_add(), ast_do_masquerade(), ast_eivr_getvariable(), ast_explicit_goto(), ast_expr(), ast_frame_dump(), ast_get_enum(), ast_get_hint(), ast_get_indication_zone(), ast_get_srv(), ast_get_txt(), ast_getformatname_multiple(), ast_http_prefix(), ast_iax2_new(), ast_linear_stream(), ast_log(), ast_makesocket(), ast_monitor_change_fname(), ast_monitor_stop(), ast_odbc_request_obj2(), ast_parse_device_state(), ast_pbx_outgoing_app(), ast_pbx_outgoing_exten(), ast_privacy_check(), ast_privacy_set(), ast_read_image(), ast_readconfig(), ast_rtp_lookup_mime_multiple(), 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_it(), ast_say_date_with_format_nl(), ast_say_date_with_format_pl(), ast_say_date_with_format_th(), 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_number_full_cs(), ast_say_number_full_da(), ast_say_number_full_de(), ast_say_number_full_en(), 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_it(), 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_zh(), ast_setstate(), ast_tryconnect(), ast_tzset(), ast_unregister_indication_country(), ast_uri_encode(), ast_var_assign(), ast_var_indications(), ast_var_indications_table(), ast_xmldoc_printable(), async_wait(), authenticate(), authenticate_verify(), begin_dial_channel(), blr_ebl(), bridge_channel_dtmf_stream(), build_alias(), build_conf(), build_context(), build_device(), build_event_channel(), build_gateway(), build_mapping(), build_parkinglot(), build_peer(), build_reply_digest(), build_route(), build_user(), cache_lookup(), cache_lookup_internal(), callerid_feed(), callerid_feed_jp(), callerid_read(), callerpres_read(), CB_ADD_LEN(), cb_events(), change_password_realtime(), check_auth(), check_availability(), check_match(), check_password(), check_sip_domain(), check_user_full(), check_via(), check_via_response(), cleanup_stale_contexts(), cli_tps_report(), common_exec(), compile_script(), complete_dpreply(), complete_fn(), complete_indications(), conf_exec(), conf_run(), config_device(), config_function_read(), config_line(), config_parse_variables(), config_text_file_load(), console_dial(), copy_message(), copy_via_headers(), create_addr(), create_followme_number(), create_parkinglot(), create_queue_member(), create_vmaccount(), csv_quote(), cut_internal(), dahdi_call(), dahdi_func_read(), dahdi_handle_event(), dahdi_hangup(), dahdi_new(), dahdi_show_channels(), devstate_read(), dial_exec_full(), dialgroup_read(), dialgroup_write(), dialout(), dictate_exec(), disa_exec(), dnsmgr_refresh(), do_forward(), do_idle_thread(), dump_addr(), dump_byte(), dump_datetime(), dump_int(), dump_ipaddr(), dump_prov_flags(), dump_prov_ies(), dump_samprate(), dump_short(), dundi_answer_entity(), dundi_answer_query(), dundi_do_lookup(), dundi_do_precache(), dundi_do_query(), dundi_lookup_internal(), dundi_lookup_local(), dundi_precache_internal(), dundi_prop_precache(), dundi_query_eid_internal(), dundi_query_thread(), ebl_callback(), enum_query_read(), enum_result_read(), env_read(), external_rtp_create(), extract_uri(), exts_compare(), extstate_read(), file_read(), find_account(), find_cache(), find_conf(), find_conf_realtime(), find_context(), find_context_locked(), find_engine(), find_line_by_name(), find_or_create(), find_parkinglot(), find_peer(), find_queue_by_name_rt(), find_subchannel_and_lock(), find_subchannel_by_name(), find_user_realtime(), findmeexec(), forward_message(), func_channel_read(), func_check_sipdomain(), func_header_read(), function_agent(), function_enum(), function_iaxpeer(), function_realtime_read(), function_realtime_readdestroy(), function_sipchaninfo_read(), function_sippeer(), gen_header(), get_also_info(), get_calleridname(), get_date(), get_destination(), get_rdnis(), get_refer_info(), get_rpid_num(), getdisplaybyname(), getflagbyname(), getkeybyname(), getstatebyname(), getsubbyname(), gettag(), global_read(), gosub_exec(), group_count_function_read(), group_function_read(), group_function_write(), group_list_function_read(), gtalk_add_candidate(), gtalk_alloc(), gtalk_call(), gtalk_create_candidates(), gtalk_create_member(), gtalk_load_config(), gtalk_new(), gtalk_newcall(), gtalk_show_channels(), handle_cli_iax2_show_cache(), handle_cli_iax2_show_registry(), handle_cli_iax2_show_users(), handle_cli_indication_add(), handle_cli_indication_show(), handle_cli_keys_init(), handle_cli_misdn_send_display(), handle_cli_misdn_send_facility(), handle_cli_ulimit(), handle_command_response(), handle_common_options(), handle_dial_page(), handle_enbloc_call_message(), handle_gosub(), handle_memory_show_summary(), handle_pri_set_debug_file(), handle_request_info(), handle_request_invite(), handle_response(), handle_setcallerid(), handle_setcontext(), handle_setextension(), handle_soft_key_event_message(), handle_speed_dial_stat_req_message(), handle_statechange(), handle_stimulus_message(), handle_version_req_message(), has_voicemail(), hash_read(), iax2_ack_registry(), iax2_append_register(), iax2_call(), iax2_exec(), iax2_getpeername(), iax2_register(), iax2_transfer(), iax_frame_subclass2str(), iax_park(), iax_parse_ies(), iax_show_provisioning(), iax_template_copy(), ices_exec(), ifmodule_read(), iftime(), import_ch(), inboxcount2(), init_acf_query(), init_logger_chain(), init_profile(), init_state(), jingle_add_candidate(), jingle_alloc(), jingle_call(), jingle_create_candidates(), jingle_create_member(), jingle_load_config(), jingle_new(), jingle_newcall(), jingle_show_channels(), jingle_transmit_invite(), join_conference_bridge(), join_queue(), key_dial_page(), key_history(), key_main_page(), key_select_extension(), Keyfavorite(), leave_voicemail(), listfilter(), load_config(), load_module(), load_moh_classes(), load_odbc_config(), load_password(), load_values_config(), local_alloc(), local_ast_moh_start(), local_new(), local_read(), lock_read(), log_events(), login_exec(), lookup_iface(), main(), make_email_file(), manage_parkinglot(), manager_iax2_show_peer_list(), manager_iax2_show_registry(), manager_modulecheck(), masq_park_call(), math(), message_template_build(), message_template_create(), message_template_parse_filebody(), mgcp_call(), mgcp_new(), mgcp_request(), mgcp_ss(), minivm_accmess_exec(), minivm_account_func_read(), minivm_delete_exec(), minivm_greet_exec(), minivm_mwi_exec(), minivm_notify_exec(), misdn_answer(), misdn_call(), misdn_cfg_get(), misdn_cfg_get_desc(), misdn_cfg_get_name(), misdn_check_l2l1(), misdn_digit_end(), misdn_facility_exec(), misdn_hangup(), misdn_new(), misdn_overlap_dial_task(), misdn_request(), misdn_send_text(), misdn_set_opt_exec(), mkif(), mkintf(), moh_files_alloc(), moh_scan_files(), nbs_alloc(), nbs_new(), netconsole(), notify_new_message(), oh323_alloc(), oh323_call(), oh323_request(), open_mailbox(), osp_check_destination(), osp_create_provider(), osp_create_transaction(), page_exec(), park_call_exec(), park_call_full(), parse_config(), parse_moved_contact(), parse_naptr(), parse_ok_contact(), parse_register_contact(), parse_tone_zone(), ParseBookmark(), pbx_builtin_background(), pbx_builtin_saynumber(), pbx_extension_helper(), pbx_find_extension(), pbx_load_config(), pbx_load_users(), pbx_retrieve_variable(), pbx_substitute_variables(), pbx_substitute_variables_helper_full(), peek_read(), peer_status(), pgsql_reconnect(), phone_call(), phone_new(), play_record_review(), populate_defaults(), pri_dchannel(), private_enum_init(), process_dahdi(), process_message(), process_precache(), process_sdp(), profile_set_param(), proxy_allocate(), queue_set_param(), quote(), rcv_mac_addr(), read_agent_config(), read_config(), read_config_maps(), realtime_odbc(), realtime_peer(), realtime_switch_common(), realtime_update_peer(), realtimefield_read(), receive_ademco_contact_id(), record_exec(), register_exten(), register_peer_exten(), register_verify(), registry_rerequest(), reload_agents(), reload_config(), reload_followme(), reload_queue_rules(), reload_single_member(), remap_feature(), remove_from_queue(), reply_digest(), reqprep(), reset_user_pw(), respprep(), ring_entry(), rpt_call(), rt_extend_conf(), rt_handle_member_record(), run_externnotify(), search_directory_sub(), select_entry(), sendmail(), sendpage(), set(), set_c_e_p(), set_callforwards(), set_config(), set_destination(), set_ext_pri(), set_fn(), set_insecure_flags(), set_one_cid(), setup_incoming_call(), setup_privacy_args(), shared_read(), show_entry_history(), sip_new(), sip_park(), sip_poke_peer(), sip_prepare_socket(), sip_prune_realtime(), sip_register(), sip_request_call(), sip_show_inuse(), sip_sipredirect(), sip_subscribe_mwi(), skinny_new(), skinny_newcall(), skinny_register(), skinny_request(), skinny_ss(), smdi_load(), smdi_msg_read(), smdi_read(), sms_exec(), sms_handleincoming(), sms_handleincoming_proto2(), sms_writefile(), socket_read(), softhangup_exec(), spawn_dp_lookup(), spawn_mp3(), speech_grammar(), speech_read(), speech_score(), speech_text(), ss7_linkset(), ss_thread(), stat_read(), store_config(), store_odbc(), store_tone_zone_ring_cadence(), substring(), temp_peer(), term_color(), term_prompt(), timeout_read(), timezone_add(), transmit_callinfo(), transmit_cfwdstate(), transmit_connect_with_sdp(), transmit_dialednumber(), transmit_displaymessage(), transmit_displaynotify(), transmit_displaypromptstatus(), transmit_invite(), transmit_modify_with_sdp(), transmit_notify_custom(), transmit_notify_request(), transmit_notify_request_with_callerid(), transmit_refer(), transmit_state_notify(), try_calling(), try_load_key(), trylock_read(), txt_callback(), unistim_request(), unistim_sp(), unistim_ss(), unlock_read(), unregister_exten(), update_call_counter(), update_common_options(), uridecode(), vars2manager(), vm_authenticate(), vm_change_password(), vm_change_password_shell(), vm_execmain(), vmauthenticate(), wait_for_answer(), and write_metadata().
| 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".
| 0 | if val is a NULL pointer. | |
| -1 | if "true". | |
| 0 | otherwise. |
Definition at line 1328 of file utils.c.
References ast_strlen_zero().
Referenced by __ast_rtp_reload(), __ast_udptl_reload(), acf_transaction_write(), aji_create_client(), aji_load_config(), build_peer(), build_user(), dahdi_set_dnd(), find_realtime(), func_channel_write(), handle_common_options(), init_acf_query(), load_config(), load_odbc_config(), parse_empty_options(), reload_config(), run_agi(), set_config(), set_insecure_flags(), sla_build_trunk(), and strings_to_mask().
01329 { 01330 if (ast_strlen_zero(s)) 01331 return 0; 01332 01333 /* Determine if this is a false value */ 01334 if (!strcasecmp(s, "no") || 01335 !strcasecmp(s, "false") || 01336 !strcasecmp(s, "n") || 01337 !strcasecmp(s, "f") || 01338 !strcasecmp(s, "0") || 01339 !strcasecmp(s, "off")) 01340 return -1; 01341 01342 return 0; 01343 }
| int ast_get_time_t | ( | const char * | src, | |
| time_t * | dst, | |||
| time_t | _default, | |||
| int * | consumed | |||
| ) |
get values from config variables.
Definition at line 1732 of file utils.c.
References ast_strlen_zero().
Referenced by build_peer(), cache_lookup_internal(), handle_saydatetime(), load_password(), play_message_datetime(), process_clearcache(), realtime_peer(), and sayunixtime_exec().
01733 { 01734 long t; 01735 int scanned; 01736 01737 if (dst == NULL) 01738 return -1; 01739 01740 *dst = _default; 01741 01742 if (ast_strlen_zero(src)) 01743 return -1; 01744 01745 /* only integer at the moment, but one day we could accept more formats */ 01746 if (sscanf(src, "%30ld%n", &t, &scanned) == 1) { 01747 *dst = t; 01748 if (consumed) 01749 *consumed = scanned; 01750 return 0; 01751 } else 01752 return -1; 01753 }
| int ast_get_timeval | ( | const char * | src, | |
| struct timeval * | tv, | |||
| struct timeval | _default, | |||
| int * | consumed | |||
| ) |
get values from config variables.
Definition at line 1705 of file utils.c.
References ast_strlen_zero().
Referenced by acf_strftime().
01706 { 01707 long double dtv = 0.0; 01708 int scanned; 01709 01710 if (dst == NULL) 01711 return -1; 01712 01713 *dst = _default; 01714 01715 if (ast_strlen_zero(src)) 01716 return -1; 01717 01718 /* only integer at the moment, but one day we could accept more formats */ 01719 if (sscanf(src, "%30Lf%n", &dtv, &scanned) > 0) { 01720 dst->tv_sec = dtv; 01721 dst->tv_usec = (dtv - dst->tv_sec) * 1000000.0; 01722 if (consumed) 01723 *consumed = scanned; 01724 return 0; 01725 } else 01726 return -1; 01727 }
| void ast_join | ( | char * | s, | |
| size_t | len, | |||
| char *const | w[] | |||
| ) |
Definition at line 1451 of file utils.c.
Referenced by __ast_cli_generator(), ast_agi_register(), ast_agi_unregister(), ast_cli_command_full(), cli_console_sendtext(), console_sendtext(), find_best(), handle_cli_agi_show(), handle_cli_check_permissions(), handle_help(), help1(), help_workhorse(), set_full_cmd(), and write_htmldump().
01452 { 01453 int x, ofs = 0; 01454 const char *src; 01455 01456 /* Join words into a string */ 01457 if (!s) 01458 return; 01459 for (x = 0; ofs < len && w[x]; x++) { 01460 if (x > 0) 01461 s[ofs++] = ' '; 01462 for (src = w[x]; *src && ofs < len; src++) 01463 s[ofs++] = *src; 01464 } 01465 if (ofs == len) 01466 ofs--; 01467 s[ofs] = '\0'; 01468 }
| __inline__ char * ast_skip_blanks | ( | const char * | str | ) |
Gets a pointer to the first non-whitespace character in a string.
| str | the input string |
Definition at line 92 of file strings.h.
Referenced by __ast_cli_register(), __get_header(), add_redirect(), ast_callerid_parse(), ast_skip_nonblanks(), build_peer(), callerid_write(), check_auth(), check_via(), determine_firstline_parts(), do_say(), find_table_cb(), get_body_by_line(), get_calleridname(), get_sdp_line(), handle_incoming(), handle_request_invite(), handle_request_notify(), handle_response(), httpd_helper_thread(), make_components(), next_item(), parse_minse(), parse_session_expires(), parse_sip_options(), pbx_load_config(), process_sdp(), process_text_line(), reload_config(), reply_digest(), transmit_fake_auth_response(), transmit_invite(), xml_translate(), and xmldoc_get_formatted().
| __inline__ char * ast_skip_nonblanks | ( | const char * | str | ) |
Gets a pointer to first whitespace character in a string.
| str | the input string |
Definition at line 131 of file strings.h.
References ast_skip_blanks(), ast_trim_blanks(), and s.
Referenced by __ast_cli_register(), determine_firstline_parts(), handle_response(), and httpd_helper_thread().
| __inline__ int ast_str_append | ( | struct ast_str ** | buf, | |
| ssize_t | max_len, | |||
| const char * | fmt, | |||
| ... | ||||
| ) |
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 846 of file strings.h.
Referenced by __manager_event(), __queues_show(), _sip_tcp_helper_thread(), acf_curl_exec(), acf_odbc_read(), action_createconfig(), action_status(), action_userevent(), add_blank(), add_codec_to_sdp(), add_header(), add_line(), add_noncodec_to_sdp(), add_sdp(), add_tcodec_to_sdp(), add_vcodec_to_sdp(), app_exec(), append_var_and_value_to_filter(), ast_cdr_serialize_variables(), ast_eivr_getvariable(), ast_sched_report(), ast_term_color_code(), ast_xmldoc_build_seealso(), ast_xmldoc_printable(), authority_to_str(), build_peer(), CB_ADD(), CB_ADD_LEN(), cdr_handler(), chanavail_exec(), cli_alias_passthrough(), cli_prompt(), commit_exec(), destroy_curl(), destroy_pgsql(), encmethods_to_str(), function_realtime_read(), function_realtime_readdestroy(), generic_http_callback(), handle_cli_core_show_translation(), handle_cli_indication_show(), httpstatus_callback(), initreqprep(), listfilter(), load_column_config(), load_config(), log_jack_status(), meetme_cmd(), odbc_log(), pbx_builtin_serialize_variables(), peer_mailboxes_to_str(), pgsql_log(), pgsql_reconnect(), phoneprov_callback(), print_uptimestr(), process_text_line(), realtime_curl(), realtime_ldap_base_ap(), realtime_multi_curl(), realtime_multi_pgsql(), realtime_pgsql(), realtime_update2_handler(), realtimefield_read(), require_curl(), rollback_exec(), run_station(), send_eivr_event(), sqlite3_log(), store_curl(), store_pgsql(), substitute_escapes(), transmit_notify_with_mwi(), transmit_state_notify(), update2_curl(), update2_ldap(), update2_pgsql(), update2_prepare(), update_curl(), update_ldap(), update_pgsql(), userevent_exec(), xml_copy_escape(), xml_translate(), xmldoc_get_syntax_cmd(), xmldoc_parse_argument(), xmldoc_parse_cmd_enumlist(), xmldoc_parse_enumlist(), 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__ 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.
Definition at line 793 of file strings.h.
References ast_str_set_va().
Referenced by acf_odbc_read().
| __inline__ 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.
Definition at line 779 of file strings.h.
References __ast_str_helper2().
Referenced by listfilter(), and WriteMemoryCallback().
| __inline__ 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.
Same as ast_str_set_va(), but append to the current content.
Definition at line 765 of file strings.h.
References __ast_str_helper2().
Referenced by __manager_event(), and ast_str_set().
| __inline__ char * ast_str_buffer | ( | struct ast_str * | buf | ) |
Returns the string buffer within the ast_str buf.
| buf | A pointer to the ast_str structure. |
| A | pointer to the enclosed string. |
Definition at line 488 of file strings.h.
References ast_str::__AST_STR_STR, ast_str::__AST_STR_USED, and len().
Referenced by __ast_verbose_ap(), __iax2_show_peers(), __manager_event(), __queues_show(), __sip_reliable_xmit(), _sip_tcp_helper_thread(), acf_curl_exec(), acf_odbc_read(), acf_odbc_write(), action_createconfig(), action_status(), action_userevent(), ALLOC_COMMENT(), ast_agi_send(), ast_cli(), ast_eivr_getvariable(), ast_extension_state2(), ast_log(), ast_odbc_ast_str_SQLGetData(), ast_str_get_encoded_str(), ast_var_channels_table(), ast_xmldoc_build_arguments(), ast_xmldoc_build_seealso(), ast_xmldoc_printable(), astman_append(), authority_to_str(), build_peer(), cdr_handler(), chanavail_exec(), cli_alias_passthrough(), cli_match_char_tree(), cli_odbc_read(), cli_odbc_write(), cli_prompt(), commit_exec(), config_curl(), config_pgsql(), config_text_file_load(), dahdi_new(), destroy_curl(), destroy_pgsql(), dumpchan_exec(), eivr_comm(), find_realtime(), find_table(), function_realtime_read(), function_realtime_readdestroy(), handle_call_token(), handle_cli_core_show_translation(), handle_cli_iax2_show_peer(), handle_dbget(), handle_show_chanvar(), handle_showchan(), http_post_callback(), httpd_helper_thread(), iax_parse_ies(), leave_voicemail(), listfilter(), load_column_config(), log_jack_status(), log_match_char_tree(), manager_iax2_show_peer_list(), manager_log(), meetme_cmd(), meetme_show_cmd(), odbc_log(), pbx_find_extension(), pgsql_log(), pgsql_reconnect(), print_uptimestr(), process_text_line(), realtime_curl(), realtime_ldap_base_ap(), realtime_multi_curl(), realtime_multi_pgsql(), realtime_pgsql(), realtime_update2_handler(), realtimefield_read(), require_curl(), require_pgsql(), rollback_exec(), run_station(), say_periodic_announcement(), send_eivr_event(), sqlite3_log(), store_curl(), store_pgsql(), substitute_escapes(), system_exec_helper(), update2_curl(), update2_ldap(), update2_odbc(), update2_pgsql(), update2_prepare(), update_curl(), update_ldap(), update_pgsql(), userevent_exec(), vars2manager(), xmldoc_build_field(), xmldoc_get_formatted(), xmldoc_get_syntax_cmd(), xmldoc_parse_cmd_enumlist(), xmldoc_parse_para(), xmldoc_parse_variable(), and xmldoc_string_wrap().
| static force_inline int attribute_pure ast_str_case_hash | ( | const char * | str | ) | [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 896 of file strings.h.
Referenced by ast_tone_zone_hash(), conference_bridge_hash_cb(), dialog_hash_cb(), moh_class_hash(), parkinglot_hash_cb(), peer_hash_cb(), profile_hash_fn(), pvt_hash_cb(), queue_hash_cb(), routes_hash_fn(), tps_hash_cb(), and users_hash_fn().
| __inline__ struct ast_str * ast_str_create | ( | size_t | init_len | ) | [read] |
Create a malloc'ed dynamic length string.
| init_len | This is the initial length of the string buffer |
Definition at line 415 of file strings.h.
References ast_str::__AST_STR_LEN, ast_str::__AST_STR_STR, and ast_str::__AST_STR_USED.
Referenced by __ast_http_post_load(), __sip_reliable_xmit(), _sip_tcp_helper_thread(), acf_curl_exec(), action_status(), app_exec(), ast_http_error(), ast_xmldoc_build_arguments(), ast_xmldoc_build_seealso(), ast_xmldoc_printable(), cdr_handler(), cli_prompt(), config_curl(), config_text_file_load(), copy_request(), destroy_curl(), find_realtime(), generic_http_callback(), handle_dbget(), handle_updates(), httpstatus_callback(), iax_parse_ies(), init_appendbuf(), init_queue(), init_req(), init_resp(), leave_voicemail(), load_column_config(), load_config(), meetme_cmd(), meetme_show_cmd(), odbc_log(), pgsql_log(), pgsql_reconnect(), phoneprov_callback(), queue_set_param(), realtime_curl(), realtime_ldap_base_ap(), realtime_multi_curl(), require_curl(), require_pgsql(), run_station(), send_eivr_event(), sip_tcptls_write(), sipsock_read(), sqlite3_log(), store_curl(), update2_curl(), update2_ldap(), update_curl(), update_ldap(), userevent_exec(), xmldoc_get_formatted(), xmldoc_get_syntax_cmd(), xmldoc_parse_cmd_enumlist(), xmldoc_string_cleanup(), and xmldoc_string_wrap().
| static force_inline int attribute_pure ast_str_hash | ( | const char * | str | ) | [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 856 of file strings.h.
Referenced by alias_hash_cb(), ast_event_append_ie_str(), ast_event_hash_devstate(), ast_event_hash_devstate_change(), ast_event_hash_mwi(), ast_event_sub_append_ie_str(), entry_hash_fn(), group_hash_fn(), peer_hash_cb(), and user_hash_cb().
| static force_inline int ast_str_hash_add | ( | const char * | str, | |
| int | hash | |||
| ) | [static] |
Compute a hash value on a string.
| [in] | str | The string to add to the hash |
| [in] | hash | The hash value to add to |
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 881 of file strings.h.
Referenced by ast_event_hash_mwi().
| __inline__ int ast_str_make_space | ( | struct ast_str ** | buf, | |
| size_t | new_len | |||
| ) |
Make space in a new string (e.g. to read in data from a file)
Definition at line 573 of file strings.h.
Referenced by __ast_str_helper(), __ast_str_helper2(), acf_odbc_read(), acf_odbc_write(), ast_odbc_ast_str_SQLGetData(), ast_str_get_encoded_str(), ast_str_substitute_variables(), cli_odbc_read(), cli_odbc_write(), copy_request(), handle_dbget(), and listfilter().
| __inline__ void ast_str_reset | ( | struct ast_str * | buf | ) |
Reset the content of a dynamic string. Useful before a series of ast_str_append.
Definition at line 431 of file strings.h.
References ast_str::__AST_STR_STR, and ast_str::__AST_STR_USED.
Referenced by _sip_tcp_helper_thread(), acf_odbc_read(), action_status(), action_userevent(), app_exec(), ast_cdr_serialize_variables(), authority_to_str(), build_peer(), CB_RESET(), cli_prompt(), commit_exec(), config_text_file_load(), handle_request_do(), listfilter(), pbx_builtin_serialize_variables(), realtimefield_read(), rollback_exec(), and substitute_escapes().
| __inline__ int ast_str_set | ( | struct ast_str ** | buf, | |
| ssize_t | max_len, | |||
| const char * | fmt, | |||
| ... | ||||
| ) |
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 825 of file strings.h.
References ast_str_append_va().
Referenced by __ast_http_post_load(), __manager_event(), __queues_show(), __sip_reliable_xmit(), action_createconfig(), ast_extension_state2(), ast_http_error(), ast_sched_report(), ast_str_get_encoded_str(), build_peer(), cdr_handler(), check_auth(), cli_match_char_tree(), cli_odbc_read(), cli_prompt(), config_curl(), config_pgsql(), dahdi_new(), destroy_curl(), destroy_pgsql(), do_magic_pickup(), encmethods_to_str(), find_realtime(), find_table(), handle_call_token(), handle_cli_core_show_translation(), handle_cli_indication_show(), iax_parse_ies(), init_queue(), init_req(), init_resp(), leave_voicemail(), log_jack_status(), log_match_char_tree(), meetme_cmd(), meetme_show_cmd(), odbc_log(), pgsql_log(), pgsql_reconnect(), process_text_line(), queue_set_param(), realtime_curl(), realtime_multi_curl(), realtime_multi_pgsql(), realtime_pgsql(), realtime_update2_handler(), require_curl(), require_pgsql(), run_station(), sip_tcptls_write(), sipsock_read(), store_curl(), store_pgsql(), transmit_fake_auth_response(), update2_curl(), update2_pgsql(), update2_prepare(), update_curl(), and update_pgsql().
| __inline__ 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.
Definition at line 786 of file strings.h.
References __ast_str_helper2().
Referenced by realtimefield_read().
| __inline__ 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.
Definition at line 772 of file strings.h.
References __ast_str_helper2().
| __inline__ 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.
| 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)
AST_THREADSTORAGE(my_str, my_str_init); #define MY_STR_INIT_SIZE 128 ... void my_func(const char *fmt, ...) { struct ast_str *buf; va_list ap; if (!(buf = ast_str_thread_get(&my_str, MY_STR_INIT_SIZE))) return; ... va_start(fmt, ap); ast_str_set_va(&buf, 0, fmt, ap); va_end(ap); printf("This is the string we just built: %s\n", buf->str); ... }
Definition at line 754 of file strings.h.
References __ast_str_helper().
Referenced by __ast_verbose_ap(), ast_agi_send(), ast_cli(), ast_log(), ast_str_append_escapecommas(), and astman_append().
| __inline__ size_t ast_str_size | ( | struct ast_str * | buf | ) |
Returns the current maximum length (without reallocation) of the current buffer.
| buf | A pointer to the ast_str structure. |
| Current | maximum length of the buffer. |
Definition at line 477 of file strings.h.
References ast_str::__AST_STR_STR.
Referenced by ast_odbc_ast_str_SQLGetData(), ast_str_get_encoded_str(), handle_dbget(), load_config(), pbx_find_extension(), pgsql_reconnect(), and WriteMemoryCallback().
| __inline__ size_t ast_str_strlen | ( | struct ast_str * | buf | ) |
Returns the current length of the string stored within buf.
| buf | A pointer to the ast_str structure. |
Definition at line 466 of file strings.h.
References ast_str::__AST_STR_LEN.
Referenced by acf_curl_exec(), acf_odbc_read(), acf_odbc_write(), add_blank(), add_header(), add_line(), ALLOC_COMMENT(), ast_agi_send(), ast_cli(), ast_var_channels_table(), ast_xmldoc_build_arguments(), authority_to_str(), build_peer(), chanavail_exec(), commit_exec(), config_text_file_load(), encmethods_to_str(), handle_dbget(), handle_show_chanvar(), init_req(), load_column_config(), load_config(), manager_log(), odbc_log(), parse_request(), pgsql_log(), print_uptimestr(), rollback_exec(), say_periodic_announcement(), sqlite3_log(), WriteMemoryCallback(), xmldoc_build_field(), xmldoc_get_formatted(), and xmldoc_parse_variable().
| __inline__ struct ast_str * ast_str_thread_get | ( | struct ast_threadstorage * | ts, | |
| size_t | init_len | |||
| ) | [read] |
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:
AST_THREADSTORAGE(my_str, my_str_init); #define MY_STR_INIT_SIZE 128 ... void my_func(const char *fmt, ...) { struct ast_str *buf; if (!(buf = ast_str_thread_get(&my_str, MY_STR_INIT_SIZE))) return; ... }
Definition at line 637 of file strings.h.
References ast_str::__AST_STR_LEN, ast_str::__AST_STR_TS, and ast_str::__AST_STR_USED.
Referenced by __ast_verbose_ap(), __manager_event(), acf_odbc_read(), acf_odbc_write(), action_userevent(), ast_agi_send(), ast_cli(), ast_extension_state2(), ast_log(), astman_append(), check_auth(), cli_odbc_read(), cli_odbc_write(), commit_exec(), config_pgsql(), destroy_pgsql(), dumpchan_exec(), find_table(), handle_showchan(), listfilter(), pbx_find_extension(), realtime_multi_pgsql(), realtime_pgsql(), realtime_update2_handler(), realtimefield_read(), rollback_exec(), store_pgsql(), substitute_escapes(), system_exec_helper(), transmit_fake_auth_response(), update2_odbc(), update2_pgsql(), update2_prepare(), update_pgsql(), and vars2manager().
| __inline__ void ast_str_trim_blanks | ( | struct ast_str * | buf | ) |
Trims trailing whitespace characters from an ast_str string.
| buf | A pointer to the ast_str string. |
Definition at line 456 of file strings.h.
References ast_str::__AST_STR_USED.
Referenced by acf_curl_exec(), process_text_line(), and xmldoc_string_cleanup().
| __inline__ char * ast_str_truncate | ( | struct ast_str * | buf, | |
| ssize_t | len | |||
| ) |
Truncates the enclosed string to the given length.
| buf | A pointer to the ast_str structure. | |
| len | Maximum length of the string. |
| A | pointer to the resulting string. |
Definition at line 506 of file strings.h.
Referenced by ast_xmldoc_build_arguments(), xmldoc_get_formatted(), and xmldoc_string_wrap().
| __inline__ void ast_str_update | ( | struct ast_str * | buf | ) |
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 441 of file strings.h.
References ast_str::__AST_STR_STR, and ast_str::__AST_STR_USED.
Referenced by ast_odbc_ast_str_SQLGetData(), ast_str_get_encoded_str(), and handle_dbget().
| __inline__ char * ast_strip | ( | char * | s | ) |
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 150 of file strings.h.
Referenced by acf_if(), ast_el_add_history(), ast_playtones_start(), ast_register_file_version(), ast_strip_quoted(), build_profile(), check_blacklist(), config_text_file_load(), eivr_comm(), load_column_config(), load_config(), parse_cookies(), process_text_line(), realtime_multi_odbc(), realtime_multi_pgsql(), realtime_odbc(), realtime_pgsql(), reload_config(), reload_single_member(), set(), and store_tone_zone_ring_cadence().
| 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:
ast_strip_quoted(buf, "\"", "\""); ast_strip_quoted(buf, "'", "'"); ast_strip_quoted(buf, "[{(", "]})");
Definition at line 1209 of file utils.c.
References ast_strip().
Referenced by ast_register_file_version(), get_rdnis(), iftime(), load_values_config(), parse_cookies(), parse_dial_string(), and sip_register().
| static force_inline int attribute_pure ast_strlen_zero | ( | const char * | s | ) | [static] |
Definition at line 63 of file strings.h.
Referenced by __ast_bridge_technology_register(), __ast_callerid_generate(), __ast_channel_alloc_ap(), __ast_cli_generator(), __ast_cli_register(), __ast_http_load(), __ast_pbx_run(), __ast_request_and_dial(), __astman_get_header(), __has_voicemail(), __iax2_show_peers(), __init_manager(), __oh323_new(), __queues_show(), __sip_subscribe_mwi_do(), __ssl_setup(), _macro_exec(), _sip_show_peer(), _sip_show_peers(), _skinny_show_devices(), _skinny_show_lines(), acf_channel_read(), acf_curl_exec(), acf_if(), acf_import(), acf_isexten_exec(), acf_mailbox_exists(), acf_meetme_info(), acf_odbc_read(), acf_odbc_write(), acf_rand_exec(), acf_retrieve_docs(), acf_strptime(), acf_transaction_read(), acf_transaction_write(), acf_version_exec(), acf_vmcount_exec(), action_add_agi_cmd(), action_agent_logoff(), action_agents(), action_atxfer(), action_bridge(), action_challenge(), action_command(), action_coresettings(), action_coreshowchannels(), action_corestatus(), action_dahdidialoffhook(), action_dahdidndoff(), action_dahdidndon(), action_dahdishowchannels(), action_extensionstate(), action_getconfig(), action_getconfigjson(), action_getvar(), action_hangup(), action_listcategories(), action_mailboxcount(), action_mailboxstatus(), action_meetmelist(), action_originate(), action_ping(), action_redirect(), action_sendtext(), action_setvar(), action_status(), action_timeout(), action_transfer(), action_transferhangup(), action_updateconfig(), action_waitevent(), add_agent(), add_calltoken_ignore(), add_peer_mailboxes(), add_realm_authentication(), add_sdp(), add_sip_domain(), admin_exec(), adsi_exec(), adsi_message(), advanced_options(), aes_helper(), agent_call(), agent_devicestate(), agent_hangup(), agent_logoff_maintenance(), agent_new(), agent_read(), agent_request(), agents_show(), agents_show_online(), agi_exec_full(), agi_handle_command(), aji_log_hook(), aji_send_exec(), alarmreceiver_exec(), alsa_new(), answer_exec_enable(), app_exec(), append_mailbox_mapping(), append_transaction(), apply_general_options(), apply_options_full(), apply_outgoing(), apply_peer(), apply_plan_to_number(), aqm_exec(), ast_add_extension2_lockopt(), ast_agi_register(), ast_app_getdata(), ast_app_getdata_full(), ast_app_group_get_count(), ast_app_group_match_get_count(), ast_app_group_set_channel(), ast_app_group_split_group(), ast_bridge_call(), ast_bridge_features_enable(), ast_bridge_features_register(), ast_build_timing(), ast_call_forward(), ast_cdr_copy_vars(), ast_cdr_fork(), ast_cdr_getvar(), ast_cdr_getvar_internal(), ast_cdr_merge(), ast_cdr_noanswer(), ast_cdr_serialize_variables(), ast_cdr_setaccount(), ast_cli_complete(), ast_cli_perms_init(), ast_context_remove_extension_callerid2(), ast_db_gettree(), ast_dnsmgr_get(), ast_dnsmgr_lookup(), ast_explicit_goto(), ast_false(), ast_frame_dump(), ast_get_encoded_char(), ast_get_enum(), ast_get_group(), ast_get_indication_zone(), ast_get_time_t(), ast_get_timeval(), ast_iax2_new(), ast_include_new(), ast_is_valid_string(), ast_jb_read_conf(), ast_linear_stream(), ast_load_realtime(), ast_makesocket(), ast_module_check(), ast_monitor_change_fname(), ast_monitor_start(), ast_monitor_stop(), ast_odbc_sanity_check(), ast_pbx_outgoing_app(), ast_pbx_outgoing_exten(), ast_pickup_call(), ast_playtones_start(), ast_privacy_set(), ast_readconfig(), ast_register_application2(), ast_register_indication(), ast_remotecontrol(), ast_set_indication_country(), ast_speech_unregister(), ast_stream_and_wait(), ast_taskprocessor_get(), ast_true(), ast_tzset(), ast_var_channels_table(), ast_variable_delete(), ast_variable_update(), ast_xmldoc_build_arguments(), ast_xmldoc_build_seealso(), ast_xmldoc_load_documentation(), astman_get_variables(), astman_send_response_full(), async_wait(), asyncgoto_exec(), attempt_thread(), auth_exec(), authenticate(), authenticate_reply(), authenticate_verify(), autoanswer_complete(), background_detect_exec(), base64_decode(), base64_encode(), begin_dial_channel(), bridge_exec(), build_contact(), build_device(), build_extension(), build_gateway(), build_mapping(), build_parkinglot(), build_peer(), build_profile(), build_reply_digest(), build_route(), build_rpid(), build_user(), builtin_atxfer(), builtin_automixmonitor(), builtin_automonitor(), cache_get_callno_locked(), callerid_feed(), callerid_genmsg(), cb_events(), cdr_read(), cdr_write(), chan_misdn_log(), chanavail_exec(), change_monitor_action(), channel_admin_exec(), channel_spy(), chanspy_exec(), check_access(), check_auth(), check_blacklist(), check_day(), check_dow(), check_goto_on_transfer(), check_match(), check_month(), check_password(), check_peer_ok(), check_sip_domain(), check_timerange(), check_user_full(), cleaned_basedn(), clear_stats(), cli_alias_passthrough(), cli_console_dial(), cli_console_sendtext(), cli_odbc_read(), cli_odbc_write(), close_client(), commit_exec(), common_exec(), compare(), compile_script(), complete_number(), conf_exec(), conf_run(), confbridge_exec(), config_curl(), config_function_read(), config_ldap(), config_line(), config_module(), config_parse_variables(), config_text_file_load(), console_dial(), console_new(), console_sendtext(), controlplayback_exec(), copy_all_header(), copy_header(), copy_message(), copy_rules(), copy_via_headers(), count_exec(), create_addr(), create_addr_from_peer(), create_queue_member(), create_vmaccount(), csv_log(), csv_quote(), custom_log(), custom_prepare(), dahdi_call(), dahdi_handle_event(), dahdi_hangup(), dahdi_new(), dahdi_read(), dahdi_send_keypad_facility_exec(), database_increment(), deltree_exec(), destroy_endpoint(), destroy_pgsql(), destroy_station(), destroy_trans(), destroy_trunk(), device_state_cb(), devstate_change_collector_cb(), devstate_write(), dial_exec_full(), dial_trunk(), dialgroup_read(), dialgroup_refreshdb(), dialgroup_write(), dialout(), dictate_exec(), directory_exec(), disa_exec(), do_forward(), do_immediate_setup(), do_message(), do_monitor(), do_pause_or_unpause(), do_timelimit(), dump_agents(), dump_cause(), 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(), enable_jack_hook(), enum_callback(), enum_query_read(), enum_result_read(), env_write(), exec_exec(), execif_exec(), export_ch(), extenspy_exec(), extract_uri(), extstate_read(), fast_originate(), feature_attended_transfer(), feature_blind_transfer(), feature_exec_app(), feature_interpret(), feature_request_and_dial(), festival_exec(), fileexists_core(), find_account(), find_call(), find_call_cb(), find_cli(), find_conf_realtime(), find_engine(), find_line_by_name(), find_parkinglot(), find_queue_by_name_rt(), find_sdp(), find_sip_method(), find_table(), findparkinglotname(), forkcdr_exec(), forward_message(), ftype2mtype(), func_channels_read(), func_check_sipdomain(), func_header_read(), func_inheritance_write(), function_agent(), function_db_delete(), function_db_exists(), function_db_read(), function_db_write(), function_enum(), function_eval(), function_fieldqty(), function_realtime_read(), function_realtime_readdestroy(), function_realtime_store(), function_realtime_write(), function_txtcidname(), get_also_info(), get_destination(), get_ip_and_port_from_sdp(), get_range(), get_rdnis(), get_refer_info(), get_sip_pvt_byid_locked(), get_timerange(), get_transport_str2enum(), gosub_exec(), gosubif_exec(), goto_exten(), group_count_function_read(), group_function_read(), group_function_write(), group_list_function_read(), group_match_count_function_read(), group_show_channels(), gtalk_create_candidates(), gtalk_new(), handle_chanlist(), handle_cli_check_permissions(), handle_cli_config_reload(), handle_cli_devstate_change(), handle_cli_dialplan_save(), handle_cli_file_convert(), handle_cli_iax2_show_cache(), handle_cli_iax2_show_peer(), handle_cli_iax2_show_users(), handle_cli_realtime_pgsql_status(), handle_command_response(), handle_controlstreamfile(), handle_debug_dialplan(), handle_exec(), handle_getvariable(), handle_incoming(), handle_options(), handle_orig(), handle_playtones(), handle_pri_set_debug_file(), handle_queue_pause_member(), handle_queue_rule_show(), handle_request_bye(), handle_request_info(), handle_request_invite(), handle_request_notify(), handle_request_options(), handle_request_refer(), handle_request_subscribe(), handle_response(), handle_response_invite(), handle_response_notify(), handle_response_refer(), handle_response_register(), handle_saydatetime(), handle_show_dialplan(), handle_soft_key_event_message(), handle_speechrecognize(), handle_stimulus_message(), handle_subscribe(), handle_updates(), handle_verbose(), handle_voicemail_show_users(), has_voicemail(), hint_read(), httpd_helper_thread(), iax2_call(), iax2_datetime(), iax2_devicestate(), iax2_prov_app(), iax2_request(), iax_check_version(), iax_firmware_append(), iax_provflags2str(), ices_exec(), iconv_read(), iftime(), inboxcount2(), init_acf_query(), init_jack_data(), initreqprep(), insert_penaltychange(), inspect_module(), is_argument(), is_prefix(), is_valid_tone_zone(), isAnsweringMachine(), isexten_function_read(), jack_exec(), jb_choose_impl(), jingle_create_candidates(), jingle_new(), key_dial_page(), key_main_page(), kill_dead_queues(), launch_asyncagi(), launch_monitor_thread(), launch_netscript(), ldap_reconnect(), ldap_table_config_add_attribute(), leave_voicemail(), load_column_config(), load_config(), load_indications(), load_module(), load_moh_classes(), load_odbc_config(), load_values_config(), local_ast_moh_start(), local_attended_transfer(), log_events(), log_exec(), logger_print_normal(), login_exec(), loopback_parse(), lua_get_variable(), lua_get_variable_value(), main(), make_dir(), make_email_file(), make_filename(), make_logchannel(), manage_parkinglot(), manager_add_queue_member(), manager_dbdel(), manager_dbdeltree(), manager_dbget(), manager_dbput(), manager_iax2_show_peer_list(), manager_iax2_show_peers(), manager_iax2_show_registry(), manager_jabber_send(), manager_list_voicemail_users(), manager_modulecheck(), manager_park(), manager_parking_status(), manager_pause_queue_member(), manager_play_dtmf(), manager_queue_log_custom(), manager_queue_member_penalty(), manager_queue_rule_show(), manager_queues_status(), manager_queues_summary(), manager_remove_queue_member(), manager_rpt_status(), manager_show_dialplan(), manager_show_dialplan_helper(), manager_show_registry(), manager_sip_qualify_peer(), manager_sip_show_peer(), manager_sip_show_peers(), manager_sipnotify(), manager_skinny_show_device(), manager_skinny_show_devices(), manager_skinny_show_line(), manager_skinny_show_lines(), mark_dead_and_unfound(), matchcid(), math(), md5(), meetmemute(), message_template_find(), message_template_parse_filebody(), mgcp_call(), mgcp_hangup(), mgcp_new(), mgcp_request(), mgcp_ss(), mgcpsock_read(), 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(), misdn_answer(), misdn_call(), misdn_cfg_update_ptp(), misdn_check_l2l1(), misdn_facility_exec(), misdn_overlap_dial_task(), misdn_request(), misdn_set_opt_exec(), mixmonitor_exec(), mkintf(), monitor_dial(), morsecode_exec(), mp3_exec(), nbs_alloc(), next_channel(), notify_message(), notify_new_message(), odbc_log(), oh323_call(), oh323_request(), onedigit_goto(), orig_app(), orig_exten(), originate_exec(), osp_auth(), ospauth_exec(), ospfinished_exec(), osplookup_exec(), ospnext_exec(), oss_call(), oss_new(), page_exec(), park_call_exec(), park_call_full(), park_exec_full(), park_space_reserve(), parkandannounce_exec(), parse(), parse_config(), parse_cookies(), parse_dial_string(), parse_minse(), parse_register_contact(), parse_request(), parse_session_expires(), parse_sip_options(), parse_uri(), ParseBookmark(), pbx_builtin_answer(), pbx_builtin_background(), pbx_builtin_execiftime(), pbx_builtin_gotoif(), pbx_builtin_gotoiftime(), pbx_builtin_hangup(), pbx_builtin_importvar(), pbx_builtin_incomplete(), pbx_builtin_resetcdr(), pbx_builtin_saynumber(), pbx_builtin_setvar(), pbx_builtin_setvar_multiple(), pbx_builtin_waitexten(), pbx_checkcondition(), pbx_exec(), pbx_find_extension(), pbx_load_config(), pbx_load_users(), pbx_parseable_goto(), pbx_set_overrideswitch(), pbx_substitute_variables_helper_full(), peer_mailboxes_to_str(), pgsql_reconnect(), phone_call(), phone_new(), phoneprov_callback(), pickup_exec(), pickupchan_exec(), play_file(), play_mailbox_owner(), play_message(), play_message_callerid(), play_message_category(), play_message_datetime(), play_moh_exec(), play_record_review(), playback_exec(), poll_subscribed_mailboxes(), port_str2int(), post_cdr(), pp_each_extension_exec(), pp_each_user_exec(), pqm_exec(), prep_email_sub_vars(), pri_dchannel(), print_ext(), privacy_exec(), proc_422_rsp(), process_ast_dsp(), process_dahdi(), process_echocancel(), process_message(), process_message_callback(), process_sdp(), process_sdp_o(), process_text_line(), process_token(), proxy_allocate(), ql_exec(), queue_exec(), queue_function_memberpenalty_read(), queue_function_memberpenalty_write(), queue_function_qac(), queue_function_qac_dep(), queue_function_queuememberlist(), queue_function_queuewaitingcount(), queue_function_var(), queue_mwi_event(), queue_reload_request(), quit_handler(), quote(), rcv_mac_addr(), rcvfax_exec(), read_agent_config(), read_config(), read_exec(), readexten_exec(), readfile_exec(), real_ctx(), 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_odbc(), realtime_multi_pgsql(), realtime_odbc(), realtime_pgsql(), realtime_update_peer(), realtimefield_read(), receive_ademco_contact_id(), record_exec(), register_exten(), register_peer_exten(), register_verify(), registry_rerequest(), reload_config(), reload_followme(), reload_queue_members(), reload_queues(), reload_single_member(), replace_cid(), reply_digest(), reqprep(), requirecalltoken_mark_auto(), respprep(), retrydial_exec(), ring_entry(), rollback_exec(), rotate_file(), rpt_exec(), rpt_manager_do_stats(), rpt_manager_success(), rqm_exec(), rt_handle_member_record(), run_agi(), run_externnotify(), search_directory(), search_directory_sub(), SendDialTone(), senddtmf_exec(), sendimage_exec(), sendmail(), sendpage(), sendurl_exec(), set(), set_agentbycallerid(), set_bridge_features_on_config(), set_callforwards(), set_config(), set_insecure_flags(), set_local_info(), set_member_paused(), set_member_penalty(), set_moh_exec(), set_nonce_randdata(), set_one_cid(), setup_dahdi(), setup_incoming_call(), setup_privacy_args(), sha1(), shared_read(), shared_write(), shell_helper(), show_main_page(), sip_addheader(), sip_hangup(), sip_new(), sip_park(), sip_poke_peer(), sip_prepare_socket(), sip_register(), sip_removeheader(), sip_request_call(), sip_show_channel(), sip_show_settings(), sip_show_user(), sip_sipredirect(), sip_subscribe_mwi(), sip_uri_headers_cmp(), sip_uri_params_cmp(), skel_exec(), skinny_hold(), skinny_new(), skinny_register(), skinny_request(), skinny_ss(), sla_build_station(), sla_build_trunk(), sla_check_device(), sla_queue_event_conf(), sla_ring_station(), sla_station_exec(), sla_trunk_exec(), smdi_msg_find(), smdi_msg_read(), smdi_msg_retrieve_read(), sms_exec(), sndfax_exec(), socket_process(), softhangup_exec(), spawn_mp3(), speech_background(), split_ext(), ss7_apply_plan_to_number(), ss7_linkset(), ss7_start_call(), ss_thread(), start_monitor_action(), start_monitor_exec(), static_callback(), stop_monitor_action(), store_config(), strings_to_mask(), substituted(), sysinfo_helper(), system_exec_helper(), testclient_exec(), testserver_exec(), transfer_exec(), transmit_cfwdstate(), transmit_fake_auth_response(), transmit_invite(), transmit_modify_request(), transmit_modify_with_sdp(), transmit_notify_request(), transmit_notify_request_with_callerid(), transmit_notify_with_mwi(), transmit_refer(), transmit_register(), transmit_request_with_auth(), try_calling(), try_firmware(), tryexec_exec(), unalloc_sub(), unistim_new(), unistim_request(), unistim_send_mwi_to_peer(), unregister_exten(), update_bridge_vars(), update_call_counter(), update_realtime_member_field(), update_registry(), upqm_exec(), uridecode(), uriencode(), usbradio_new(), userevent_exec(), valid_exit(), verbose_exec(), vm_authenticate(), vm_box_exists(), vm_exec(), vm_execmain(), vm_newuser(), vm_options(), vmauthenticate(), vmu_tm(), wait_for_answer(), wait_for_hangup(), wait_for_winner(), waituntil_exec(), word_match(), xml_translate(), xmldoc_build_field(), xmldoc_get_syntax_fun(), xmldoc_parse_specialtags(), and zapateller_exec().
| __inline__ char * ast_trim_blanks | ( | char * | str | ) |
Trims trailing whitespace characters from a string.
| str | the input string |
Definition at line 117 of file strings.h.
Referenced by ast_callerid_parse(), ast_skip_nonblanks(), callerid_write(), determine_firstline_parts(), do_say(), httpd_helper_thread(), pbx_load_config(), 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".
| 0 | if val is a NULL pointer. | |
| -1 | if "true". | |
| 0 | otherwise. |
Definition at line 1311 of file utils.c.
References ast_strlen_zero().
Referenced by __ast_http_load(), __ast_rtp_reload(), __ast_udptl_reload(), __init_manager(), _parse(), acf_curlopt_write(), acf_transaction_write(), action_agent_logoff(), action_bridge(), action_originate(), action_updateconfig(), aji_create_client(), aji_load_config(), apply_general_options(), apply_option(), apply_outgoing(), ast_jb_read_conf(), ast_readconfig(), build_device(), build_gateway(), build_peer(), build_user(), config_parse_variables(), connect_link(), dahdi_set_dnd(), do_reload(), do_timelimit(), festival_exec(), func_channel_write(), func_inheritance_write(), get_encrypt_methods(), gtalk_load_config(), handle_common_options(), handle_logger_set_level(), handle_t38_options(), init_logger_chain(), jingle_load_config(), load_config(), load_config_meetme(), load_module(), load_modules(), load_moh_classes(), load_odbc_config(), load_rpt_vars(), local_ast_moh_start(), login_exec(), manager_add_queue_member(), manager_pause_queue_member(), message_template_build(), misdn_answer(), odbc_load_module(), osp_load(), parse_config(), parse_empty_options(), pbx_load_config(), pbx_load_users(), process_dahdi(), process_echocancel(), queue_set_global_params(), queue_set_param(), read_agent_config(), realtime_directory(), reload_config(), run_startup_commands(), search_directory(), search_directory_sub(), set_active(), set_config(), sla_load_config(), smdi_load(), speex_write(), start_monitor_action(), strings_to_mask(), update_common_options(), xmldoc_get_syntax_cmd(), and xmldoc_get_syntax_fun().
01312 { 01313 if (ast_strlen_zero(s)) 01314 return 0; 01315 01316 /* Determine if this is a true value */ 01317 if (!strcasecmp(s, "yes") || 01318 !strcasecmp(s, "true") || 01319 !strcasecmp(s, "y") || 01320 !strcasecmp(s, "t") || 01321 !strcasecmp(s, "1") || 01322 !strcasecmp(s, "on")) 01323 return -1; 01324 01325 return 0; 01326 }
| 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 1245 of file utils.c.
01246 { 01247 char c, *ret, *dst; 01248 01249 if (src == NULL) 01250 return NULL; 01251 for (ret = dst = src; (c = *src++); *dst++ = c ) { 01252 if (c != '\\') 01253 continue; /* copy char at the end of the loop */ 01254 switch ((c = *src++)) { 01255 case '\0': /* special, trailing '\' */ 01256 c = '\\'; 01257 break; 01258 case 'b': /* backspace */ 01259 c = '\b'; 01260 break; 01261 case 'f': /* form feed */ 01262 c = '\f'; 01263 break; 01264 case 'n': 01265 c = '\n'; 01266 break; 01267 case 'r': 01268 c = '\r'; 01269 break; 01270 case 't': 01271 c = '\t'; 01272 break; 01273 } 01274 /* default, use the char literally */ 01275 } 01276 *dst = '\0'; 01277 return ret; 01278 }
| char* ast_unescape_semicolon | ( | char * | s | ) |
Strip backslash for "escaped" semicolons, the string to be stripped (will be modified).
Definition at line 1226 of file utils.c.
Referenced by transmit_invite(), and transmit_notify_custom().
1.6.2