Changeset 1229


Ignore:
Timestamp:
Apr 29, 2007 6:13:20 PM (17 years ago)
Author:
bennylp
Message:

Continuing ticket #239: Error parsing quoted URI parameters

Location:
pjproject/branches/pjproject-0.5-stable/pjsip/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/pjproject-0.5-stable/pjsip/src/pjsip/sip_parser.c

    r1222 r1229  
    144144                                         pj_pool_t *pool, 
    145145                                         pj_str_t *pname,  
    146                                          pj_str_t *pvalue); 
     146                                         pj_str_t *pvalue, 
     147                                         unsigned option); 
    147148static void         int_parse_hparam( pj_scanner *scanner, 
    148149                                      pj_pool_t *pool, 
     
    11311132/* Parse parameter (";" pname ["=" pvalue]) in URI. */ 
    11321133static void int_parse_uri_param( pj_scanner *scanner, pj_pool_t *pool, 
    1133                                  pj_str_t *pname, pj_str_t *pvalue) 
     1134                                 pj_str_t *pname, pj_str_t *pvalue, 
     1135                                 unsigned option) 
    11341136{ 
    11351137    /* Get ';' character */ 
     
    11381140    /* Get pname and optionally pvalue */ 
    11391141    pjsip_parse_uri_param_imp(scanner, pool, pname, pvalue,  
    1140                               PJSIP_PARSE_REMOVE_QUOTE); 
     1142                              option); 
    11411143} 
    11421144 
     
    13571359        pj_str_t pname, pvalue; 
    13581360 
    1359         int_parse_uri_param( scanner, pool, &pname, &pvalue); 
     1361        int_parse_uri_param( scanner, pool, &pname, &pvalue, 0); 
    13601362 
    13611363        if (!parser_stricmp(pname, pjsip_USER_STR) && pvalue.slen) { 
  • pjproject/branches/pjproject-0.5-stable/pjsip/src/test-pjsip/msg_test.c

    r1222 r1229  
    803803#define PARAM_CHAR           "[]/:&+$" 
    804804#define SIMPLE_ADDR_SPEC     "sip:host" 
    805 #define ADDR_SPEC            SIMPLE_ADDR_SPEC ";" PARAM_CHAR "=" PARAM_CHAR 
     805#define ADDR_SPEC            SIMPLE_ADDR_SPEC ";"PARAM_CHAR"="PARAM_CHAR ";p1=\";\"" 
    806806#define NAME_ADDR            "<" ADDR_SPEC ">" 
    807807 
     
    11141114#define PARAM_CHAR          "[]/:&+$" 
    11151115#define SIMPLE_ADDR_SPEC    "sip:host" 
    1116 #define ADDR_SPEC           SIMPLE_ADDR_SPEC ";" PARAM_CHAR "=" PARAM_CHAR 
     1116#define ADDR_SPEC            SIMPLE_ADDR_SPEC ";"PARAM_CHAR"="PARAM_CHAR ";p1=\";\"" 
    11171117#define NAME_ADDR           "<" ADDR_SPEC ">" 
    11181118 */ 
     
    11301130        return rc; 
    11311131 
    1132     if (pj_list_size(&sip_uri->other_param) != 1) 
     1132    if (pj_list_size(&sip_uri->other_param) != 2) 
    11331133        return -940; 
    11341134 
     
    11391139 
    11401140    if (pj_strcmp2(&param->value, PARAM_CHAR)) 
     1141        return -943; 
     1142 
     1143    param = param->next; 
     1144    if (pj_strcmp2(&param->name, "p1")) 
     1145        return -942; 
     1146    if (pj_strcmp2(&param->value, "\";\"")) 
    11411147        return -943; 
    11421148 
Note: See TracChangeset for help on using the changeset viewer.