summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/res_config_mysql.c7
-rw-r--r--include/asterisk/config.h12
-rw-r--r--res/res_config_curl.c7
-rw-r--r--res/res_config_ldap.c6
-rw-r--r--res/res_config_odbc.c6
-rw-r--r--res/res_config_pgsql.c9
-rw-r--r--res/res_config_sqlite.c8
-rw-r--r--res/res_config_sqlite3.c7
8 files changed, 37 insertions, 25 deletions
diff --git a/addons/res_config_mysql.c b/addons/res_config_mysql.c
index f2ef949fc..b080d118b 100644
--- a/addons/res_config_mysql.c
+++ b/addons/res_config_mysql.c
@@ -523,9 +523,8 @@ static struct ast_config *realtime_multi_mysql(const char *database, const char
while ((row = mysql_fetch_row(result))) {
var = NULL;
- cat = ast_category_new("", "", -1);
+ cat = ast_category_new_anonymous();
if (!cat) {
- ast_log(LOG_WARNING, "Out of memory!\n");
continue;
}
for (i = 0; i < numFields; i++) {
@@ -934,8 +933,8 @@ static struct ast_config *config_mysql(const char *database, const char *table,
}
if (strcmp(last, row[0]) || last_cat_metric != atoi(row[3])) {
- if (!(cur_cat = ast_category_new(row[0], "", -1))) {
- ast_log(LOG_WARNING, "Out of memory!\n");
+ cur_cat = ast_category_new_dynamic(row[0]);
+ if (!cur_cat) {
break;
}
strcpy(last, row[0]);
diff --git a/include/asterisk/config.h b/include/asterisk/config.h
index 4944a3af2..f57966b0b 100644
--- a/include/asterisk/config.h
+++ b/include/asterisk/config.h
@@ -834,6 +834,18 @@ const char *ast_config_option(struct ast_config *cfg, const char *cat, const cha
struct ast_category *ast_category_new(const char *name, const char *in_file, int lineno);
/*!
+ * \brief Create a category that is not backed by a file
+ *
+ * \param name name of new category
+ */
+#define ast_category_new_dynamic(name) ast_category_new(name, "", -1)
+
+/*!
+ * \brief Create a nameless category that is not backed by a file
+ */
+#define ast_category_new_anonymous() ast_category_new_dynamic("")
+
+/*!
* \brief Create a category making it a template
*
* \param name name of new template
diff --git a/res/res_config_curl.c b/res/res_config_curl.c
index 9ad7a6e3d..06a6aef89 100644
--- a/res/res_config_curl.c
+++ b/res/res_config_curl.c
@@ -182,7 +182,8 @@ static struct ast_config *realtime_multi_curl(const char *url, const char *unuse
continue;
}
- if (!(cat = ast_category_new("", "", 99999))) {
+ cat = ast_category_new_anonymous();
+ if (!cat) {
continue;
}
@@ -569,8 +570,10 @@ static struct ast_config *config_curl(const char *url, const char *unused, const
}
if (!cat || strcmp(category, cur_cat) || last_cat_metric != cat_metric) {
- if (!(cat = ast_category_new(category, "", 99999)))
+ cat = ast_category_new_dynamic(category);
+ if (!cat) {
break;
+ }
cur_cat = category;
last_cat_metric = cat_metric;
ast_category_append(cfg, cat);
diff --git a/res/res_config_ldap.c b/res/res_config_ldap.c
index f6abe6379..8ad9e1319 100644
--- a/res/res_config_ldap.c
+++ b/res/res_config_ldap.c
@@ -1038,10 +1038,8 @@ static struct ast_config *realtime_multi_ldap(const char *basedn,
struct ast_variable **p = vars;
while (*p) {
- struct ast_category *cat = NULL;
- cat = ast_category_new("", table_name, -1);
+ struct ast_category *cat = ast_category_new_anonymous();
if (!cat) {
- ast_log(LOG_ERROR, "Unable to create a new category!\n");
break;
} else {
struct ast_variable *var = *p;
@@ -1190,7 +1188,7 @@ static struct ast_config *config_ldap(const char *basedn, const char *table_name
if (!last_category || strcmp(last_category, categories[i].name) ||
last_category_metric != categories[i].metric) {
- cur_cat = ast_category_new(categories[i].name, table_name, -1);
+ cur_cat = ast_category_new_dynamic(categories[i].name);
if (!cur_cat) {
break;
}
diff --git a/res/res_config_odbc.c b/res/res_config_odbc.c
index 5a25b6b5a..114708325 100644
--- a/res/res_config_odbc.c
+++ b/res/res_config_odbc.c
@@ -407,9 +407,8 @@ static struct ast_config *realtime_multi_odbc(const char *database, const char *
ast_log(LOG_WARNING, "SQL Fetch error! [%s]\n", ast_str_buffer(sql));
continue;
}
- cat = ast_category_new("","",99999);
+ cat = ast_category_new_anonymous();
if (!cat) {
- ast_log(LOG_WARNING, "Out of memory!\n");
continue;
}
for (x=0;x<colcount;x++) {
@@ -1016,9 +1015,8 @@ static struct ast_config *config_odbc(const char *database, const char *table, c
continue;
}
if (strcmp(last, q.category) || last_cat_metric != q.cat_metric) {
- cur_cat = ast_category_new(q.category, "", 99999);
+ cur_cat = ast_category_new_dynamic(q.category);
if (!cur_cat) {
- ast_log(LOG_WARNING, "Out of memory!\n");
break;
}
strcpy(last, q.category);
diff --git a/res/res_config_pgsql.c b/res/res_config_pgsql.c
index f0859617d..b5f24b0f4 100644
--- a/res/res_config_pgsql.c
+++ b/res/res_config_pgsql.c
@@ -648,8 +648,10 @@ static struct ast_config *realtime_multi_pgsql(const char *database, const char
for (rowIndex = 0; rowIndex < num_rows; rowIndex++) {
var = NULL;
- if (!(cat = ast_category_new("","",99999)))
+ cat = ast_category_new_anonymous();
+ if (!cat) {
continue;
+ }
for (i = 0; i < numFields; i++) {
stringp = PQgetvalue(result, rowIndex, i);
while (stringp) {
@@ -1129,9 +1131,10 @@ static struct ast_config *config_pgsql(const char *database, const char *table,
}
if (strcmp(last, field_category) || last_cat_metric != atoi(field_cat_metric)) {
- cur_cat = ast_category_new(field_category, "", 99999);
- if (!cur_cat)
+ cur_cat = ast_category_new_dynamic(field_category);
+ if (!cur_cat) {
break;
+ }
ast_copy_string(last, field_category, sizeof(last));
last_cat_metric = atoi(field_cat_metric);
ast_category_append(cfg, cur_cat);
diff --git a/res/res_config_sqlite.c b/res/res_config_sqlite.c
index 685949787..96a10b43f 100644
--- a/res/res_config_sqlite.c
+++ b/res/res_config_sqlite.c
@@ -874,10 +874,8 @@ static int add_cfg_entry(void *arg, int argc, char **argv, char **columnNames)
}
if (!args->cat_name || strcmp(args->cat_name, argv[RES_CONFIG_SQLITE_CONFIG_CATEGORY])) {
- args->cat = ast_category_new(argv[RES_CONFIG_SQLITE_CONFIG_CATEGORY], "", 99999);
-
+ args->cat = ast_category_new_dynamic(argv[RES_CONFIG_SQLITE_CONFIG_CATEGORY]);
if (!args->cat) {
- ast_log(LOG_WARNING, "Unable to allocate category\n");
return 1;
}
@@ -1086,8 +1084,8 @@ static int add_rt_multi_cfg_entry(void *arg, int argc, char **argv, char **colum
return 1;
}
- if (!(cat = ast_category_new(cat_name, "", 99999))) {
- ast_log(LOG_WARNING, "Unable to allocate category\n");
+ cat = ast_category_new_dynamic(cat_name);
+ if (!cat) {
return 1;
}
diff --git a/res/res_config_sqlite3.c b/res/res_config_sqlite3.c
index 8c514b07c..087843a68 100644
--- a/res/res_config_sqlite3.c
+++ b/res/res_config_sqlite3.c
@@ -503,7 +503,8 @@ static int append_row_to_cfg(void *arg, int num_columns, char **values, char **c
struct ast_category *cat;
int i;
- if (!(cat = ast_category_new("", "", 99999))) {
+ cat = ast_category_new_anonymous();
+ if (!cat) {
return SQLITE_ABORT;
}
@@ -723,8 +724,8 @@ static int static_realtime_cb(void *arg, int num_columns, char **values, char **
}
if (!args->cat_name || strcmp(args->cat_name, values[COL_CATEGORY])) {
- if (!(args->cat = ast_category_new(values[COL_CATEGORY], "", 99999))) {
- ast_log(LOG_WARNING, "Unable to allocate category\n");
+ args->cat = ast_category_new_dynamic(values[COL_CATEGORY]);
+ if (!args->cat) {
return SQLITE_ABORT;
}