From: Joshua Colp Date: Wed, 11 Jul 2007 17:34:30 +0000 (+0000) Subject: Use the linkedlists.h AST_LIST_NEXT macro for modifying the list of results. X-Git-Tag: 1.6.0-beta1~3^2~2087 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7e015109a2d551b819d21a025933a6dc4d77cf40;p=thirdparty%2Fasterisk.git Use the linkedlists.h AST_LIST_NEXT macro for modifying the list of results. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@74616 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_speech_utils.c b/apps/app_speech_utils.c index 2df89ba4e2..30d1737f3c 100644 --- a/apps/app_speech_utils.c +++ b/apps/app_speech_utils.c @@ -150,7 +150,7 @@ static struct ast_speech_result *find_result(struct ast_speech_result *results, if (i == wanted_num) break; i++; - } while ((result = result->next)); + } while ((result = AST_LIST_NEXT(result, list))); return result; } @@ -315,11 +315,8 @@ static int speech_read(struct ast_channel *chan, const char *cmd, char *data, ast_copy_string(buf, "0", len); } else if (!strcasecmp(data, "results")) { /* Count number of results */ - result = speech->results; - while (result) { + for (result = speech->results; result; result = AST_LIST_NEXT(result, list)) results++; - result = result->next; - } snprintf(tmp, sizeof(tmp), "%d", results); ast_copy_string(buf, tmp, len); } diff --git a/include/asterisk/speech.h b/include/asterisk/speech.h index 81b45a7618..02d056f336 100644 --- a/include/asterisk/speech.h +++ b/include/asterisk/speech.h @@ -110,7 +110,7 @@ struct ast_speech_result { /*! Matched grammar */ char *grammar; /*! List information */ - struct ast_speech_result *next; + AST_LIST_ENTRY(ast_speech_result) list; }; /*! \brief Activate a grammar on a speech structure */ diff --git a/res/res_speech.c b/res/res_speech.c index e848b06cae..9047ad254d 100644 --- a/res/res_speech.c +++ b/res/res_speech.c @@ -113,7 +113,7 @@ int ast_speech_results_free(struct ast_speech_result *result) current_result->grammar = NULL; } /* Move on and then free ourselves */ - current_result = current_result->next; + current_result = AST_LIST_NEXT(current_result, list); ast_free(prev_result); prev_result = NULL; }