From fc6d28a932cfdd88a96053cbc1b3e1eae869c3e6 Mon Sep 17 00:00:00 2001 From: Tilghman Lesher Date: Tue, 29 May 2007 21:49:35 +0000 Subject: [PATCH] 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 --- funcs/func_strings.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/funcs/func_strings.c b/funcs/func_strings.c index 00b6dd1720..0aaf3fc4b0 100644 --- a/funcs/func_strings.c +++ b/funcs/func_strings.c @@ -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; }