Changeset 12425

Show
Ignore:
Timestamp:
07/01/2009 01:36:56 AM (4 months ago)
Author:
BrainSlayer
Message:

for longer values

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/router/services/bin/defaults.c

    r12396 r12425  
    1717    putc(strlen(srouter_defaults[i].name),out); 
    1818    fwrite(srouter_defaults[i].name,strlen(srouter_defaults[i].name),1,out); 
    19     putc(strlen(srouter_defaults[i].value),out); 
     19    len =  strlen(srouter_defaults[i].value); 
     20    if (len>127) 
     21        { 
     22        len|=128; 
     23        putc(len,out); 
     24        putc(strlen(srouter_defaults[i].value)>>7,out); 
     25        }else 
     26        { 
     27        putc(len,out);   
     28        } 
    2029    fwrite(srouter_defaults[i].value,strlen(srouter_defaults[i].value),1,out); 
    2130        }else{ 
  • src/router/services/sysinit/defaults.c

    r12397 r12425  
    26352635                                         defaultnum); 
    26362636        for (i = 0; i < defaultnum; i++) { 
    2637                 int vl = getc(in); 
     2637                unsigned int vl = (unsigned int)getc(in); 
    26382638                if (vl) { 
    26392639                        srouter_defaults[i].name = malloc(vl + 1); 
    26402640                        fread(srouter_defaults[i].name, vl, 1, in); 
    26412641                        srouter_defaults[i].name[vl] = 0; 
    2642                         vl = getc(in); 
     2642                        vl = (unsigned int)getc(in); 
     2643                        if (vl&128) 
     2644                            { 
     2645                            vl&=127; 
     2646                            vl|= (unsigned int)getc(in)<<7; 
     2647                            } 
    26432648                        srouter_defaults[i].value = malloc(vl + 1); 
    26442649                        fread(srouter_defaults[i].value, vl, 1, in);