Ignore:
Timestamp:
Nov 20, 2005 7:55:42 PM (17 years ago)
Author:
bennylp
Message:

Added hex character conversion utility in ctype

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjlib/include/pj/string_i.h

    r51 r62  
    2222    pj_str_t dst; 
    2323    dst.ptr = str; 
    24     dst.slen = str ? strlen(str) : 0; 
     24    dst.slen = str ? pj_native_strlen(str) : 0; 
    2525    return dst; 
    2626} 
     
    5757                              const char *src) 
    5858{ 
    59     dst->slen = src ? strlen(src) : 0; 
     59    dst->slen = src ? pj_native_strlen(src) : 0; 
    6060    if (dst->slen) { 
    6161        dst->ptr = (char*)pj_pool_alloc(pool, dst->slen); 
     
    9292PJ_IDEF(pj_str_t*) pj_strcpy2(pj_str_t *dst, const char *src) 
    9393{ 
    94     dst->slen = src ? strlen(src) : 0; 
     94    dst->slen = src ? pj_native_strlen(src) : 0; 
    9595    if (dst->slen > 0) 
    9696        pj_memcpy(dst->ptr, src, dst->slen); 
    9797    return dst; 
    9898} 
     99 
     100PJ_IDEF(pj_str_t*) pj_strncpy( pj_str_t *dst, const pj_str_t *src,  
     101                               pj_ssize_t max) 
     102{ 
     103    if (max > src->slen) max = src->slen; 
     104    pj_memcpy(dst->ptr, src->ptr, max); 
     105    dst->slen = max; 
     106    return dst; 
     107} 
     108 
     109PJ_IDEF(pj_str_t*) pj_strncpy_with_null( pj_str_t *dst, const pj_str_t *src, 
     110                                         pj_ssize_t max) 
     111{ 
     112    if (max <= src->slen) 
     113        max = max-1; 
     114    else 
     115        max = src->slen; 
     116 
     117    pj_memcpy(dst->ptr, src->ptr, max); 
     118    dst->ptr[max] = '\0'; 
     119    dst->slen = max; 
     120    return dst; 
     121} 
     122 
    99123 
    100124PJ_IDEF(int) pj_strcmp( const pj_str_t *str1, const pj_str_t *str2) 
     
    105129    if (diff) { 
    106130        return (int)diff; 
    107     } else if (str1->ptr) { 
    108         return strncmp(str1->ptr, str2->ptr, str1->slen); 
     131    } else if (str1->ptr && str1->slen) { 
     132        return pj_native_strncmp(str1->ptr, str2->ptr, str1->slen); 
    109133    } else { 
    110134        return 0; 
     
    115139                         pj_size_t len) 
    116140{ 
    117     return (str1->ptr && str2->ptr) ? strncmp(str1->ptr, str2->ptr, len) : 
    118            (str1->ptr == str2->ptr ? 0 : 1); 
     141    return (str1->ptr && str2->ptr) ?  
     142            pj_native_strncmp(str1->ptr, str2->ptr, len) : 
     143            (str1->ptr == str2->ptr ? 0 : 1); 
    119144} 
    120145 
     
    122147                          pj_size_t len) 
    123148{ 
    124     return (str1->ptr && str2) ? strncmp(str1->ptr, str2, len) : 
     149    return (str1->ptr && str2) ? pj_native_strncmp(str1->ptr, str2, len) : 
    125150           (str1->ptr==str2 ? 0 : 1); 
    126151} 
     
    139164        return (int)diff; 
    140165    } else { 
    141         return strnicmp(str1->ptr, str2->ptr, str1->slen); 
     166        return pj_native_strnicmp(str1->ptr, str2->ptr, str1->slen); 
    142167    } 
    143168} 
     
    145170PJ_IDEF(int) pj_stricmp2( const pj_str_t *str1, const char *str2) 
    146171{ 
    147     return (str1->ptr && str2) ? strnicmp(str1->ptr, str2, str1->slen) : 
    148            (str1->ptr==str2 ? 0 : 1); 
     172    return (str1->ptr && str2) ?  
     173            pj_native_strnicmp(str1->ptr, str2, str1->slen) : 
     174            (str1->ptr==str2 ? 0 : 1); 
    149175} 
    150176 
     
    152178                          pj_size_t len) 
    153179{ 
    154     return (str1->ptr && str2->ptr) ? strnicmp(str1->ptr, str2->ptr, len) : 
    155            (str1->ptr == str2->ptr ? 0 : 1); 
     180    return (str1->ptr && str2->ptr) ?  
     181            pj_native_strnicmp(str1->ptr, str2->ptr, len) : 
     182            (str1->ptr == str2->ptr ? 0 : 1); 
    156183} 
    157184 
     
    159186                           pj_size_t len) 
    160187{ 
    161     return (str1->ptr && str2) ? strnicmp(str1->ptr, str2, len) : 
    162            (str1->ptr == str2 ? 0 : 1); 
     188    return (str1->ptr && str2) ?  
     189            pj_native_strnicmp(str1->ptr, str2, len) : 
     190            (str1->ptr == str2 ? 0 : 1); 
    163191} 
    164192 
Note: See TracChangeset for help on using the changeset viewer.