Changeset 1689
- Timestamp:
- 02/25/10 20:25:52 (14 years ago)
- Location:
- branches/monitor-improvement
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/monitor-improvement/oscam-config.c
r1688 r1689 2162 2162 2163 2163 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 } 2166 2171 } 2167 2172 2168 2173 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 } 2171 2181 } 2172 2182 2173 2183 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 } 2176 2191 } 2177 2192 2178 2193 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 } 2181 2201 } 2182 2202 … … 2228 2248 2229 2249 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 } 2232 2257 } 2233 2258 2234 2259 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 } 2237 2267 } 2238 2268 … … 2313 2343 } 2314 2344 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); 2316 2346 rdr->typ = R_MOUSE; 2317 2347 return; … … 2319 2349 2320 2350 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 } 2323 2358 } 2324 2359 2325 2360 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 } 2328 2368 } 2329 2369 … … 2351 2391 } 2352 2392 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 } 2360 2404 } 2361 }2362 return;2405 return; 2406 } 2363 2407 } 2364 2408 2365 2409 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 } 2379 2430 } 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 } 2392 2443 } 2393 2444 -
branches/monitor-improvement/oscam-simples.c
r1665 r1689 480 480 } 481 481 482 /* Clears the s_ftab struct provided by setting nfilts and nprids to zero. */ 483 void 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 482 494 /* Clears the s_ptab struct provided by setting nfilts and nprids to zero. */ 483 495 void clear_ptab(struct s_ptab *ptab){
Note:
See TracChangeset
for help on using the changeset viewer.