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
1.6.0
Joshua Colp 18 years ago
parent 2d3f9ce25b
commit 7e015109a2

@ -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);
}

@ -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 */

@ -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;
}

Loading…
Cancel
Save