Changeset 5057 for trunk/oscam-config.c
- Timestamp:
- 04/20/11 14:50:04 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/oscam-config.c
r5047 r5057 4535 4535 */ 4536 4536 char *mk_t_service( uint64_t sidtabok, uint64_t sidtabno){ 4537 int32_t i = 0, pos = 0;4538 char *dot = "";4537 int32_t i, pos; 4538 char *dot; 4539 4539 char *value; 4540 struct s_sidtab *sidtab = cfg.sidtab;4541 if(!sidtab || !cs_malloc(&value, 256 * sizeof(char), -1)) return "";4540 struct s_sidtab *sidtab; 4541 if(!sidtab || !cs_malloc(&value, 512, -1)) return ""; 4542 4542 value[0] = '\0'; 4543 4543 4544 char sidok[MAX_SIDBITS+1]; uint64ToBitchar((uint64_t)sidtabok, MAX_SIDBITS, sidok); 4545 char sidno[MAX_SIDBITS+1]; uint64ToBitchar((uint64_t)sidtabno, MAX_SIDBITS, sidno); 4546 4547 for (; sidtab; sidtab=sidtab->next){ 4548 if(sidok[i]=='1') { 4549 pos += snprintf(value + pos, 256 - pos, "%s%s", dot, sidtab->label); 4544 for (i=pos=0,dot="",sidtab=cfg.sidtab; sidtab; sidtab=sidtab->next,i++){ 4545 if (sidtabok&((SIDTABBITS)1<<i)) { 4546 pos += snprintf(value + pos, 512 - pos, "%s%s", dot, sidtab->label); 4550 4547 dot = ","; 4551 4548 } 4552 if (sidno[i]=='1') {4553 pos += snprintf(value + pos, 256- pos, "%s!%s", dot, sidtab->label);4549 if (sidtabno&((SIDTABBITS)1<<i)) { 4550 pos += snprintf(value + pos, 512 - pos, "%s!%s", dot, sidtab->label); 4554 4551 dot = ","; 4555 4552 } 4556 i++;4557 4553 } 4558 4554 return value;
Note:
See TracChangeset
for help on using the changeset viewer.