Changeset 74 for pjproject/trunk/pjsip/src/pjsip/sip_parser.c
- Timestamp:
- Nov 21, 2005 5:07:18 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjsip/src/pjsip/sip_parser.c
r65 r74 184 184 185 185 /* Case insensitive comparison */ 186 #define parser_stricmp(s tr1, str2) pj_stricmp(&str1, &str2)186 #define parser_stricmp(s1, s2) (pj_stricmp_alnum(&s1, &s2)) 187 187 188 188 … … 552 552 msg = int_parse_msg(&context, err_list); 553 553 } 554 PJ_ DEFAULT{554 PJ_CATCH_ANY { 555 555 msg = NULL; 556 556 } … … 581 581 rdata->msg_info.msg = int_parse_msg(&context, &rdata->msg_info.parse_err); 582 582 } 583 PJ_ DEFAULT{583 PJ_CATCH_ANY { 584 584 rdata->msg_info.msg = NULL; 585 585 } … … 657 657 /* Found a valid Content-Length header. */ 658 658 content_length = pj_strtoul(&str_clen); 659 } 659 } 660 PJ_CATCH_ANY { 661 content_length = -1; 662 } 660 663 PJ_END 661 664 … … 692 695 unsigned option) 693 696 { 694 PJ_USE_EXCEPTION;695 697 pj_scanner scanner; 696 698 pjsip_uri *uri = NULL; 699 PJ_USE_EXCEPTION; 697 700 698 701 init_sip_parser(); … … 703 706 PJ_TRY { 704 707 uri = int_parse_uri_or_name_addr(&scanner, pool, option); 708 } 709 PJ_CATCH_ANY { 710 uri = NULL; 705 711 } 706 712 PJ_END; … … 739 745 pjsip_parser_err_report *err_list) 740 746 { 741 PJ_USE_EXCEPTION;742 747 int ch; 743 748 pjsip_msg *msg; … … 745 750 pj_scanner *scanner = ctx->scanner; 746 751 pj_pool_t *pool = ctx->pool; 752 PJ_USE_EXCEPTION; 747 753 748 754 /* Skip leading newlines. */ … … 801 807 802 808 } 803 PJ_ DEFAULT{809 PJ_CATCH_ANY { 804 810 /* Exception was thrown during parsing. 805 811 * Skip until newline, and parse next header. … … 816 822 817 823 err_info = pj_pool_alloc(pool, sizeof(*err_info)); 818 err_info->except ion_code = PJ_GET_EXCEPTION();824 err_info->except_code = PJ_GET_EXCEPTION(); 819 825 err_info->line = scanner->line; 820 826 err_info->col = scanner->col; … … 1080 1086 { 1081 1087 pj_str_t scheme; 1082 pjsip_url *url ;1088 pjsip_url *url = NULL; 1083 1089 int colon; 1084 1090 int skip_ws = scanner->skip_ws; 1085 int hsep = '?';1086 1091 scanner->skip_ws = 0; 1087 1092 … … 1115 1120 1116 1121 /* Get URL parameters. */ 1117 while ( parse_params && *scanner->curptr == ';' ) { 1122 if (parse_params) { 1123 while (*scanner->curptr == ';' ) { 1118 1124 pj_str_t pname, pvalue; 1119 1125 … … 1144 1150 pj_list_insert_before(&url->other_param, p); 1145 1151 } 1152 } 1146 1153 } 1147 1154 1148 1155 /* Get header params. */ 1149 while (parse_params && *scanner->curptr == hsep) { 1156 if (parse_params && *scanner->curptr == '?') { 1157 do { 1150 1158 pjsip_param *param; 1151 1159 param = pj_pool_alloc(pool, sizeof(pjsip_param)); 1152 1160 int_parse_hparam(scanner, pool, ¶m->name, ¶m->value); 1153 1161 pj_list_insert_before(&url->header_param, param); 1154 hsep = '&';1162 } while (*scanner->curptr == '&'); 1155 1163 } 1156 1164 … … 1775 1783 1776 1784 } 1777 PJ_ DEFAULT{1785 PJ_CATCH_ANY { 1778 1786 hdr = NULL; 1779 1787 }
Note: See TracChangeset
for help on using the changeset viewer.