summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--res/res_config_curl.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/res/res_config_curl.c b/res/res_config_curl.c
index 7d8e79aab..81ad23467 100644
--- a/res/res_config_curl.c
+++ b/res/res_config_curl.c
@@ -463,7 +463,7 @@ static int require_curl(const char *url, const char *unused, va_list ap)
{
struct ast_str *query, *buffer;
char *elm, field[256];
- int type, size;
+ int type, size, i = 0;
if (!ast_custom_function_find("CURL")) {
ast_log(LOG_ERROR, "func_curl.so must be loaded in order to use res_config_curl.so!!\n");
@@ -484,7 +484,9 @@ static int require_curl(const char *url, const char *unused, va_list ap)
type = va_arg(ap, require_type);
size = va_arg(ap, int);
ast_uri_encode(elm, field, sizeof(field), ast_uri_http);
- ast_str_append(&query, 0, "%s=%s%%3A%d", field,
+ ast_str_append(&query, 0, "%s%s=%s%%3A%d",
+ i > 0 ? "&" : "",
+ field,
type == RQ_CHAR ? "char" :
type == RQ_INTEGER1 ? "integer1" :
type == RQ_UINTEGER1 ? "uinteger1" :
@@ -500,6 +502,7 @@ static int require_curl(const char *url, const char *unused, va_list ap)
type == RQ_DATETIME ? "datetime" :
type == RQ_FLOAT ? "float" :
"unknown", size);
+ i++;
}
ast_str_append(&query, 0, ")}");