summaryrefslogtreecommitdiff
path: root/res
diff options
context:
space:
mode:
authorSean Bright <sean.bright@gmail.com>2017-02-21 09:56:54 -0500
committerSean Bright <sean.bright@gmail.com>2017-02-21 10:53:17 -0600
commit6e6c96d713be2b745c4e033b6e5710dea72088df (patch)
treef112d117f05eaf4ea86b4c08317304ddaf20f0b0 /res
parent144b09ab41274498637a6cd8601f653658ecca8b (diff)
realtime: Centralize some common realtime backend code
All of the realtime backends create artificial ast_categorys to pass back into the core as query results. These categories have no filename or line number information associated with them and the backends differ slightly on how they create them. So create a couple helper macros to help make things more consistent. Also updated the call sites to remove redundant error messages about memory allocation failure. Note that res_config_ldap sets the category filename to the 'table name' but that is not read by anything in the core, so I've dropped it. Change-Id: I3a1fd91e0c807dea1ce3b643b0a6fe5be9002897
Diffstat (limited to 'res')
-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
6 files changed, 22 insertions, 21 deletions
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 5e95853d4..7bbac0ce0 100644
--- a/res/res_config_ldap.c
+++ b/res/res_config_ldap.c
@@ -1043,10 +1043,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;
@@ -1195,7 +1193,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;
}