114 if (!strcmp(cur->filename,
args.filename)) {
123 if (!(cur =
ast_calloc(1,
sizeof(*cur) + strlen(
args.filename) + 1))) {
128 strcpy(cur->filename,
args.filename);
146 if (!strcmp(cur->filename,
args.filename)) {
152 if (!(cur =
ast_calloc(1,
sizeof(*cur) + strlen(
args.filename) + 1))) {
157 strcpy(cur->filename,
args.filename);
168 ast_debug(1,
"'%s' not found in [%s] of '%s'\n",
args.variable,
const char * ast_variable_retrieve(const struct ast_config *config, const char *category, const char *variable)
Gets a variable.
#define AST_RWLIST_WRLOCK(head)
Write locks a list.
#define AST_RWLIST_UNLOCK(head)
Attempts to unlock a read/write based list.
#define AST_DECLARE_APP_ARGS(name, arglist)
Declare a structure to hold an application's arguments.
void ast_config_destroy(struct ast_config *config)
Destroys a config.
#define AST_RWLIST_RDLOCK(head)
Read locks a list.
#define ast_debug(level,...)
Log a DEBUG message.
#define ast_config_load(filename, flags)
Load a config file.
static force_inline int attribute_pure ast_strlen_zero(const char *s)
#define AST_RWLIST_TRAVERSE
#define ast_strdupa(s)
duplicate a string in memory from the stack
static int len(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t buflen)
void ast_log(int level, const char *file, int line, const char *function, const char *fmt,...)
Used for sending a log message This is the standard logger function. Probably the only way you will i...
static void parse(struct mgcp_request *req)
Structure used to handle boolean flags.
#define ast_clear_flag(p, flag)
#define AST_RWLIST_INSERT_TAIL
void ast_copy_string(char *dst, const char *src, size_t size)
Size-limited null-terminating string copy.
#define AST_APP_ARG(name)
Define an application argument.
#define AST_STANDARD_APP_ARGS(args, parse)
Performs the 'standard' argument separation process for an application.
#define CONFIG_STATUS_FILEINVALID
#define CONFIG_STATUS_FILEUNCHANGED