Changeset 1172


Ignore:
Timestamp:
01/10/10 21:06:47 (12 years ago)
Author:
alno
Message:

WebIf:

  • moved restore of group token in it's own function mk_t_group
  • todo: fix compilerwarning in 1155
Location:
branches/monitor-improvement
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/monitor-improvement/globals.h

    r1169 r1172  
    777777extern void chk_cltab(char *classasc, CLASSTAB *clstab);
    778778extern void chk_iprange(char *value, struct s_ip **base);
    779 void chk_port_tab(char *portasc, PTAB *ptab);
     779extern void chk_port_tab(char *portasc, PTAB *ptab);
    780780#ifdef CS_ANTICASC
    781 void chk_t_ac(char *token, char *value);
    782 #endif
    783 void chk_t_camd33(char *token, char *value);
    784 void chk_t_camd35(char *token, char *value);
    785 void chk_t_camd35_tcp(char *token, char *value);
    786 void chk_t_newcamd(char *token, char *value);
    787 void chk_t_radegast(char *token, char *value);
    788 void chk_t_serial(char *token, char *value);
    789 void chk_t_gbox(char *token, char *value);
    790 void chk_t_cccam(char *token, char *value);
    791 void chk_t_global(char *token, char *value);
    792 void chk_t_monitor(char *token, char *value);
    793 void chk_t_dvbapi(char *token, char *value);
    794 void chk_account(char *token, char *value, struct s_auth *account);
    795 void chk_sidtab(char *token, char *value, struct s_sidtab *sidtab);
    796 int write_services();
    797 int write_userdb();
    798 int write_config();
    799 char *mk_t_caidtab(CAIDTAB *ctab);
    800 char *mk_t_tuntab(TUNTAB *ttab);
     781extern void chk_t_ac(char *token, char *value);
     782#endif
     783extern void chk_t_camd33(char *token, char *value);
     784extern void chk_t_camd35(char *token, char *value);
     785extern void chk_t_camd35_tcp(char *token, char *value);
     786extern void chk_t_newcamd(char *token, char *value);
     787extern void chk_t_radegast(char *token, char *value);
     788extern void chk_t_serial(char *token, char *value);
     789extern void chk_t_gbox(char *token, char *value);
     790extern void chk_t_cccam(char *token, char *value);
     791extern void chk_t_global(char *token, char *value);
     792extern void chk_t_monitor(char *token, char *value);
     793extern void chk_t_dvbapi(char *token, char *value);
     794extern void chk_account(char *token, char *value, struct s_auth *account);
     795extern void chk_sidtab(char *token, char *value, struct s_sidtab *sidtab);
     796extern int write_services();
     797extern int write_userdb();
     798extern int write_config();
     799extern char *mk_t_caidtab(CAIDTAB *ctab);
     800extern char *mk_t_tuntab(TUNTAB *ttab);
     801extern char *mk_t_group(ulong *grp);
    801802
    802803// oscam-reader
  • branches/monitor-improvement/oscam-config.c

    r1169 r1172  
    11511151        else
    11521152            fprintf_conf(f, CONFVARWIDTH, "expdate", "\n");
    1153         fprintf_conf(f, CONFVARWIDTH, "group", "");
    1154         char grpbit[33];
    1155         long2bitchar(account->grp, grpbit);
    1156         dot = "";
    1157         for(i = 0; i < 32; i++){
    1158             if (grpbit[i] == '1'){
    1159                     fprintf(f, "%s%d", dot, i+1);
    1160                     dot = ",";
    1161                 }
    1162         }
    1163         fputc((int)'\n', f);
     1153
     1154        //group
     1155        char *value = mk_t_group(account->grp);
     1156        fprintf_conf(f, CONFVARWIDTH, "group", "%s\n", value);
     1157        free(value);
     1158
    11641159        fprintf_conf(f, CONFVARWIDTH, "hostname", "%s\n", account->dyndns);
    11651160        fprintf_conf(f, CONFVARWIDTH, "uniq", "%d\n", account->uniq);
     
    11851180
    11861181        //CAID
    1187         char *value = mk_t_caidtab(&account->ctab);
     1182        value = mk_t_caidtab(&account->ctab);
    11881183        fprintf_conf(f, CONFVARWIDTH, "caid", "%s\n", value);
    11891184        free(value);
     
    19801975    return value;
    19811976}
     1977
     1978char *mk_t_group(ulong *grp){
     1979    int i = 0, needed = 1, pos = 0;
     1980    char grpbit[33];
     1981    long2bitchar((long) grp, grpbit);
     1982
     1983    for(i = 0; i < 32; i++){
     1984        if (grpbit[i] == '1'){
     1985            needed += 2;
     1986            if(i > 9) needed += 1;
     1987        }
     1988    }
     1989    char *value = (char *) malloc(needed * sizeof(char));
     1990
     1991    for(i = 0; i < 32; i++){
     1992        if (grpbit[i] == '1'){
     1993            if (i == 0){
     1994                sprintf(value + pos, "%d", i+1);
     1995                if (i > 9)pos += 2;
     1996                else pos += 1;
     1997            } else {
     1998                sprintf(value + pos, ",%d", i+1);
     1999                if (i > 9)pos += 3;
     2000                else pos += 2;
     2001            }
     2002        }
     2003    }
     2004    value[pos] = '\0';
     2005    return value;
     2006}
Note: See TracChangeset for help on using the changeset viewer.