Ignore:
Timestamp:
Jan 16, 2014 5:30:46 AM (10 years ago)
Author:
ming
Message:

Closed #1723: Merging pjsua2 branch into trunk

Location:
pjproject/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk

  • pjproject/trunk/pjlib/src/pj/string.c

    r4537 r4704  
    176176} 
    177177 
     178PJ_DEF(float) pj_strtof(const pj_str_t *str) 
     179{ 
     180    pj_str_t part; 
     181    char *pdot; 
     182    float val; 
     183 
     184    if (str->slen == 0) 
     185        return 0; 
     186 
     187    pdot = (char*)pj_memchr(str->ptr, '.', str->slen); 
     188    part.ptr = str->ptr; 
     189    part.slen = pdot ? pdot - str->ptr : str->slen; 
     190 
     191    if (part.slen) 
     192        val = (float)pj_strtol(&part); 
     193    else 
     194        val = 0; 
     195 
     196    if (pdot) { 
     197        part.ptr = pdot + 1; 
     198        part.slen = (str->ptr + str->slen - pdot - 1); 
     199        if (part.slen) { 
     200            pj_str_t endptr; 
     201            float fpart, fdiv; 
     202            int i; 
     203            fpart = (float)pj_strtoul2(&part, &endptr, 10); 
     204            fdiv = 1.0; 
     205            for (i=0; i<(part.slen - endptr.slen); ++i) 
     206                    fdiv = fdiv * 10; 
     207            if (val >= 0) 
     208                val += (fpart / fdiv); 
     209            else 
     210                val -= (fpart / fdiv); 
     211        } 
     212    } 
     213    return val; 
     214} 
     215 
    178216PJ_DEF(int) pj_utoa(unsigned long val, char *buf) 
    179217{ 
Note: See TracChangeset for help on using the changeset viewer.