--- diseqc.c 2008/02/10 14:09:27 1.6 +++ diseqc.c 2011/05/22 11:41:05 @@ -73,15 +73,18 @@ { char *e = strchr(s, ']'); if (e) { - numCodes = 0; + int NumCodes = 0; char *t = s; char *p = s; while (t < e) { - if (numCodes < MaxDiseqcCodes) { + if (NumCodes < MaxDiseqcCodes) { errno = 0; int n = strtol(t, &p, 16); if (!errno && p != t && 0 <= n && n <= 255) { - codes[numCodes++] = n; + if (parsing) { + codes[NumCodes++] = n; + numCodes = NumCodes; + } t = skipspace(p); } else {