If the value of a variable passed to FIELDQTY is blank, then FIELDQTY should return 0, not 1.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@66537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Tilghman Lesher
2007-05-29 21:49:35 +00:00
parent c4e7d9fef5
commit fc6d28a932

View File

@@ -51,7 +51,9 @@ static char *function_fieldqty(struct ast_channel *chan, char *cmd, char *data,
sprintf(varsubst, "${%s}", varname);
pbx_substitute_variables_helper(chan, varsubst, varval, sizeof(varval) - 1);
if (delim) {
if (ast_strlen_zero(varval))
fieldcount = 0;
else if (delim) {
while (strsep(&varval2, delim))
fieldcount++;
} else if (!ast_strlen_zero(varval)) {
@@ -60,7 +62,7 @@ static char *function_fieldqty(struct ast_channel *chan, char *cmd, char *data,
snprintf(buf, len, "%d", fieldcount);
} else {
ast_log(LOG_ERROR, "Out of memory\n");
strncpy(buf, "1", len);
ast_copy_string(buf, "1", len);
}
return buf;
}