Ignore:
Timestamp:
Jan 11, 2017 4:38:29 AM (8 years ago)
Author:
riza
Message:

Re 1989: Implement pj_strtok()/pj_strtok() as a replacement to strtok().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjlib/src/pj/os_info.c

    r4610 r5520  
    9999 
    100100static pj_uint32_t parse_version(char *str) 
    101 { 
    102     char *tok; 
    103     int i, maxtok; 
     101{     
     102    int i, maxtok, found_idx; 
    104103    pj_uint32_t version = 0; 
     104    pj_str_t in_str = pj_str(str); 
     105    pj_str_t token, delim; 
    105106     
    106107    while (*str && !pj_isdigit(*str)) 
     
    108109 
    109110    maxtok = 4; 
    110     for (tok = strtok(str, ".-"), i=0; tok && i<maxtok; 
    111          ++i, tok=strtok(NULL, ".-")) 
     111    delim = pj_str(".-"); 
     112    for (found_idx = pj_strtok(&in_str, &delim, &token, 0), i=0;  
     113         found_idx != in_str.slen && i < maxtok; 
     114         ++i, found_idx = pj_strtok(&in_str, &delim, &token,  
     115                                    found_idx + token.slen)) 
    112116    { 
    113117        int n; 
    114118 
    115         if (!pj_isdigit(*tok)) 
     119        if (!pj_isdigit(*token.ptr)) 
    116120            break; 
    117121         
    118         n = atoi(tok); 
     122        n = atoi(token.ptr); 
    119123        version |= (n << ((3-i)*8)); 
    120124    } 
Note: See TracChangeset for help on using the changeset viewer.