Changeset 1232 for branches/monitor-improvement/oscam-config.c
- Timestamp:
- 01/14/10 21:25:28 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/monitor-improvement/oscam-config.c
r1210 r1232 1400 1400 int nr; 1401 1401 FILE *fp; 1402 char * value;1402 char *payload; 1403 1403 static struct s_srvid *srvid=(struct s_srvid *)0; 1404 1405 1404 sprintf(token, "%s%s", cs_confdir, cs_srid); 1406 if (!(fp=fopen(token, "r"))) 1407 { 1408 cs_log("can't open file \"%s\" (err=%d), no service-id's loaded", 1409 token, errno); 1405 1406 if (!(fp=fopen(token, "r"))) { 1407 cs_log("can't open file \"%s\" (err=%d), no service-id's loaded", token, errno); 1410 1408 return(0); 1411 1409 } 1410 1412 1411 nr=0; 1413 while (fgets(token, sizeof(token), fp)) 1414 { 1415 1416 1417 if ((l=strlen(trim(token)))<6) continue;1418 if (!(value=strchr(token, ':'))) continue;1419 *value++='\0';1420 1421 if (!(ptr=malloc(sizeof(struct s_srvid)))) 1422 1412 while (fgets(token, sizeof(token), fp)) { 1413 1414 int l; 1415 void *ptr; 1416 if ((l=strlen(trim(token))) < 6) continue; 1417 if (!(payload=strchr(token, '|'))) continue; 1418 *payload++ = '\0'; 1419 //if (strlen(token)!=4) continue; 1420 1421 if (!(ptr = malloc(sizeof(struct s_srvid)))) { 1423 1422 cs_log("Error allocating memory (errno=%d)", errno); 1424 1423 return(1); 1425 1424 } 1425 1426 1426 if (srvid) 1427 srvid->next =ptr;1427 srvid->next = ptr; 1428 1428 else 1429 cfg->srvid=ptr; 1430 srvid=ptr; 1429 cfg->srvid = ptr; 1430 1431 srvid = ptr; 1431 1432 memset(srvid, 0, sizeof(struct s_srvid)); 1432 srvid->srvid=word_atob(token); 1433 strncpy(srvid->name, value, sizeof(srvid->name)-1); 1434 nr++; 1435 } 1433 1434 int i; 1435 char *ptr1; 1436 for (i = 0, ptr1 = strtok(payload, "|"); ptr1; ptr1 = strtok(NULL, "|"), i++){ 1437 switch(i){ 1438 case 0: 1439 strncpy(srvid->prov, trim(ptr1), sizeof(srvid->prov)-1); 1440 break; 1441 case 1: 1442 strncpy(srvid->name, trim(ptr1), sizeof(srvid->name)-1); 1443 break; 1444 case 2: 1445 strncpy(srvid->type, trim(ptr1), sizeof(srvid->type)-1); 1446 break; 1447 case 3: 1448 strncpy(srvid->desc, trim(ptr1), sizeof(srvid->desc)-1); 1449 break; 1450 } 1451 } 1452 1453 char *srvidasc = strchr(token, ':'); 1454 *srvidasc++ = '\0'; 1455 srvid->srvid = word_atob(srvidasc); 1456 1457 srvid->ncaid = 0; 1458 for (i = 0, ptr1 = strtok(token, ","); (ptr1) && (i < 10) ; ptr1 = strtok(NULL, ","), i++){ 1459 srvid->caid[i] = word_atob(ptr1); 1460 srvid->ncaid = i+1; 1461 } 1462 nr++; 1463 } 1464 1436 1465 fclose(fp); 1437 cs_log("%d service-id's loaded", nr); 1466 if (nr>0) 1467 cs_log("%d service-id's loaded", nr); 1468 else{ 1469 cs_log("oscam.srvid loading FAILED -> old format"); 1470 cs_log("New: caid[,caid]:srvid|providername|channelname|type|comment"); 1471 cs_log("See: http://streamboard.gmc.to/wiki/index.php/Srvid#microMon.srvid"); 1472 } 1438 1473 return(0); 1439 1474 }
Note:
See TracChangeset
for help on using the changeset viewer.