mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-13 00:04:53 +00:00
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
This commit is contained in:
@@ -150,7 +150,7 @@ static struct ast_speech_result *find_result(struct ast_speech_result *results,
|
|||||||
if (i == wanted_num)
|
if (i == wanted_num)
|
||||||
break;
|
break;
|
||||||
i++;
|
i++;
|
||||||
} while ((result = result->next));
|
} while ((result = AST_LIST_NEXT(result, list)));
|
||||||
|
|
||||||
return result;
|
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);
|
ast_copy_string(buf, "0", len);
|
||||||
} else if (!strcasecmp(data, "results")) {
|
} else if (!strcasecmp(data, "results")) {
|
||||||
/* Count number of results */
|
/* Count number of results */
|
||||||
result = speech->results;
|
for (result = speech->results; result; result = AST_LIST_NEXT(result, list))
|
||||||
while (result) {
|
|
||||||
results++;
|
results++;
|
||||||
result = result->next;
|
|
||||||
}
|
|
||||||
snprintf(tmp, sizeof(tmp), "%d", results);
|
snprintf(tmp, sizeof(tmp), "%d", results);
|
||||||
ast_copy_string(buf, tmp, len);
|
ast_copy_string(buf, tmp, len);
|
||||||
}
|
}
|
||||||
|
@@ -110,7 +110,7 @@ struct ast_speech_result {
|
|||||||
/*! Matched grammar */
|
/*! Matched grammar */
|
||||||
char *grammar;
|
char *grammar;
|
||||||
/*! List information */
|
/*! List information */
|
||||||
struct ast_speech_result *next;
|
AST_LIST_ENTRY(ast_speech_result) list;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*! \brief Activate a grammar on a speech structure */
|
/*! \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;
|
current_result->grammar = NULL;
|
||||||
}
|
}
|
||||||
/* Move on and then free ourselves */
|
/* Move on and then free ourselves */
|
||||||
current_result = current_result->next;
|
current_result = AST_LIST_NEXT(current_result, list);
|
||||||
ast_free(prev_result);
|
ast_free(prev_result);
|
||||||
prev_result = NULL;
|
prev_result = NULL;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user