Ignore:
Timestamp:
Jun 6, 2006 5:04:30 PM (18 years ago)
Author:
bennylp
Message:

More information in error reporting on parsing error

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsip/sip_transport.c

    r367 r491  
    2424#include <pjsip/sip_errno.h> 
    2525#include <pjsip/sip_module.h> 
     26#include <pj/except.h> 
    2627#include <pj/os.h> 
    2728#include <pj/log.h> 
     
    879880        } 
    880881 
     882        /* Check for parsing syntax error */ 
     883        if (!pj_list_empty(&rdata->msg_info.parse_err)) { 
     884            pjsip_parser_err_report *err; 
     885            char buf[128]; 
     886            pj_str_t tmp; 
     887 
     888            /* Gather syntax error information */ 
     889            tmp.ptr = buf; tmp.slen = 0; 
     890            err = rdata->msg_info.parse_err.next; 
     891            while (err != &rdata->msg_info.parse_err) { 
     892                int len; 
     893                len = pj_ansi_snprintf(tmp.ptr+tmp.slen, sizeof(buf)-tmp.slen, 
     894                                       ": %s exception when parsing %.*s " 
     895                                       "header on line %d col %d", 
     896                                       pj_exception_id_name(err->except_code), 
     897                                       (int)err->hname.slen, err->hname.ptr, 
     898                                       err->line, err->col); 
     899                if (len > 0 && len < (int) (sizeof(buf)-tmp.slen)) { 
     900                    tmp.slen += len; 
     901                } 
     902                err = err->next; 
     903            } 
     904 
     905            PJ_LOG(1, (THIS_FILE,  
     906                      "Error processing packet from %s:%d %.*s:\n" 
     907                      "%s\n" 
     908                      "-- end of packet.", 
     909                      rdata->pkt_info.src_name,  
     910                      rdata->pkt_info.src_port, 
     911                      (int)tmp.slen, tmp.ptr, 
     912                      rdata->msg_info.msg_buf)); 
     913 
     914            goto finish_process_fragment; 
     915        } 
     916 
    881917        /* Perform basic header checking. */ 
    882918        if (rdata->msg_info.cid == NULL || 
Note: See TracChangeset for help on using the changeset viewer.