#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. | |
int | ast_check_digits (const char *arg) |
Check if a string is only digits. | |
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, const 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 (const 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. | |
int | ast_str_copy_string (struct ast_str **dst, struct ast_str *src) |
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 (const struct ast_str *buf) |
Returns the current maximum length (without reallocation) of the current buffer. | |
size_t | ast_str_strlen (const struct ast_str *buf) |
Returns the current length of the string stored within buf. | |
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_tech_to_upper (char *dev_str) |
Convert the tech portion of a device string to upper case. | |
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). |
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 608 of file strings.h.
Referenced by __ast_manager_event_multichan(), __iax2_show_peers(), __queues_show(), _sip_show_peer(), action_createconfig(), action_listcommands(), action_login(), add_cc_call_info_to_response(), add_ipv4_ie(), add_rpid(), add_sdp(), add_timeval_ie(), alloc_event(), aocmessage_get_unit_entry(), app_exec(), ast_eivr_getvariable(), ast_str_encode_mime(), ast_var_channels_table(), build_peer(), cc_extension_monitor_init(), cc_generic_agent_start_monitoring(), chanavail_exec(), cli_alias_passthrough(), cli_match_char_tree(), construct_pidf_body(), do_magic_pickup(), function_realtime_read(), function_realtime_readdestroy(), function_sippeer(), generate_uri(), get_pidf_body(), handle_call_token(), handle_cli_core_show_translation(), handle_cli_iax2_show_peer(), handle_cli_indication_show(), handle_show_chanvar(), handle_showchan(), handle_showmanager(), handle_showmancmd(), handle_showmancmds(), hashkeys_read(), hashkeys_read2(), initreqprep(), log_jack_status(), manager_iax2_show_peer_list(), peers_data_provider_get(), print_uptimestr(), process_sdp(), sendtext_exec(), serialize_showchan(), show_channels_cb(), sig_pri_start_pri(), sip_send_mwi_to_peer(), sip_show_sched(), transmit_info_with_aoc(), transmit_notify_with_mwi(), transmit_state_notify(), and wait_for_answer().
#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 83 of file strings.h.
Referenced by __analog_handle_event(), __ast_goto_if_exists(), __ast_pbx_run(), _macro_exec(), _skinny_show_line(), acf_isexten_exec(), action_agents(), action_coreshowchannels(), action_meetmelist(), analog_call(), analog_ss_thread(), ast_app_dtget(), ast_bridge_call(), ast_cel_report_event(), ast_channel_bridge(), ast_channel_set_caller_event(), ast_hangup(), ast_setstate(), background_detect_exec(), builtin_automixmonitor(), builtin_automonitor(), collect_digits(), conf_run(), console_call(), console_transfer(), copy_message(), dahdi_handle_dtmf(), dahdi_handle_event(), dial_exec_full(), disa_exec(), do_forward(), find_matching_endwhile(), findmeexec(), forward_message(), gosub_exec(), handle_chanlist(), handle_cli_misdn_show_channels(), handle_gosub(), handle_setpriority(), handle_showchan(), isAnsweringMachine(), isexten_function_read(), join_queue(), leave_voicemail(), local_call(), manager_bridge_event(), manager_parking_status(), manager_queues_status(), mgcp_call(), mgcp_hangup(), mgcp_ss(), minivm_greet_exec(), minivm_notify_exec(), misdn_copy_redirecting_from_ast(), misdn_get_connected_line(), misdn_write(), my_handle_dtmf(), my_set_callerid(), ospauth_exec(), osplookup_exec(), oss_call(), park_call_full(), parkandannounce_exec(), parked_call_exec(), party_id_read(), pbx_builtin_background(), pbx_builtin_waitexten(), pbx_parseable_goto(), phase_e_handler(), post_manager_event(), process_ast_dsp(), process_sdp(), queue_exec(), readexten_exec(), release_chan(), report_new_callerid(), ring_entry(), senddialevent(), serialize_showchan(), set_one_cid(), setup_env(), sig_pri_call(), sig_pri_event_party_id(), sip_read(), skinny_answer(), skinny_call(), skinny_indicate(), skinny_ss(), sms_exec(), socket_process(), state_notify_build_xml(), update_connectedline(), valid_exit(), vm_authenticate(), waitstream_core(), and write_metadata().
#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 77 of file strings.h.
Referenced by __analog_handle_event(), __ast_channel_alloc_ap(), __ast_cli_register(), __init_manager(), __ssl_setup(), _sip_show_peer(), _skinny_show_device(), _skinny_show_line(), acf_curl_helper(), acf_if(), acf_transaction_write(), action_agents(), action_coreshowchannels(), action_getvar(), action_reload(), action_setvar(), action_status(), add_peer_mailboxes(), add_peer_mwi_subs(), add_rpid(), agent_hangup(), aji_handle_presence(), aji_initialize(), aji_test(), alloc_event(), analog_hangup(), analog_ss_thread(), app_exec(), array(), ast_app_run_macro(), ast_async_goto(), ast_bridge_call(), ast_bridge_timelimit(), ast_bt_get_symbols(), ast_call_forward(), ast_cc_call_init(), ast_cdr_end(), ast_cdr_init(), ast_cdr_serialize_variables(), ast_cdr_setapp(), ast_cdr_update(), ast_cel_fill_record(), ast_cel_get_ama_flag_name(), ast_cel_get_type_name(), ast_cel_report_event(), ast_channel_connected_line_macro(), ast_channel_redirecting_macro(), ast_cli_command_full(), ast_do_masquerade(), ast_hangup(), ast_play_and_record_full(), ast_queue_log(), ast_sockaddr_parse(), ast_sockaddr_resolve(), authenticate(), build_callid_pvt(), build_callid_registry(), build_peer(), build_route(), builtin_automixmonitor(), builtin_automonitor(), calltoken_required(), cc_generic_agent_init(), cc_interfaces_datastore_init(), cdr_handler(), check_post(), common_exec(), config_curl(), config_handler(), config_parse_variables(), create_dynamic_parkinglot(), create_queue_member(), dahdi_handle_dtmf(), dahdi_handle_event(), dahdi_hangup(), dahdi_show_channel(), dbt_data2str_full(), dial_exec_full(), do_forward(), dundi_exec(), enable_jack_hook(), execif_exec(), fast_originate(), feature_check(), feature_interpret(), file_write(), find_conf(), forward_message(), generic_recall(), get_also_info(), get_cached_mwi(), get_cid_name(), get_destination(), get_refer_info(), goto_exten(), gtalk_add_candidate(), gtalk_newcall(), gtalk_parser(), gtalk_response(), gtalk_ringing_ack(), 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_manager_show_settings(), handle_request_invite(), handle_request_subscribe(), 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(), load_module(), local_read(), login_exec(), make_email_file(), manage_parked_call(), manager_dbput(), manager_queue_log_custom(), manager_queue_reload(), manager_show_registry(), misdn_cfg_get(), misdn_copy_redirecting_from_ast(), misdn_get_connected_line(), mstime(), my_handle_dtmf(), npval(), on_dns_update_registry(), originate_exec(), oss_call(), park_call_exec(), park_call_full(), park_space_reserve(), pbx_builtin_execiftime(), pbx_builtin_waitexten(), pbx_exec(), pbx_extension_helper(), peer_mailboxes_to_str(), pgsql_reconnect(), phase_e_handler(), play_mailbox_owner(), play_moh_exec(), prep_email_sub_vars(), print_app_docs(), process_sdp(), process_text_line(), queue_exec(), realtime_common(), realtime_curl(), realtime_destroy_handler(), realtime_directory(), realtime_handler(), realtime_multi_curl(), realtime_multi_handler(), realtime_store_handler(), realtime_update2_handler(), realtime_update_handler(), receivefax_exec(), register_exten(), register_group_feature(), register_peer_exten(), reload_config(), return_exec(), ring_entry(), rt_handle_member_record(), select_entry(), send_provisional_keepalive_full(), sendfax_exec(), sendpage(), serialize_showchan(), set_channel_variables(), set_config(), set_member_paused(), set_one_cid(), setup_env(), shared_write(), show_channels_cb(), sig_pri_event_party_id(), sip_parse_register_line(), sip_read(), 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(), static_callback(), testtime_write(), transmit_notify_with_mwi(), transmit_register(), unregister_exten(), and update_realtime_members().
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 700 of file strings.h.
00700 { 00701 /*! An error has occurred and the contents of the dynamic string 00702 * are undefined */ 00703 AST_DYNSTR_BUILD_FAILED = -1, 00704 /*! The buffer size for the dynamic string had to be increased, and 00705 * __ast_str_helper() needs to be called again after 00706 * a va_end() and va_start(). This return value is legacy and will 00707 * no longer be used. 00708 */ 00709 AST_DYNSTR_BUILD_RETRY = -2 00710 };
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.
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 59 of file strings.c.
References AST_DYNSTR_BUILD_FAILED, ast_str_make_space(), ast_verbose, and len().
Referenced by ast_str_set_va().
00062 { 00063 int res, need; 00064 int offset = (append && (*buf)->__AST_STR_LEN) ? (*buf)->__AST_STR_USED : 0; 00065 va_list aq; 00066 00067 do { 00068 if (max_len < 0) { 00069 max_len = (*buf)->__AST_STR_LEN; /* don't exceed the allocated space */ 00070 } 00071 /* 00072 * Ask vsnprintf how much space we need. Remember that vsnprintf 00073 * does not count the final <code>'\0'</code> so we must add 1. 00074 */ 00075 va_copy(aq, ap); 00076 res = vsnprintf((*buf)->__AST_STR_STR + offset, (*buf)->__AST_STR_LEN - offset, fmt, aq); 00077 00078 need = res + offset + 1; 00079 /* 00080 * If there is not enough space and we are below the max length, 00081 * reallocate the buffer and return a message telling to retry. 00082 */ 00083 if (need > (*buf)->__AST_STR_LEN && (max_len == 0 || (*buf)->__AST_STR_LEN < max_len) ) { 00084 int len = (int)(*buf)->__AST_STR_LEN; 00085 if (max_len && max_len < need) { /* truncate as needed */ 00086 need = max_len; 00087 } else if (max_len == 0) { /* if unbounded, give more room for next time */ 00088 need += 16 + need / 4; 00089 } 00090 if (0) { /* debugging */ 00091 ast_verbose("extend from %d to %d\n", len, need); 00092 } 00093 if ( 00094 #if (defined(MALLOC_DEBUG) && !defined(STANDALONE)) 00095 _ast_str_make_space(buf, need, file, lineno, function) 00096 #else 00097 ast_str_make_space(buf, need) 00098 #endif 00099 ) { 00100 ast_verbose("failed to extend from %d to %d\n", len, need); 00101 va_end(aq); 00102 return AST_DYNSTR_BUILD_FAILED; 00103 } 00104 (*buf)->__AST_STR_STR[offset] = '\0'; /* Truncate the partial write. */ 00105 00106 /* Restart va_copy before calling vsnprintf() again. */ 00107 va_end(aq); 00108 continue; 00109 } 00110 va_end(aq); 00111 break; 00112 } while (1); 00113 /* update space used, keep in mind the truncation */ 00114 (*buf)->__AST_STR_USED = (res + offset > (*buf)->__AST_STR_LEN) ? (*buf)->__AST_STR_LEN - 1: res + offset; 00115 00116 return res; 00117 }
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 119 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().
00120 { 00121 int dynamic = 0; 00122 char *ptr = append ? &((*buf)->__AST_STR_STR[(*buf)->__AST_STR_USED]) : (*buf)->__AST_STR_STR; 00123 00124 if (maxlen < 1) { 00125 if (maxlen == 0) { 00126 dynamic = 1; 00127 } 00128 maxlen = (*buf)->__AST_STR_LEN; 00129 } 00130 00131 while (*src && maxsrc && maxlen && (!escapecommas || (maxlen - 1))) { 00132 if (escapecommas && (*src == '\\' || *src == ',')) { 00133 *ptr++ = '\\'; 00134 maxlen--; 00135 (*buf)->__AST_STR_USED++; 00136 } 00137 *ptr++ = *src++; 00138 maxsrc--; 00139 maxlen--; 00140 (*buf)->__AST_STR_USED++; 00141 00142 if ((ptr >= (*buf)->__AST_STR_STR + (*buf)->__AST_STR_LEN - 3) || 00143 (dynamic && (!maxlen || (escapecommas && !(maxlen - 1))))) { 00144 char *oldbase = (*buf)->__AST_STR_STR; 00145 size_t old = (*buf)->__AST_STR_LEN; 00146 if (ast_str_make_space(buf, (*buf)->__AST_STR_LEN * 2)) { 00147 /* If the buffer can't be extended, end it. */ 00148 break; 00149 } 00150 /* What we extended the buffer by */ 00151 maxlen = old; 00152 00153 ptr += (*buf)->__AST_STR_STR - oldbase; 00154 } 00155 } 00156 if (__builtin_expect(!maxlen, 0)) { 00157 ptr--; 00158 } 00159 *ptr = '\0'; 00160 return (*buf)->__AST_STR_STR; 00161 }
int ast_build_string | ( | char ** | buffer, | |
size_t * | space, | |||
const char * | fmt, | |||
... | ||||
) |
Build a string in a buffer, designed to be called repeatedly.
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 1339 of file utils.c.
References ast_build_string_va().
Referenced by ast_fax_caps_to_str(), config_odbc(), generate_filenames_string(), handle_speechrecognize(), pp_each_extension_helper(), and pp_each_user_helper().
01340 { 01341 va_list ap; 01342 int result; 01343 01344 va_start(ap, fmt); 01345 result = ast_build_string_va(buffer, space, fmt, ap); 01346 va_end(ap); 01347 01348 return result; 01349 }
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 1320 of file utils.c.
Referenced by ast_build_string().
01321 { 01322 int result; 01323 01324 if (!buffer || !*buffer || !space || !*space) 01325 return -1; 01326 01327 result = vsnprintf(*buffer, *space, fmt, ap); 01328 01329 if (result < 0) 01330 return -1; 01331 else if (result > *space) 01332 result = *space; 01333 01334 *buffer += result; 01335 *space -= result; 01336 return 0; 01337 }
int ast_check_digits | ( | const char * | arg | ) | [inline] |
Check if a string is only digits.
1 | The string contains only digits | |
0 | The string contains non-digit characters |
Definition at line 897 of file strings.h.
Referenced by create_addr().
void ast_copy_string | ( | char * | dst, | |
const char * | src, | |||
size_t | size | |||
) | [inline] |
Size-limited null-terminating string copy.
dst | The destination buffer. | |
src | The source string | |
size | The size of the destination buffer |
Definition at line 223 of file strings.h.
Referenced by __analog_handle_event(), __analog_ss_thread(), __ast_channel_alloc_ap(), __ast_context_destroy(), __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_helper(), 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_mailbox_exists(), acf_transaction_read(), acf_version_exec(), action_originate(), actual_load_config(), add_agent(), add_cc_call_info_to_response(), 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(), aji_create_buddy(), aji_create_client(), aji_find_version(), aji_handle_message(), aji_handle_presence(), alarmreceiver_exec(), alloc_profile(), alsa_new(), analog_call(), analog_hangup(), analog_ss_thread(), announce_thread(), answer_call(), answer_exec_enable(), aoc_create_ie_data(), aoc_create_ie_data_charging_rate(), aoc_parse_ie_charging_rate(), app_exec(), append_mailbox(), apply_general_options(), apply_option(), apply_options_full(), ast_add_extension2_lockopt(), 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_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_cc_extension_monitor_add_dialstring(), ast_cc_get_param(), 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_setpeeraccount(), ast_cdr_setuserfield(), ast_cdr_update(), ast_cel_fabricate_channel_from_event(), ast_channel_destructor(), ast_channel_get_cc_agent_type(), ast_channel_get_device_name(), ast_channel_get_full(), ast_cli_completion_matches(), ast_context_find(), ast_context_find_or_create(), ast_context_remove_extension_callerid2(), ast_db_get(), ast_devstate_prov_add(), ast_do_masquerade(), ast_eivr_getvariable(), ast_event_subscribe(), ast_explicit_goto(), ast_expr(), ast_frame_dump(), ast_func_read(), 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_makesocket(), ast_monitor_change_fname(), ast_monitor_stop(), ast_pbx_outgoing_app(), ast_pbx_outgoing_exten(), ast_privacy_check(), ast_privacy_set(), ast_read_image(), ast_readconfig(), ast_remove_hint(), 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_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_vi(), 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_vi(), ast_say_number_full_zh(), ast_set_cc_agent_dialstring(), ast_set_cc_callback_macro(), ast_setstate(), AST_TEST_DEFINE(), ast_tryconnect(), ast_tzset(), ast_unregister_indication_country(), 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_mapping(), build_peer(), build_reply_digest(), build_route(), build_user(), cache_lookup(), cache_lookup_internal(), calendar_event_read(), calendar_join_attendees(), calendar_query_result_exec(), callerid_feed(), callerid_feed_jp(), callerid_read(), callerpres_read(), CB_ADD_LEN(), cb_events(), cc_build_payload(), cc_generic_agent_init(), cdata(), change_password_realtime(), channel_iterator_search(), 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_pgsql(), config_text_file_load(), connectedline_read(), console_dial(), construct_pidf_body(), copy_message(), copy_via_headers(), create_addr(), create_dynamic_parkinglot(), create_epa_entry(), create_followme_number(), create_parkinglot(), create_queue_member(), create_vmaccount(), crement_function_read(), csv_quote(), cut_internal(), dahdi_call(), dahdi_func_read(), dahdi_handle_event(), dahdi_hangup(), dahdi_new(), dahdi_queryoption(), devstate_read(), dial_exec_full(), dialgroup_read(), dialgroup_write(), dialout(), dictate_exec(), disa_exec(), do_forward(), do_idle_thread(), do_notify(), do_reload(), 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_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(), epoch_to_exchange_time(), external_rtp_create(), extract_uri(), exts_compare(), extstate_read(), filename_parse(), find_account(), find_agent_callbacks(), find_cache(), find_conf(), find_conf_realtime(), find_context(), find_context_locked(), find_engine(), find_line_by_name(), find_or_create(), find_peer(), find_realtime_gw(), 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(), generate_uri(), generic_recall(), get_also_info(), get_date(), get_destination(), get_domain(), get_esc_entry(), get_name_and_number(), get_pai(), get_pidf_body(), get_rdnis(), get_refer_info(), get_rpid(), 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_new(), gtalk_newcall(), gtalk_ringing_ack(), 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_pri_set_debug_file(), handle_request_info(), handle_request_invite(), handle_response(), handle_response_publish(), handle_setcallerid(), handle_setcontext(), handle_setextension(), handle_soft_key_event_message(), handle_statechange(), handle_stimulus_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(), initreqprep(), 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_password(), local_alloc(), local_ast_moh_start(), local_attended_transfer(), local_new(), local_read(), lock_read(), log_events(), login_exec(), lookup_iface(), main(), make_email_file(), make_logchannel(), 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_copy_redirecting_from_ast(), misdn_digit_end(), misdn_facility_ie_handler(), misdn_get_connected_line(), misdn_hangup(), misdn_is_msn_valid(), misdn_new(), misdn_request(), misdn_send_text(), misdn_set_opt_exec(), mkif(), moh_files_alloc(), moh_scan_files(), my_dial_digits(), my_distinctive_ring(), my_get_callerid(), my_new_pri_ast_channel(), my_pri_init_config(), my_pri_make_cc_dialstring(), my_set_callerid(), my_set_dnid(), my_set_rdnis(), nbs_alloc(), nbs_new(), netconsole(), notify_new_message(), odbc_log(), oh323_alloc(), oh323_call(), oh323_request(), open_mailbox(), osp_convert_inout(), osp_convert_outin(), osp_create_provider(), osp_create_transaction(), osp_report_qos(), ospfinished_exec(), osplookup_exec(), page_exec(), park_call_exec(), park_call_full(), parkinglot_config_read(), parse_config(), parse_moved_contact(), parse_naptr(), parse_ok_contact(), parse_options(), parse_register_contact(), parse_sip_options(), parse_tag(), parse_tone_zone(), ParseBookmark(), party_id_read(), party_name_read(), party_number_read(), party_subaddress_read(), pbx_builtin_background(), pbx_builtin_saynumber(), pbx_extension_helper(), 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(), pktccops_show_cmtses(), pktccops_show_gates(), play_record_review(), populate_defaults(), pri_dchannel(), pri_ss_thread(), private_enum_init(), process_applicationmap_line(), process_precache(), process_sdp(), profile_set_param(), proxy_from_config(), queue_set_param(), quote(), rcv_mac_addr(), read_agent_config(), read_config(), read_config_maps(), read_password_from_file(), realtime_common(), realtime_odbc(), realtime_peer(), realtime_peer_by_addr(), realtime_switch_common(), realtime_update_peer(), realtimefield_read(), receive_ademco_contact_id(), record_exec(), redirecting_read(), register_exten(), register_peer_exten(), register_verify(), registry_rerequest(), reload_config(), reload_followme(), reload_queue_rules(), reload_single_member(), remap_feature(), remove_from_queue(), reply_digest(), reqprep(), reset_user_pw(), respprep(), ring_entry(), rt_extend_conf(), rt_handle_member_record(), run_externnotify(), sdp_crypto_process(), 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(), sig_pri_aoc_d_from_ast(), sig_pri_aoc_e_from_ast(), sig_pri_aoc_s_from_ast(), sig_pri_call(), sig_pri_handle_subcmds(), sig_pri_init_config(), sig_pri_party_name_from_ast(), sig_pri_party_number_from_ast(), sig_pri_party_subaddress_from_ast(), sig_pri_send_mwi_indication(), sip_acf_channel_read(), sip_call(), sip_cc_agent_init(), sip_cli_notify(), sip_get_cc_information(), sip_new(), sip_park(), sip_parse_register_line(), sip_poke_peer(), sip_prepare_socket(), sip_prune_realtime(), sip_queryoption(), sip_request_call(), sip_show_inuse(), sip_sipredirect(), sip_subscribe_mwi(), skinny_new(), skinny_newcall(), skinny_register(), skinny_request(), skinny_ss(), 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(), srv_query_read(), srv_result_read(), 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(), transmit_connect_with_sdp(), transmit_dialednumber(), transmit_displaynotify(), transmit_displaypromptstatus(), transmit_modify_request(), transmit_modify_with_sdp(), transmit_notify_request(), transmit_notify_request_with_callerid(), transmit_refer(), transmit_speeddialstatres(), transmit_state_notify(), transmit_versionres(), try_load_key(), trylock_read(), txt_callback(), unistim_request(), unistim_sp(), unistim_ss(), unlock_read(), unregister_exten(), update_call_counter(), update_common_options(), uridecode(), users_data_provider_get(), 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 1368 of file utils.c.
References ast_strlen_zero().
Referenced by __ast_udptl_reload(), acf_faxopt_write(), acf_transaction_write(), actual_load_config(), aji_create_client(), aji_load_config(), aoc_cli_debug_enable(), build_peer(), build_user(), dahdi_set_dnd(), find_realtime(), func_channel_write_real(), handle_common_options(), init_acf_query(), load_config(), load_odbc_config(), manager_mute_mixmonitor(), parse_empty_options(), rtp_reload(), run_agi(), set_config(), set_insecure_flags(), and strings_to_mask().
01369 { 01370 if (ast_strlen_zero(s)) 01371 return 0; 01372 01373 /* Determine if this is a false value */ 01374 if (!strcasecmp(s, "no") || 01375 !strcasecmp(s, "false") || 01376 !strcasecmp(s, "n") || 01377 !strcasecmp(s, "f") || 01378 !strcasecmp(s, "0") || 01379 !strcasecmp(s, "off")) 01380 return -1; 01381 01382 return 0; 01383 }
int ast_get_time_t | ( | const char * | src, | |
time_t * | dst, | |||
time_t | _default, | |||
int * | consumed | |||
) |
get values from config variables.
Definition at line 1899 of file utils.c.
References ast_strlen_zero().
Referenced by build_peer(), cache_lookup_internal(), handle_saydatetime(), load_password(), play_message_datetime(), process_clearcache(), and sayunixtime_exec().
01900 { 01901 long t; 01902 int scanned; 01903 01904 if (dst == NULL) 01905 return -1; 01906 01907 *dst = _default; 01908 01909 if (ast_strlen_zero(src)) 01910 return -1; 01911 01912 /* only integer at the moment, but one day we could accept more formats */ 01913 if (sscanf(src, "%30ld%n", &t, &scanned) == 1) { 01914 *dst = t; 01915 if (consumed) 01916 *consumed = scanned; 01917 return 0; 01918 } else 01919 return -1; 01920 }
int ast_get_timeval | ( | const char * | src, | |
struct timeval * | tv, | |||
struct timeval | _default, | |||
int * | consumed | |||
) |
get values from config variables.
Definition at line 1872 of file utils.c.
References ast_strlen_zero().
Referenced by acf_strftime().
01873 { 01874 long double dtv = 0.0; 01875 int scanned; 01876 01877 if (dst == NULL) 01878 return -1; 01879 01880 *dst = _default; 01881 01882 if (ast_strlen_zero(src)) 01883 return -1; 01884 01885 /* only integer at the moment, but one day we could accept more formats */ 01886 if (sscanf(src, "%30Lf%n", &dtv, &scanned) > 0) { 01887 dst->tv_sec = dtv; 01888 dst->tv_usec = (dtv - dst->tv_sec) * 1000000.0; 01889 if (consumed) 01890 *consumed = scanned; 01891 return 0; 01892 } else 01893 return -1; 01894 }
void ast_join | ( | char * | s, | |
size_t | len, | |||
const char *const | w[] | |||
) |
Definition at line 1491 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().
01492 { 01493 int x, ofs = 0; 01494 const char *src; 01495 01496 /* Join words into a string */ 01497 if (!s) 01498 return; 01499 for (x = 0; ofs < len && w[x]; x++) { 01500 if (x > 0) 01501 s[ofs++] = ' '; 01502 for (src = w[x]; *src && ofs < len; src++) 01503 s[ofs++] = *src; 01504 } 01505 if (ofs == len) 01506 ofs--; 01507 s[ofs] = '\0'; 01508 }
char * ast_skip_blanks | ( | const char * | str | ) | [inline] |
Gets a pointer to the first non-whitespace character in a string.
str | the input string |
Definition at line 97 of file strings.h.
Referenced by __ast_cli_register(), __astman_get_header(), __get_header(), acf_faxopt_write(), add_redirect(), ast_callerid_parse(), ast_parse_arg(), ast_parse_digest(), ast_skip_nonblanks(), build_peer(), callerid_write(), check_auth(), check_via(), connectedline_write(), determine_firstline_parts(), find_table_cb(), get_body_by_line(), get_calleridname(), get_rpid(), get_sdp_line(), handle_incoming(), handle_request_invite(), handle_request_notify(), handle_response(), httpd_helper_thread(), keypad_pick_up(), keypad_setup(), make_components(), man_do_variable_value(), mark_parsed_methods(), next_item(), parse_cdata(), parse_minse(), parse_session_expires(), parse_via(), process_sdp(), process_text_line(), proxy_from_config(), redirecting_write(), reply_digest(), stackpeek_read(), transmit_fake_auth_response(), transmit_invite(), and xmldoc_get_formatted().
char * ast_skip_nonblanks | ( | const char * | str | ) | [inline] |
Gets a pointer to first whitespace character in a string.
str | the input string |
Definition at line 136 of file strings.h.
References ast_skip_blanks(), and ast_trim_blanks().
Referenced by __ast_cli_register(), determine_firstline_parts(), handle_response(), and httpd_helper_thread().
int ast_str_append | ( | struct ast_str ** | buf, | |
ssize_t | max_len, | |||
const char * | fmt, | |||
... | ||||
) | [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 878 of file strings.h.
Referenced by __ast_manager_event_multichan(), __queues_show(), acf_curl_helper(), action_createconfig(), action_status(), action_userevent(), add_blank(), add_codec_to_sdp(), add_content(), add_header(), add_ipv4_ie(), add_noncodec_to_sdp(), add_rpid(), add_sdp(), add_tcodec_to_sdp(), add_vcodec_to_sdp(), 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_ie(), append_var_and_value_to_filter(), ast_aoc_decoded2str(), ast_cdr_serialize_variables(), ast_eivr_getvariable(), ast_realtime_encode_chunk(), ast_rtp_lookup_mime_multiple2(), ast_str_encode_mime(), ast_str_quote(), ast_str_substitute_variables_full(), ast_term_color_code(), ast_translate_path_to_str(), ast_xmldoc_build_seealso(), ast_xmldoc_printable(), authority_to_str(), build_peer(), caldav_get_events_between(), caldav_write_event(), calendar_join_attendees(), CB_ADD(), CB_ADD_LEN(), cc_unique_append(), cdata(), cdr_handler(), chanavail_exec(), cli_alias_passthrough(), cli_prompt(), commit_exec(), construct_pidf_body(), cut_internal(), data_result_print_cli(), data_result_print_cli_node(), data_search_generate(), destroy_curl(), destroy_pgsql(), detect_disconnect(), encmethods_to_str(), epoch_to_exchange_time(), ewscal_write_event(), exchangecal_get_events_between(), exchangecal_write_event(), fetch_response_reader(), finalize_content(), function_realtime_read(), function_realtime_readdestroy(), generate_uri(), get_pidf_body(), handle_characters(), handle_cli_core_show_translation(), handle_cli_indication_show(), handle_showchan(), hashkeys_read2(), httpstatus_callback(), initreqprep(), listfilter(), load_column_config(), load_config(), log_jack_status(), manager_sipnotify(), odbc_log(), pbx_builtin_serialize_variables(), peer_mailboxes_to_str(), pgsql_log(), pgsql_reconnect(), phoneprov_callback(), pp_each_extension_helper(), pp_each_user_helper(), print_uptimestr(), process_output(), 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(), sig_pri_event_party_id(), sig_pri_mcid_event(), sip_cli_notify(), state_notify_build_xml(), store_curl(), store_pgsql(), substitute_escapes(), transmit_info_with_aoc(), transmit_notify_with_mwi(), update2_curl(), update2_ldap(), update2_pgsql(), update2_prepare(), update_curl(), update_ldap(), update_pgsql(), userevent_exec(), write_cdr(), xml_copy_escape(), xml_encode_str(), xmldoc_get_syntax_cmd(), xmldoc_get_syntax_manager(), 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().
char * ast_str_append_escapecommas | ( | struct ast_str ** | buf, | |
ssize_t | maxlen, | |||
const char * | src, | |||
size_t | maxsrc | |||
) | [inline] |
Append a non-NULL terminated substring to the end of a dynamic string, with escaping of commas.
Definition at line 825 of file strings.h.
References ast_str_set_va().
char * ast_str_append_substr | ( | struct ast_str ** | buf, | |
ssize_t | maxlen, | |||
const char * | src, | |||
size_t | maxsrc | |||
) | [inline] |
Append a non-NULL terminated substring to the end of a dynamic string.
Definition at line 811 of file strings.h.
References __ast_str_helper2().
Referenced by ast_str_substitute_variables_full(), file_read(), listfilter(), and WriteMemoryCallback().
int ast_str_append_va | ( | struct ast_str ** | buf, | |
ssize_t | max_len, | |||
const char * | fmt, | |||
va_list | ap | |||
) | [inline] |
Append to a dynamic string using a va_list.
Same as ast_str_set_va(), but append to the current content.
Definition at line 797 of file strings.h.
References __ast_str_helper2().
Referenced by __ast_manager_event_multichan(), and ast_str_set().
char * ast_str_buffer | ( | const struct ast_str * | buf | ) | [inline] |
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 497 of file strings.h.
References typeof().
Referenced by __ast_manager_event_multichan(), __ast_verbose_ap(), __iax2_show_peers(), __queues_show(), __sip_reliable_xmit(), _macro_exec(), acf_curl_helper(), acf_cut_exec(), acf_odbc_read(), acf_odbc_write(), action_createconfig(), action_userevent(), add_cc_call_info_to_response(), add_ipv4_ie(), add_rpid(), add_timeval_ie(), add_user_extension(), ALLOC_COMMENT(), aoc_display_decoded_debug(), aocmessage_get_unit_entry(), append_channel_vars(), ast_agi_send(), ast_aoc_manager_event(), ast_cc_agent_set_interfaces_chanvar(), ast_cli(), ast_eivr_getvariable(), ast_extension_state3(), ast_func_read(), ast_func_read2(), ast_http_send(), ast_log(), ast_odbc_ast_str_SQLGetData(), ast_parse_digest(), ast_realtime_encode_chunk(), ast_rtp_lookup_mime_multiple2(), ast_set_cc_interfaces_chanvar(), ast_sockaddr_stringify_fmt(), ast_str_encode_mime(), ast_str_get_encoded_str(), ast_str_quote(), ast_str_retrieve_variable(), ast_str_substitute_variables_full(), ast_str_substring(), ast_translate_path_to_str(), ast_var_channels_table(), ast_xmldoc_build_arguments(), ast_xmldoc_build_seealso(), ast_xmldoc_printable(), astman_append(), authority_to_str(), base64_helper(), blacklist_read2(), build_peer(), build_user_routes(), caldav_request(), calendar_join_attendees(), cc_extension_monitor_init(), cc_generic_agent_start_monitoring(), cc_unique_append(), cdata(), cdr_handler(), chanavail_exec(), cli_alias_passthrough(), cli_match_char_tree(), cli_prompt(), commit_exec(), config_curl(), config_pgsql(), config_text_file_load(), construct_pidf_body(), create_channel_name(), custom_log(), cut_internal(), dahdi_cc_callback(), dahdi_new(), data_provider_print_cli(), data_result_manager_output(), data_result_print_cli(), data_result_print_cli_node(), data_search_generate(), destroy_curl(), destroy_pgsql(), detect_disconnect(), do_notify(), dumpchan_exec(), eivr_comm(), endelm(), exchangecal_get_events_between(), exchangecal_request(), exchangecal_write_event(), exec_exec(), fetch_icalendar(), finalize_content(), find_table(), function_fieldnum_helper(), function_fieldqty_helper(), function_realtime_read(), function_realtime_readdestroy(), generate_uri(), get_pidf_body(), handle_call_token(), handle_cli_core_show_translation(), handle_cli_iax2_show_peer(), handle_dbget(), handle_end_element(), handle_getvariablefull(), handle_show_chanvar(), handle_showchan(), handle_statechange(), hashkeys_read(), hashkeys_read2(), iax_parse_ies(), is_valid_uuid(), leave_voicemail(), listfilter(), load_column_config(), log_jack_status(), make_email_file(), manager_iax2_show_peer_list(), manager_log(), meetme_show_cmd(), odbc_log(), pbx_find_extension(), pbx_retrieve_variable(), peers_data_provider_get(), pgsql_log(), pgsql_reconnect(), phoneprov_callback(), pp_each_extension_helper(), pp_each_user_helper(), print_uptimestr(), process_text_line(), realtime_curl(), realtime_ldap_base_ap(), realtime_multi_curl(), realtime_multi_pgsql(), realtime_pgsql(), realtime_update2_handler(), replace(), require_curl(), require_pgsql(), rollback_exec(), run_station(), say_periodic_announcement(), security_event_cb(), send_eivr_event(), send_ews_request_and_parse(), sendmail(), sendpage(), sendtext_exec(), set2(), shift_pop(), sig_pri_mcid_event(), sig_pri_start_pri(), startelm(), store_curl(), store_pgsql(), string_tolower2(), string_toupper2(), substitute_escapes(), syslog_log(), system_exec_helper(), transmit_info_with_aoc(), transmit_invite(), tryexec_exec(), unshift_push(), update2_curl(), update2_ldap(), update2_odbc(), update2_pgsql(), update2_prepare(), update_caldav(), update_curl(), update_ewscal(), update_exchangecal(), update_ldap(), update_pgsql(), userevent_exec(), vars2manager(), write_cdr(), xmldoc_build_field(), xmldoc_get_formatted(), xmldoc_get_syntax_cmd(), xmldoc_get_syntax_manager(), 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 967 of file strings.h.
Referenced by app_hash(), ast_channel_hash_cb(), ast_tone_zone_hash(), cache_hash(), calendar_hash_fn(), conference_bridge_hash_cb(), data_provider_hash(), dialog_hash_cb(), hint_hash(), 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().
00968 { 00969 int hash = 5381; 00970 00971 while (*str) { 00972 hash = hash * 33 ^ tolower(*str++); 00973 } 00974 00975 return abs(hash); 00976 }
struct ast_str * ast_str_create | ( | size_t | init_len | ) | [inline] |
Create a malloc'ed dynamic length string.
init_len | This is the initial length of the string buffer |
Definition at line 420 of file strings.h.
Referenced by __ast_http_post_load(), __sip_reliable_xmit(), _macro_exec(), _sip_tcp_helper_thread(), acf_curl_helper(), acf_cut_exec(), action_status(), add_user_extension(), aoc_display_decoded_debug(), ast_aoc_manager_event(), ast_cc_agent_set_interfaces_chanvar(), ast_func_read(), ast_http_auth(), ast_http_error(), ast_parse_digest(), ast_set_cc_interfaces_chanvar(), ast_str_substitute_variables_full(), ast_xmldoc_build_arguments(), ast_xmldoc_build_seealso(), ast_xmldoc_printable(), build_user_routes(), caldav_get_events_between(), caldav_request(), caldav_write_event(), calendar_join_attendees(), cdr_handler(), cli_prompt(), config_text_file_load(), copy_request(), create_channel_name(), cut_internal(), data_provider_print_cli(), data_result_manager_output(), data_result_print_cli(), data_result_print_cli_node(), data_search_generate(), do_notify(), ewscal_write_event(), exchangecal_get_events_between(), exchangecal_request(), exchangecal_write_event(), exec_exec(), fetch_icalendar(), find_realtime(), get_ewscal_ids_for(), handle_dbget(), handle_getvariablefull(), handle_showchan(), handle_statechange(), handle_updates(), handle_uri(), httpstatus_callback(), iax_parse_ies(), init_appendbuf(), init_queue(), init_req(), init_resp(), leave_voicemail(), load_column_config(), load_config(), make_email_file(), meetme_cmd(), meetme_show_cmd(), odbc_log(), parse_ewscal_id(), pbx_retrieve_variable(), pgsql_log(), pgsql_reconnect(), phoneprov_callback(), pp_each_extension_helper(), pp_each_user_helper(), queue_set_param(), realtime_ldap_base_ap(), require_pgsql(), run_station(), send_eivr_event(), sendmail(), sendpage(), sig_pri_mcid_event(), sip_notify_allocate(), sip_tcptls_write(), sipsock_read(), startelm(), tryexec_exec(), update2_ldap(), update_caldav(), update_ldap(), userevent_exec(), write_cdr(), xmldoc_get_formatted(), xmldoc_get_syntax_cmd(), xmldoc_get_syntax_manager(), 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 927 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(), data_filter_hash(), data_result_hash(), data_search_hash(), entry_hash_fn(), esc_hash_fn(), event_hash_fn(), generic_monitor_hash_fn(), group_hash_fn(), peer_hash_cb(), user_hash_cb(), and variable_count_hash_fn().
00928 { 00929 int hash = 5381; 00930 00931 while (*str) 00932 hash = hash * 33 ^ *str++; 00933 00934 return abs(hash); 00935 }
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 famous hash algorithm was written by Dan Bernstein and is commonly used.
Definition at line 952 of file strings.h.
Referenced by ast_event_hash_mwi().
00953 { 00954 while (*str) 00955 hash = hash * 33 ^ *str++; 00956 00957 return abs(hash); 00958 }
int ast_str_make_space | ( | struct ast_str ** | buf, | |
size_t | new_len | |||
) | [inline] |
Make space in a new string (e.g. to read in data from a file)
Definition at line 588 of file strings.h.
References ast_str::__AST_STR_USED.
Referenced by __ast_str_helper(), __ast_str_helper2(), acf_odbc_write(), ast_func_read2(), ast_odbc_ast_str_SQLGetData(), ast_str_get_encoded_str(), base64_helper(), blacklist_read2(), handle_dbget(), listfilter(), set2(), string_tolower2(), and string_toupper2().
void ast_str_reset | ( | struct ast_str * | buf | ) | [inline] |
Reset the content of a dynamic string. Useful before a series of ast_str_append.
Definition at line 436 of file strings.h.
Referenced by acf_odbc_read(), action_status(), action_userevent(), app_exec(), ast_cdr_serialize_variables(), ast_func_read2(), ast_realtime_encode_chunk(), ast_str_encode_mime(), ast_str_substitute_variables_full(), ast_str_substring(), authority_to_str(), build_peer(), CB_RESET(), cli_prompt(), commit_exec(), config_text_file_load(), data_provider_print_cli(), data_result_manager_output(), data_result_print_cli_node(), data_search_generate(), detect_disconnect(), endelm(), file_read(), handle_cli_core_show_translation(), handle_request_do(), handle_start_element(), listfilter(), pbx_builtin_serialize_variables(), realtimefield_read(), rollback_exec(), startelm(), and substitute_escapes().
int ast_str_set | ( | struct ast_str ** | buf, | |
ssize_t | max_len, | |||
const char * | fmt, | |||
... | ||||
) | [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) |
Definition at line 857 of file strings.h.
References ast_str_append_va().
Referenced by __ast_http_post_load(), __ast_manager_event_multichan(), __queues_show(), __sip_reliable_xmit(), acf_curl_helper(), acf_curlopt_helper(), action_createconfig(), add_cc_call_info_to_response(), add_ipv4_ie(), add_rpid(), aocmessage_get_unit_entry(), ast_extension_state2(), ast_http_auth(), ast_http_error(), ast_parse_digest(), ast_realtime_encode_chunk(), ast_sched_report(), ast_sockaddr_stringify_fmt(), ast_str_encode_mime(), ast_str_expr(), ast_str_get_encoded_str(), ast_str_get_hint(), ast_str_quote(), ast_str_retrieve_variable(), ast_translate_path_to_str(), bs_to_exchange_bs(), build_peer(), caldav_write_event(), cc_extension_monitor_init(), cc_generic_agent_start_monitoring(), cdata(), cdr_handler(), check_auth(), cli_match_char_tree(), cli_prompt(), config_curl(), config_pgsql(), create_channel_name(), data_provider_print_cli(), data_result_manager_output(), destroy_curl(), destroy_pgsql(), do_magic_pickup(), do_notify(), encmethods_to_str(), encode_timestamp(), ewscal_write_event(), exchangecal_write_event(), file_count_line(), file_format(), find_table(), function_fieldnum_helper(), function_fieldqty_helper(), generate_exchange_uuid(), generate_uri(), get_ewscal_ids_for(), handle_call_token(), handle_cli_core_show_translation(), handle_cli_indication_show(), handle_statechange(), handle_uri(), hashkeys_read(), hashkeys_read2(), iax_parse_ies(), init_queue(), init_req(), init_resp(), initreqprep(), leave_voicemail(), listfilter(), log_jack_status(), make_email_file(), meetme_show_cmd(), odbc_log(), parse_ewscal_id(), passthru(), pgsql_log(), pgsql_reconnect(), phoneprov_callback(), process_text_line(), queue_set_param(), realtime_curl(), realtime_multi_curl(), realtime_multi_pgsql(), realtime_pgsql(), realtime_update2_handler(), replace(), require_curl(), require_pgsql(), run_station(), security_event_cb(), sendmail(), sendpage(), shift_pop(), sig_pri_start_pri(), sip_tcptls_write(), sipsock_read(), stackpeek_read(), startelm(), store_curl(), store_pgsql(), transmit_fake_auth_response(), unshift_push(), update2_curl(), update2_pgsql(), update2_prepare(), update_curl(), and update_pgsql().
char * ast_str_set_escapecommas | ( | struct ast_str ** | buf, | |
ssize_t | maxlen, | |||
const char * | src, | |||
size_t | maxsrc | |||
) | [inline] |
Set a dynamic string to a non-NULL terminated substring, with escaping of commas.
Definition at line 818 of file strings.h.
References __ast_str_helper2().
Referenced by acf_curl_helper(), and realtimefield_read().
char * ast_str_set_substr | ( | struct ast_str ** | buf, | |
ssize_t | maxlen, | |||
const char * | src, | |||
size_t | maxsrc | |||
) | [inline] |
Set a dynamic string to a non-NULL terminated substring.
Definition at line 804 of file strings.h.
References __ast_str_helper2().
Referenced by ast_str_substitute_variables_full().
int ast_str_set_va | ( | struct ast_str ** | buf, | |
ssize_t | max_len, | |||
const char * | fmt, | |||
va_list | ap | |||
) | [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 |
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 786 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().
size_t ast_str_size | ( | const struct ast_str * | buf | ) | [inline] |
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 482 of file strings.h.
Referenced by ast_func_read(), ast_func_read2(), ast_odbc_ast_str_SQLGetData(), ast_str_get_encoded_str(), base64_helper(), blacklist_read2(), handle_dbget(), load_config(), pbx_find_extension(), pgsql_reconnect(), set2(), string_tolower2(), string_toupper2(), and WriteMemoryCallback().
size_t ast_str_strlen | ( | const struct ast_str * | buf | ) | [inline] |
Returns the current length of the string stored within buf.
buf | A pointer to the ast_str structure. |
Definition at line 471 of file strings.h.
Referenced by __sip_reliable_xmit(), __sip_xmit(), acf_curl_helper(), add_header(), ALLOC_COMMENT(), ast_agi_send(), ast_cli(), ast_str_encode_mime(), ast_str_expr(), ast_str_substitute_variables_full(), ast_str_substring(), ast_var_channels_table(), ast_xmldoc_build_arguments(), authority_to_str(), base64_helper(), blacklist_read2(), build_cc_interfaces_chanvar(), build_peer(), caldav_request(), cc_extension_monitor_init(), cdata(), chanavail_exec(), commit_exec(), config_text_file_load(), copy_request(), cut_internal(), encmethods_to_str(), endelm(), exchangecal_request(), fetch_icalendar(), finalize_content(), function_fieldnum_helper(), function_fieldqty_helper(), handle_dbget(), handle_end_element(), handle_request_cancel(), handle_request_do(), handle_show_chanvar(), hashkeys_read(), hashkeys_read2(), is_valid_uuid(), listfilter(), load_column_config(), load_config(), lws2sws(), manager_log(), manager_sipnotify(), odbc_log(), pgsql_log(), print_uptimestr(), replace(), rollback_exec(), say_periodic_announcement(), send_ews_request_and_parse(), shift_pop(), sip_cli_notify(), system_exec_helper(), transmit_invite(), unshift_push(), update_caldav(), update_exchangecal(), write_cdr(), WriteMemoryCallback(), xmldoc_build_field(), xmldoc_get_formatted(), and xmldoc_parse_variable().
struct ast_str * ast_str_thread_get | ( | struct ast_threadstorage * | ts, | |
size_t | init_len | |||
) | [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. |
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 669 of file strings.h.
Referenced by __ast_manager_event_multichan(), __ast_verbose_ap(), acf_curl_helper(), acf_odbc_read(), acf_odbc_write(), action_userevent(), append_channel_vars(), ast_agi_send(), ast_cli(), ast_extension_state2(), ast_log(), ast_sockaddr_stringify_fmt(), astman_append(), check_auth(), commit_exec(), config_curl(), config_pgsql(), custom_log(), destroy_curl(), destroy_pgsql(), dumpchan_exec(), find_table(), function_fieldnum_helper(), function_fieldqty_helper(), handle_showchan(), listfilter(), pbx_find_extension(), realtime_curl(), realtime_multi_curl(), realtime_multi_pgsql(), realtime_pgsql(), realtime_update2_handler(), realtimefield_read(), replace(), require_curl(), rollback_exec(), security_event_cb(), shift_pop(), store_curl(), store_pgsql(), substitute_escapes(), syslog_log(), system_exec_helper(), transmit_fake_auth_response(), unshift_push(), update2_curl(), update2_odbc(), update2_pgsql(), update2_prepare(), update_curl(), update_pgsql(), and vars2manager().
void ast_str_trim_blanks | ( | struct ast_str * | buf | ) | [inline] |
Trims trailing whitespace characters from an ast_str string.
buf | A pointer to the ast_str string. |
Definition at line 461 of file strings.h.
Referenced by acf_curl_helper(), process_text_line(), and xmldoc_string_cleanup().
char * ast_str_truncate | ( | struct ast_str * | buf, | |
ssize_t | len | |||
) | [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. |
A | pointer to the resulting string. |
Definition at line 521 of file strings.h.
Referenced by ast_xmldoc_build_arguments(), build_cc_interfaces_chanvar(), xmldoc_get_formatted(), and xmldoc_string_wrap().
void ast_str_update | ( | struct ast_str * | buf | ) | [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 446 of file strings.h.
Referenced by ast_odbc_ast_str_SQLGetData(), ast_str_get_encoded_str(), ast_str_substring(), base64_helper(), blacklist_read2(), handle_dbget(), string_tolower2(), and string_toupper2().
char * ast_strip | ( | char * | s | ) | [inline] |
Strip leading/trailing whitespace from a string.
s | The string to be stripped (will be modified). |
Definition at line 155 of file strings.h.
Referenced by acf_if(), add_peer_mailboxes(), 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(), load_dynamic_module(), parse_apps(), parse_cookies(), parse_events(), parse_sip_options(), pbx_builtin_background(), process_text_line(), realtime_multi_odbc(), realtime_multi_pgsql(), realtime_odbc(), realtime_pgsql(), reload_single_member(), set(), sig_pri_msn_match(), sig_pri_start_pri(), 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. |
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 1249 of file utils.c.
References ast_strip().
Referenced by ast_register_file_version(), get_rdnis(), iftime(), load_values_config(), parse_allowed_methods(), parse_cookies(), parse_dial_string(), and sip_parse_register_line().
01250 { 01251 char *e; 01252 char *q; 01253 01254 s = ast_strip(s); 01255 if ((q = strchr(beg_quotes, *s)) && *q != '\0') { 01256 e = s + strlen(s) - 1; 01257 if (*e == *(end_quotes + (q - beg_quotes))) { 01258 s++; 01259 *e = '\0'; 01260 } 01261 } 01262 01263 return s; 01264 }
static force_inline int attribute_pure ast_strlen_zero | ( | const char * | s | ) | [static] |
Definition at line 63 of file strings.h.
Referenced by __analog_handle_event(), __analog_ss_thread(), __ast_bridge_technology_register(), __ast_callerid_generate(), __ast_channel_alloc_ap(), __ast_cli_generator(), __ast_cli_register(), __ast_datastore_alloc(), __ast_request_and_dial(), __astman_get_header(), __has_voicemail(), __iax2_show_peers(), __oh323_new(), __queues_show(), __set_address_from_contact(), __sip_subscribe_mwi_do(), __ssl_setup(), _macro_exec(), _sip_show_peer(), _sip_show_peers(), _skinny_show_devices(), _skinny_show_lines(), acf_curl_helper(), acf_if(), acf_isexten_exec(), acf_jabberreceive_read(), 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_aocmessage(), action_atxfer(), action_bridge(), action_challenge(), action_command(), action_coresettings(), action_coreshowchannels(), action_corestatus(), action_dahdidialoffhook(), action_dahdidndoff(), action_dahdidndon(), action_dahdishowchannels(), action_events(), 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(), actual_load_config(), add_agent(), add_calltoken_ignore(), add_cc_call_info_to_response(), add_diversion_header(), add_peer_mailboxes(), add_realm_authentication(), add_rpid(), add_sdp(), add_sip_domain(), admin_exec(), adsi_exec(), adsi_input_format(), adsi_message(), advanced_options(), aes_helper(), agent_hangup(), agentmonitoroutgoing_exec(), agents_show(), agents_show_online(), agi_exec_full(), agi_handle_command(), aji_join_exec(), aji_leave_exec(), aji_log_hook(), aji_send_exec(), aji_sendgroup_exec(), alarmreceiver_exec(), alsa_new(), analog_call(), analog_hangup(), analog_ss_thread(), answer_exec_enable(), aoc_create_ie_data(), aoc_create_ie_data_charging_rate(), aoc_parse_ie_charging_rate(), aocmessage_get_unit_entry(), app_exec(), append_mailbox(), append_mailbox_mapping(), append_transaction(), apply_general_options(), apply_options_full(), apply_outgoing(), apply_peer(), apply_plan_to_existing_number(), aqm_exec(), 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(), 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_app_run_macro(), ast_bridge_call(), ast_bridge_features_enable(), ast_bridge_features_register(), ast_bridge_timelimit(), ast_build_timing(), ast_cc_is_recall(), ast_cdr_copy_vars(), ast_cdr_data_add_structure(), ast_cdr_fork(), ast_cdr_getvar(), ast_cdr_getvar_internal(), ast_cdr_merge(), ast_cdr_setaccount(), ast_cdr_setpeeraccount(), ast_cel_check_retire_linkedid(), ast_cel_fabricate_channel_from_event(), ast_cel_linkedid_ref(), ast_channel_cmp_cb(), ast_channel_connected_line_macro(), ast_channel_get_full(), ast_channel_hash_cb(), ast_channel_redirecting_macro(), ast_cli_complete(), ast_cli_perms_init(), ast_complete_channels(), ast_context_remove_extension_callerid2(), ast_data_add_password(), ast_data_add_str(), ast_db_gettree(), ast_dnsmgr_get_family(), ast_eivr_senddtmf(), ast_event_str_to_event_type(), 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_manager_register2(), ast_masq_park_call_exten(), ast_module_check(), ast_moh_files_next(), ast_monitor_change_fname(), ast_monitor_start(), ast_monitor_stop(), ast_odbc_sanity_check(), ast_park_call_exten(), ast_parse_arg(), ast_parse_digest(), ast_pbx_outgoing_app(), ast_pbx_outgoing_exten(), ast_pickup_call(), ast_playtones_start(), ast_privacy_set(), ast_register_application2(), ast_register_indication(), ast_remotecontrol(), ast_rtp_engine_register2(), ast_rtp_glue_register2(), ast_rtp_instance_new(), ast_set_cc_agent_dialstring(), ast_set_cc_callback_macro(), ast_set_hangupsource(), ast_set_indication_country(), ast_set_owners_and_peers(), ast_speech_unregister(), ast_str_substitute_variables_full(), ast_stream_and_wait(), ast_taskprocessor_get(), AST_TEST_DEFINE(), ast_true(), ast_tzset(), ast_var_channels_table(), ast_variable_delete(), ast_variable_update(), ast_xmldoc_build_arguments(), ast_xmldoc_build_seealso(), astman_send_response_full(), async_wait(), asyncgoto_exec(), attempt_thread(), auth_exec(), authenticate(), authenticate_reply(), authenticate_verify(), autoanswer_complete(), autopause2int(), background_detect_exec(), base64_helper(), begin_dial_channel(), bridge_exec(), build_channels(), build_contact(), build_device(), build_mapping(), build_peer(), build_profile(), build_reply_digest(), build_route(), build_user(), builtin_atxfer(), builtin_automixmonitor(), builtin_automonitor(), 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(), callerid_feed(), callerid_genmsg(), cb_events(), cc_esc_publish_handler(), cc_handle_publish_error(), cc_unique_append(), cdr_read(), cdr_write(), celgenuserevent_exec(), chan_misdn_log(), chanavail_exec(), change_monitor_action(), change_redirecting_information(), channel_admin_exec(), channel_iterator_search(), 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(), 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_channel_name(), create_dynamic_parkinglot(), create_parkinglot(), create_queue_member(), create_vmaccount(), crement_function_read(), csv_log(), csv_quote(), custom_prepare(), dahdi_accept_r2_call_exec(), dahdi_handle_event(), dahdi_hangup(), dahdi_new(), dahdi_r2_get_channel_category(), dahdi_r2_set_context(), dahdi_read(), dahdi_send_callrerouting_facility_exec(), dahdi_send_keypad_facility_exec(), dahdiscan_exec(), data_filter_find(), data_result_create(), database_increment(), deltree_exec(), destroy_endpoint(), destroy_pgsql(), destroy_station(), destroy_trans(), destroy_trunk(), determine_sip_publish_type(), determine_starting_point(), device_state_cb(), devstate_change_collector_cb(), devstate_write(), dial_exec_full(), dial_handle_playtones(), dialgroup_read(), dialgroup_refreshdb(), dialgroup_write(), dialout(), dictate_exec(), directory_exec(), disa_exec(), do_forward(), do_immediate_setup(), do_message(), do_monitor(), do_notify(), do_pause_or_unpause(), 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(), ewscal_load_calendar(), exchangecal_load_calendar(), exchangecal_write_event(), exec_exec(), execif_exec(), export_ch(), extension_match_core(), extenspy_exec(), extract_uri(), extstate_read(), fast_originate(), feature_attended_transfer(), feature_blind_transfer(), feature_exec_app(), feature_interpret_helper(), feature_request_and_dial(), festival_exec(), fetch_icalendar(), fileexists_core(), filename_parse(), find_account(), find_call(), find_cli(), find_engine(), find_line_by_name(), find_or_create(), find_parkinglot(), find_realtime_gw(), find_sdp(), find_sip_method(), find_table(), findparkinglotname(), forward_message(), func_channel_read(), 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_eval2(), function_fieldnum_helper(), function_realtime_read(), function_realtime_readdestroy(), function_realtime_store(), function_realtime_write(), function_txtcidname(), generic_fax_exec(), generic_recall(), get_also_info(), get_destination(), get_domain(), get_in_brackets_full(), get_ip_and_port_from_sdp(), get_name_and_number(), get_name_from_variable(), get_pai(), get_queue_member_status(), get_range(), get_rdnis(), get_realm(), get_refer_info(), get_rpid(), 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(), gtalk_parser(), gui_init(), handle_cc_notify(), handle_cc_subscribe(), handle_chanlist(), handle_cli_check_permissions(), handle_cli_config_reload(), handle_cli_core_show_translation(), 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_publish(), handle_request_refer(), handle_request_subscribe(), handle_request_update(), handle_response(), handle_response_invite(), handle_response_notify(), handle_response_publish(), 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_hash(), hint_read(), httpd_helper_thread(), iax2_call(), iax2_datetime(), iax2_devicestate(), iax2_prov_app(), iax2_request(), iax_check_version(), iax_firmware_append(), iax_provflags2str(), ical_load_calendar(), icalendar_add_event(), ices_exec(), iconv_read(), iftime(), import_helper(), inboxcount2(), init_acf_query(), init_jack_data(), initialize_cc_max_requests(), initreqprep(), insert_penaltychange(), inspect_module(), internal_dnsmgr_lookup(), 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_dynamic_module(), load_indications(), load_module(), 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(), man_do_variable_value(), manage_parked_call(), manager_add_queue_member(), manager_data_get(), 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_moduleload(), manager_mute_mixmonitor(), manager_mutestream(), manager_optimize_away(), 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_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(), mark_parsed_methods(), match_req_to_dialog(), matchcid(), math(), md5(), meetmemute(), message_template_find(), message_template_parse_filebody(), mgcp_call(), mgcp_hangup(), mgcp_new(), mgcp_prune_realtime_gateway(), 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_new(), misdn_overlap_dial_task(), misdn_request(), misdn_set_opt_exec(), mixmonitor_exec(), monitor_dial(), morsecode_exec(), mp3_exec(), multicast_rtp_request(), nbs_alloc(), next_node_name(), notify_message(), notify_new_message(), odbc_log(), oh323_call(), oh323_request(), oldest_linkedid(), onedigit_goto(), orig_app(), orig_exten(), originate_exec(), osp_auth(), osp_convert_inout(), osp_convert_outin(), osp_get_varfloat(), osp_get_varint(), osp_report_qos(), ospauth_exec(), ospfinished_exec(), osplookup_exec(), ospnext_exec(), oss_call(), oss_new(), page_exec(), park_call_exec(), park_call_full(), park_space_reserve(), parkandannounce_exec(), parked_call_exec(), parkinglot_config_read(), parse(), parse_allowed_methods(), parse_apps(), parse_config(), parse_cookies(), parse_dial_string(), parse_events(), parse_minse(), parse_moved_contact(), parse_register_contact(), parse_request(), parse_session_expires(), parse_sip_options(), parse_tag(), parse_uri_full(), parse_via(), 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(), pidf_validate_presence(), 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_helper(), pp_each_user_helper(), pqm_exec(), prep_email_sub_vars(), pri_dchannel(), pri_ss_thread(), print_ext(), print_frame(), print_message(), privacy_exec(), proc_422_rsp(), process_applicationmap_line(), process_ast_dsp(), process_echocancel(), process_message(), process_message_callback(), process_sdp(), process_sdp_o(), process_text_line(), process_token(), proxy_from_config(), ql_exec(), queue_exec(), queue_function_exists(), 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(), queues_data_provider_get(), quote(), rcv_mac_addr(), rcvfax_exec(), read_agent_config(), read_config(), read_exec(), readexten_exec(), readfile_exec(), real_ctx(), really_quit(), realtime_common(), realtime_curl(), realtime_directory(), 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(), receivefax_exec(), record_exec(), recordthread(), register_exten(), register_peer_exten(), register_verify(), registry_rerequest(), reload_config(), reload_followme(), reload_queue_members(), reload_queues(), reload_single_member(), replace(), reply_digest(), reqprep(), requirecalltoken_mark_auto(), respprep(), retrydial_exec(), ring_entry(), rollback_exec(), rotate_file(), rqm_exec(), rt_handle_member_record(), rtcp_do_debug_ip(), rtp_do_debug_ip(), run_agi(), run_externnotify(), saycountedadj_exec(), saycountednoun_exec(), sdl_setup(), sdp_crypto_offer(), search_directory(), search_directory_sub(), select_item_pause(), SendDialTone(), senddtmf_exec(), sendfax_exec(), sendimage_exec(), sendmail(), sendpage(), sendurl_exec(), set(), set_bridge_features_on_config(), set_callforwards(), set_config(), set_fn(), set_insecure_flags(), set_local_info(), set_member_paused(), set_member_penalty(), set_moh_exec(), set_nonce_randdata(), setup_dahdi_int(), setup_incoming_call(), setup_privacy_args(), setup_stunaddr(), sha1(), shared_read(), shared_write(), shell_helper(), shift_pop(), show_main_page(), sig_pri_aoc_d_from_ast(), sig_pri_aoc_e_from_ast(), sig_pri_aoc_s_from_ast(), sig_pri_call(), sig_pri_extract_called_num_subaddr(), sig_pri_handle_subcmds(), sig_pri_hangup(), sig_pri_msn_match(), sig_pri_mwi_event_cb(), sig_pri_party_name_from_ast(), sig_pri_party_number_from_ast(), sig_pri_party_subaddress_from_ast(), sig_pri_set_caller_id(), sig_pri_start_pri(), sip_acf_channel_read(), sip_addheader(), sip_alloc(), sip_call(), sip_cc_agent_respond(), sip_cc_monitor_suspend(), sip_cc_monitor_unsuspend(), sip_get_cc_information(), sip_hangup(), sip_new(), sip_parse_host(), sip_parse_register_line(), sip_pidf_validate(), sip_poke_peer(), sip_prepare_socket(), sip_removeheader(), sip_request_call(), sip_send_mwi_to_peer(), sip_show_channel(), sip_show_registry(), sip_show_settings(), sip_show_user(), sip_sipredirect(), sip_subscribe_mwi(), sip_uri_cmp(), sip_uri_headers_cmp(), sip_uri_params_cmp(), skel_exec(), skinny_hold(), skinny_new(), skinny_register(), skinny_request(), skinny_ss(), sla_check_device(), sla_queue_event_conf(), 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(), srv_query_read(), srv_result_read(), 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_info_with_aoc(), transmit_invite(), transmit_modify_request(), transmit_modify_with_sdp(), transmit_notify_request(), transmit_notify_request_with_callerid(), transmit_refer(), transmit_register(), transmit_request_with_auth(), try_firmware(), tryexec_exec(), unalloc_sub(), unistim_new(), unistim_request(), unistim_send_mwi_to_peer(), unregister_exten(), unshift_push(), update_bridge_vars(), update_connectedline(), update_odbc(), update_realtime_member_field(), update_registry(), upqm_exec(), uridecode(), uriencode(), userevent_exec(), users_data_provider_get(), valid_exit(), verbose_exec(), vm_authenticate(), vm_box_exists(), vm_exec(), vm_execmain(), vm_newuser(), vm_options(), vmauthenticate(), vmsayname_exec(), vmu_tm(), volume_write(), wait_for_hangup(), wait_for_winner(), waituntil_exec(), word_match(), write_metadata(), xfer_park_call_helper(), xmldoc_build_field(), xmldoc_get_node(), xmldoc_get_syntax_fun(), xmldoc_parse_specialtags(), and zapateller_exec().
char * ast_tech_to_upper | ( | char * | dev_str | ) | [inline] |
Convert the tech portion of a device string to upper case.
dev_str | Returns the char* passed in for convenience |
Definition at line 917 of file strings.h.
Referenced by ast_event_append_ie_str(), ast_event_sub_append_ie_str(), create_new_generic_list(), find_generic_monitor_instance_list(), match_ie_val(), and match_sub_ie_val_to_event().
char * ast_trim_blanks | ( | char * | str | ) | [inline] |
Trims trailing whitespace characters from a string.
str | the input string |
Definition at line 122 of file strings.h.
Referenced by ast_callerid_parse(), ast_skip_nonblanks(), callerid_write(), connectedline_write(), determine_firstline_parts(), httpd_helper_thread(), keypad_setup(), party_id_write(), party_name_write(), party_number_write(), party_subaddress_write(), and redirecting_write().
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 1351 of file utils.c.
References ast_strlen_zero().
Referenced by __ast_http_load(), __ast_udptl_reload(), __init_manager(), _parse(), acf_curlopt_write(), acf_faxopt_write(), acf_transaction_write(), action_agent_logoff(), action_bridge(), action_originate(), action_updateconfig(), actual_load_config(), aji_create_client(), aji_load_config(), aoc_cli_debug_enable(), apply_general_options(), apply_option(), apply_outgoing(), ast_bridge_timelimit(), ast_jb_read_conf(), ast_plc_reload(), ast_tls_read_conf(), autopause2int(), build_device(), build_peer(), build_user(), config_parse_variables(), dahdi_r2_answer(), dahdi_set_dnd(), data_search_cmp_bool(), do_reload(), festival_exec(), func_channel_write_real(), func_inheritance_write(), func_mute_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_moh_classes(), load_odbc_config(), local_ast_moh_start(), login_exec(), manager_add_queue_member(), manager_mutestream(), manager_pause_queue_member(), message_template_build(), misdn_answer(), odbc_load_module(), osp_load(), osplookup_exec(), parkinglot_config_read(), parse_config(), parse_empty_options(), pbx_load_config(), pbx_load_users(), process_config(), process_echocancel(), queue_set_global_params(), queue_set_param(), read_agent_config(), realtime_directory(), reload_config(), rtp_reload(), run_startup_commands(), search_directory(), search_directory_sub(), set_active(), set_config(), sla_load_config(), speex_write(), stackpeek_read(), start_monitor_action(), strings_to_mask(), tds_load_module(), update_common_options(), xmldoc_get_syntax_cmd(), xmldoc_get_syntax_fun(), and xmldoc_get_syntax_manager().
01352 { 01353 if (ast_strlen_zero(s)) 01354 return 0; 01355 01356 /* Determine if this is a true value */ 01357 if (!strcasecmp(s, "yes") || 01358 !strcasecmp(s, "true") || 01359 !strcasecmp(s, "y") || 01360 !strcasecmp(s, "t") || 01361 !strcasecmp(s, "1") || 01362 !strcasecmp(s, "on")) 01363 return -1; 01364 01365 return 0; 01366 }
char* ast_unescape_c | ( | char * | s | ) |
Convert some C escape sequences.
(\b\f\n\r\t)
Definition at line 1285 of file utils.c.
Referenced by ast_parse_digest().
01286 { 01287 char c, *ret, *dst; 01288 01289 if (src == NULL) 01290 return NULL; 01291 for (ret = dst = src; (c = *src++); *dst++ = c ) { 01292 if (c != '\\') 01293 continue; /* copy char at the end of the loop */ 01294 switch ((c = *src++)) { 01295 case '\0': /* special, trailing '\' */ 01296 c = '\\'; 01297 break; 01298 case 'b': /* backspace */ 01299 c = '\b'; 01300 break; 01301 case 'f': /* form feed */ 01302 c = '\f'; 01303 break; 01304 case 'n': 01305 c = '\n'; 01306 break; 01307 case 'r': 01308 c = '\r'; 01309 break; 01310 case 't': 01311 c = '\t'; 01312 break; 01313 } 01314 /* default, use the char literally */ 01315 } 01316 *dst = '\0'; 01317 return ret; 01318 }
char* ast_unescape_semicolon | ( | char * | s | ) |
Strip backslash for "escaped" semicolons, the string to be stripped (will be modified).
Definition at line 1266 of file utils.c.
Referenced by sip_cli_notify().
01267 { 01268 char *e; 01269 char *work = s; 01270 01271 while ((e = strchr(work, ';'))) { 01272 if ((e > work) && (*(e-1) == '\\')) { 01273 memmove(e - 1, e, strlen(e) + 1); 01274 work = e; 01275 } else { 01276 work = e + 1; 01277 } 01278 } 01279 01280 return s; 01281 }