Ignore:
Timestamp:
Apr 29, 2007 1:55:56 PM (17 years ago)
Author:
bennylp
Message:

Related to ticket #239: Error parsing quoted parameters

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/symbian/pjsip/src/pjsip/sip_parser.c

    r789 r1225  
    134134                                     pj_pool_t *pool, 
    135135                                     pj_str_t *pname,  
    136                                      pj_str_t *pvalue); 
     136                                     pj_str_t *pvalue, 
     137                                     unsigned option); 
    137138static void         int_parse_hparam( pj_scanner *scanner, 
    138139                                      pj_pool_t *pool, 
     
    981982/* Parse parameter (";" pname ["=" pvalue]). */ 
    982983static void int_parse_param( pj_scanner *scanner, pj_pool_t *pool, 
    983                              pj_str_t *pname, pj_str_t *pvalue) 
     984                             pj_str_t *pname, pj_str_t *pvalue, 
     985                             unsigned option) 
    984986{ 
    985987    /* Get ';' character */ 
     
    988990    /* Get pname and optionally pvalue */ 
    989991    pjsip_parse_param_imp(scanner, pool, pname, pvalue,  
    990                           PJSIP_PARSE_REMOVE_QUOTE); 
     992                          option); 
    991993} 
    992994 
     
    11991201        pj_str_t pname, pvalue; 
    12001202 
    1201         int_parse_param( scanner, pool, &pname, &pvalue); 
     1203        int_parse_param( scanner, pool, &pname, &pvalue, 0); 
    12021204 
    12031205        if (!parser_stricmp(pname, pjsip_USER_STR) && pvalue.slen) { 
     
    13551357                     &hdr->values[hdr->count]); 
    13561358        hdr->count++; 
     1359 
     1360        if (hdr->count >= PJSIP_GENERIC_ARRAY_MAX_COUNT) 
     1361            break; 
    13571362    } 
    13581363    parse_hdr_end(scanner); 
     
    14191424        pj_str_t pname, pvalue; 
    14201425 
    1421         int_parse_param( scanner, pool, &pname, &pvalue); 
     1426        int_parse_param( scanner, pool, &pname, &pvalue, 0); 
    14221427        if (!parser_stricmp(pname, pjsip_Q_STR) && pvalue.slen) { 
    14231428            char *dot_pos = (char *) memchr(pvalue.ptr, '.', pvalue.slen); 
     
    15131518    while (*scanner->curptr == ';') { 
    15141519        pj_str_t pname, pvalue; 
    1515         int_parse_param(scanner, ctx->pool, &pname, &pvalue); 
     1520        int_parse_param(scanner, ctx->pool, &pname, &pvalue, 0); 
    15161521        concat_param(&hdr->media.param, ctx->pool, &pname, &pvalue); 
    15171522    } 
     
    15661571        pj_str_t pname, pvalue; 
    15671572 
    1568         int_parse_param( scanner, pool, &pname, &pvalue); 
     1573        int_parse_param( scanner, pool, &pname, &pvalue, 0); 
    15691574 
    15701575        if (!parser_stricmp(pname, pjsip_TAG_STR)) { 
     
    16511656        pj_str_t pname, pvalue; 
    16521657 
    1653         int_parse_param( scanner, pool, &pname, &pvalue); 
     1658        int_parse_param( scanner, pool, &pname, &pvalue, 0); 
    16541659 
    16551660        if (!parser_stricmp(pname, pjsip_BRANCH_STR) && pvalue.slen) { 
     
    17141719        pjsip_param *p = (pjsip_param *)  
    17151720                         pj_pool_alloc(pool, sizeof(pjsip_param)); 
    1716         int_parse_param(scanner, pool, &p->name, &p->value); 
     1721        int_parse_param(scanner, pool, &p->name, &p->value, 0); 
    17171722        pj_list_insert_before(&hdr->other_param, p); 
    17181723    } 
Note: See TracChangeset for help on using the changeset viewer.