Merge "realtime: Centralize some common realtime backend code"

This commit is contained in:
Joshua Colp 2017-02-22 05:53:50 -06:00 committed by Gerrit Code Review
commit 8f248f7a1c
8 changed files with 37 additions and 25 deletions

View File

@ -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]);

View File

@ -833,6 +833,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
*

View File

@ -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);

View File

@ -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;
}

View File

@ -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);

View File

@ -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);

View File

@ -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;
}

View File

@ -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;
}