From 5004f1cb9d2ff2b7874867150eae2c4f04772505 Mon Sep 17 00:00:00 2001 From: rizzo Date: Tue, 28 Mar 2006 23:20:13 +0000 Subject: [PATCH] normalize/simplify a bit of the command completion code. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@15856 f38db490-d61c-443f-a65b-d21fe96a405b --- channels/chan_zap.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/channels/chan_zap.c b/channels/chan_zap.c index adc6217c9..3f933df3f 100644 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -9394,20 +9394,19 @@ static int start_pri(struct zt_pri *pri) static char *complete_span_helper(const char *line, const char *word, int pos, int state, int rpos) { - int span=1; - char tmp[50]; + int which, span; + char *ret = NULL; + if (pos != rpos) - return 0; - while(span <= NUM_SPANS) { - if (span > state && pris[span-1].pri) + return ret; + + for (which = span = 0; span < NUM_SPANS; span++) { + if (pris[span].pri && ++which > state) { + asprintf(&ret, "%d", span + 1); /* user indexes start from 1 */ break; - span++; + } } - if (span <= NUM_SPANS) { - snprintf(tmp, sizeof(tmp), "%d", span); - return ast_strdup(tmp); - } else - return NULL; + return ret; } static char *complete_span_4(const char *line, const char *word, int pos, int state)