diff options
author | Walter Doekes <walter+asterisk@wjd.nu> | 2014-02-10 16:49:40 +0000 |
---|---|---|
committer | Walter Doekes <walter+asterisk@wjd.nu> | 2014-02-10 16:49:40 +0000 |
commit | 72bf9b13150f50198a302c365c6c3274d38c2ebc (patch) | |
tree | a98797b37b8aa0e5fb1b88dfc3c2298fc2f17443 | |
parent | 75edef52e031c3909b16216946ba91c27deb10b6 (diff) |
res_config_pgsql: Fix ast_update2_realtime calls.
Fix so multiple updates from a single call works (add missing ',').
Remove bogus ast_free's that weren't supposed to be there.
Moved a few spaces for readability.
Review: https://reviewboard.asterisk.org/r/3194/
........
Merged revisions 407873 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 407874 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 407875 from http://svn.asterisk.org/svn/asterisk/branches/12
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@407876 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r-- | res/res_config_pgsql.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/res/res_config_pgsql.c b/res/res_config_pgsql.c index b59dc5521..27494a12f 100644 --- a/res/res_config_pgsql.c +++ b/res/res_config_pgsql.c @@ -838,8 +838,8 @@ static int update2_pgsql(const char *database, const char *tablename, const stru return -1; } - ast_str_set(&sql, 0, "UPDATE %s SET ", tablename); - ast_str_set(&where, 0, "WHERE"); + ast_str_set(&sql, 0, "UPDATE %s SET", tablename); + ast_str_set(&where, 0, " WHERE"); for (field = lookup_fields; field; field = field->next) { if (!find_column(table, field->name)) { @@ -852,7 +852,6 @@ static int update2_pgsql(const char *database, const char *tablename, const stru if (pgresult) { ast_log(LOG_ERROR, "PostgreSQL RealTime: detected invalid input: '%s'\n", field->value); release_table(table); - ast_free(sql); return -1; } ast_str_append(&where, 0, "%s %s='%s'", first ? "" : " AND", field->name, ast_str_buffer(escapebuf)); @@ -883,15 +882,15 @@ static int update2_pgsql(const char *database, const char *tablename, const stru if (pgresult) { ast_log(LOG_ERROR, "PostgreSQL RealTime: detected invalid input: '%s'\n", field->value); release_table(table); - ast_free(sql); return -1; } ast_str_append(&sql, 0, "%s %s='%s'", first ? "" : ",", field->name, ast_str_buffer(escapebuf)); + first = 0; } release_table(table); - ast_str_append(&sql, 0, " %s", ast_str_buffer(where)); + ast_str_append(&sql, 0, "%s", ast_str_buffer(where)); ast_debug(1, "PostgreSQL RealTime: Update SQL: %s\n", ast_str_buffer(sql)); |