Changeset 1689


Ignore:
Timestamp:
02/25/10 20:25:52 (11 years ago)
Author:
alno
Message:

WebIf:

  • some reader defaults build in chk_reader
  • new clear_ftab in simples
Location:
branches/monitor-improvement
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/monitor-improvement/oscam-config.c

    r1688 r1689  
    21622162
    21632163    if (!strcmp(token, "fallback")) {
    2164         rdr->fallback = atoi(value) ? 1 : 0;
    2165         return;
     2164        if(strlen(value) == 0) {
     2165            rdr->fallback = 0;
     2166            return;
     2167        } else {
     2168            rdr->fallback = atoi(value) ? 1 : 0;
     2169            return;
     2170        }
    21662171    }
    21672172
    21682173    if (!strcmp(token, "logport")) {
    2169         rdr->log_port = atoi(value);
    2170         return;
     2174        if(strlen(value) == 0) {
     2175            rdr->log_port = 0;
     2176            return;
     2177        } else {
     2178            rdr->log_port = atoi(value);
     2179            return;
     2180        }
    21712181    }
    21722182
    21732183    if (!strcmp(token, "caid")) {
    2174         chk_caidtab(value, &rdr->ctab);
    2175         return;
     2184        if(strlen(value) == 0) {
     2185            clear_caidtab(&rdr->ctab);
     2186            return;
     2187        } else {
     2188            chk_caidtab(value, &rdr->ctab);
     2189            return;
     2190        }
    21762191    }
    21772192
    21782193    if (!strcmp(token, "boxid")) {
    2179         rdr->boxid = a2i(value, 4);
    2180         return;
     2194        if(strlen(value) == 0) {
     2195            rdr->boxid = 0;
     2196            return;
     2197        } else {
     2198            rdr->boxid = a2i(value, 4);
     2199            return;
     2200        }
    21812201    }
    21822202
     
    22282248
    22292249    if (!strcmp(token, "mhz")) {
    2230         rdr->mhz = atoi(value);
    2231         return;
     2250        if(strlen(value) == 0) {
     2251            rdr->mhz = 0;
     2252            return;
     2253        } else {
     2254            rdr->mhz = atoi(value);
     2255            return;
     2256        }
    22322257    }
    22332258
    22342259    if (!strcmp(token, "cardmhz")) {
    2235         rdr->cardmhz = atoi(value);
    2236         return;
     2260        if(strlen(value) == 0) {
     2261            rdr->cardmhz = 0;
     2262            return;
     2263        } else {
     2264            rdr->cardmhz = atoi(value);
     2265            return;
     2266        }
    22372267    }
    22382268
     
    23132343        }
    23142344
    2315         fprintf(stderr, "WARNING: value '%s' in protocol-line not recognized, assuming MOUSE\n",value);
     2345        cs_log( "WARNING: value '%s' in protocol-line not recognized, assuming MOUSE",value);
    23162346        rdr->typ = R_MOUSE;
    23172347        return;
     
    23192349
    23202350    if (!strcmp(token, "loadbalanced")) {
    2321         rdr->loadbalanced = atoi(value);
    2322         return;
     2351        if(strlen(value) == 0) {
     2352            rdr->loadbalanced = 0;
     2353            return;
     2354        } else {
     2355            rdr->loadbalanced = atoi(value);
     2356            return;
     2357        }
    23232358    }
    23242359
    23252360    if (!strcmp(token, "ident")) {
    2326         chk_ftab(value, &rdr->ftab,"reader",rdr->label,"provid");
    2327         return;
     2361        if(strlen(value) == 0) {
     2362            clear_ftab(&rdr->ftab);
     2363            return;
     2364        } else {
     2365            chk_ftab(value, &rdr->ftab,"reader",rdr->label,"provid");
     2366            return;
     2367        }
    23282368    }
    23292369
     
    23512391    }
    23522392
    2353     if (!strcmp(token, "group"))
    2354     {
    2355         for (ptr = strtok(value, ","); ptr; ptr = strtok(NULL, ",")) {
    2356             int g;
    2357             g = atoi(ptr);
    2358             if ((g>0) && (g<33)) {
    2359                 rdr->grp |= (1<<(g-1));
     2393    if (!strcmp(token, "group")) {
     2394        if(strlen(value) == 0) {
     2395            rdr->grp = 0;
     2396            return;
     2397        } else {
     2398            for (ptr = strtok(value, ","); ptr; ptr = strtok(NULL, ",")) {
     2399                int g;
     2400                g = atoi(ptr);
     2401                if ((g>0) && (g<33)) {
     2402                    rdr->grp |= (1<<(g-1));
     2403                }
    23602404            }
    2361         }
    2362         return;
     2405            return;
     2406        }
    23632407    }
    23642408
    23652409    if (!strcmp(token, "emmcache")) {
    2366         for (i = 0, ptr = strtok(value, ","); (i < 3) && (ptr); ptr = strtok(NULL, ","), i++) {
    2367             switch(i)
    2368             {
    2369                 case 0:
    2370                     rdr->cachemm = atoi(ptr);
    2371                     break;
    2372 
    2373                 case 1:
    2374                     rdr->rewritemm = atoi(ptr);
    2375                     break;
    2376 
    2377                 case 2: rdr->logemm = atoi(ptr);
    2378                     break;
     2410        if(strlen(value) == 0) {
     2411            rdr->cachemm = 0;
     2412            rdr->rewritemm = 0;
     2413            rdr->logemm = 0;
     2414            return;
     2415        } else {
     2416            for (i = 0, ptr = strtok(value, ","); (i < 3) && (ptr); ptr = strtok(NULL, ","), i++) {
     2417                switch(i)
     2418                {
     2419                    case 0:
     2420                        rdr->cachemm = atoi(ptr);
     2421                        break;
     2422
     2423                    case 1:
     2424                        rdr->rewritemm = atoi(ptr);
     2425                        break;
     2426
     2427                    case 2: rdr->logemm = atoi(ptr);
     2428                        break;
     2429                }
    23792430            }
    2380         }
    2381 
    2382         if (rdr->rewritemm <= 0) {
    2383             fprintf(stderr, "Notice: Setting EMMCACHE to %i,1,%i instead of %i,%i,%i. ",
    2384                 rdr->cachemm, rdr->logemm,
    2385                 rdr->cachemm, rdr->rewritemm,
    2386                 rdr->logemm);
    2387 
    2388             fprintf(stderr, "Zero or negative number of rewrites is silly\n");
    2389             rdr->rewritemm = 1;
    2390         }
    2391         return;
     2431
     2432            if (rdr->rewritemm <= 0) {
     2433                fprintf(stderr, "Notice: Setting EMMCACHE to %i,1,%i instead of %i,%i,%i. ",
     2434                    rdr->cachemm, rdr->logemm,
     2435                    rdr->cachemm, rdr->rewritemm,
     2436                    rdr->logemm);
     2437
     2438                fprintf(stderr, "Zero or negative number of rewrites is silly\n");
     2439                rdr->rewritemm = 1;
     2440            }
     2441            return;
     2442        }
    23922443    }
    23932444
  • branches/monitor-improvement/oscam-simples.c

    r1665 r1689  
    480480}
    481481
     482/* Clears the s_ftab struct provided by setting nfilts and nprids to zero. */
     483void clear_ftab(struct s_ftab *ftab){
     484    int i, j;
     485    for (i = 0; i < CS_MAXFILTERS; i++) {
     486        ftab->filts[i].caid = 0;
     487        for (j = 0; j < CS_MAXPROV; j++)
     488            ftab->filts[i].prids[j] = 0;
     489        ftab->filts[i].nprids = 0;
     490    }
     491    ftab->nfilts = 0;
     492}
     493
    482494/* Clears the s_ptab struct provided by setting nfilts and nprids to zero. */
    483495void clear_ptab(struct s_ptab *ptab){
Note: See TracChangeset for help on using the changeset viewer.