Changeset 1239 for branches/smartreader/oscam-config.c
- Timestamp:
- 01/15/10 19:56:48 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/smartreader/oscam-config.c
r1202 r1239 1019 1019 int nr; 1020 1020 FILE *fp; 1021 char * value;1021 char *payload; 1022 1022 static struct s_srvid *srvid=(struct s_srvid *)0; 1023 1024 1023 sprintf(token, "%s%s", cs_confdir, cs_srid); 1025 if (!(fp=fopen(token, "r"))) 1026 { 1027 cs_log("can't open file \"%s\" (err=%d), no service-id's loaded", 1028 token, errno); 1024 1025 if (!(fp=fopen(token, "r"))) { 1026 cs_log("can't open file \"%s\" (err=%d), no service-id's loaded", token, errno); 1029 1027 return(0); 1030 1028 } 1029 1031 1030 nr=0; 1032 while (fgets(token, sizeof(token), fp)) 1033 { 1034 1035 1036 if ((l=strlen(trim(token)))<6) continue;1037 if (!(value=strchr(token, ':'))) continue;1038 *value++='\0';1039 1040 if (!(ptr=malloc(sizeof(struct s_srvid)))) 1041 1031 while (fgets(token, sizeof(token), fp)) { 1032 1033 int l; 1034 void *ptr; 1035 if ((l=strlen(trim(token))) < 6) continue; 1036 if (!(payload=strchr(token, '|'))) continue; 1037 *payload++ = '\0'; 1038 //if (strlen(token)!=4) continue; 1039 1040 if (!(ptr = malloc(sizeof(struct s_srvid)))) { 1042 1041 cs_log("Error allocating memory (errno=%d)", errno); 1043 1042 return(1); 1044 1043 } 1044 1045 1045 if (srvid) 1046 srvid->next =ptr;1046 srvid->next = ptr; 1047 1047 else 1048 cfg->srvid=ptr; 1049 srvid=ptr; 1048 cfg->srvid = ptr; 1049 1050 srvid = ptr; 1050 1051 memset(srvid, 0, sizeof(struct s_srvid)); 1051 srvid->srvid=word_atob(token); 1052 strncpy(srvid->name, value, sizeof(srvid->name)-1); 1053 nr++; 1054 } 1052 1053 int i; 1054 char *ptr1; 1055 for (i = 0, ptr1 = strtok(payload, "|"); ptr1; ptr1 = strtok(NULL, "|"), i++){ 1056 switch(i){ 1057 case 0: 1058 strncpy(srvid->prov, trim(ptr1), sizeof(srvid->prov)-1); 1059 break; 1060 case 1: 1061 strncpy(srvid->name, trim(ptr1), sizeof(srvid->name)-1); 1062 break; 1063 case 2: 1064 strncpy(srvid->type, trim(ptr1), sizeof(srvid->type)-1); 1065 break; 1066 case 3: 1067 strncpy(srvid->desc, trim(ptr1), sizeof(srvid->desc)-1); 1068 break; 1069 } 1070 } 1071 1072 char *srvidasc = strchr(token, ':'); 1073 *srvidasc++ = '\0'; 1074 srvid->srvid = word_atob(srvidasc); 1075 1076 srvid->ncaid = 0; 1077 for (i = 0, ptr1 = strtok(token, ","); (ptr1) && (i < 10) ; ptr1 = strtok(NULL, ","), i++){ 1078 srvid->caid[i] = word_atob(ptr1); 1079 srvid->ncaid = i+1; 1080 } 1081 nr++; 1082 } 1083 1055 1084 fclose(fp); 1056 cs_log("%d service-id's loaded", nr); 1085 if (nr>0) 1086 cs_log("%d service-id's loaded", nr); 1087 else{ 1088 cs_log("oscam.srvid loading failed, old format"); 1089 } 1057 1090 return(0); 1058 1091 }
Note:
See TracChangeset
for help on using the changeset viewer.