There's no guaranteee that "req_resp_hdrs_do_reassembly()" gets called

only at the beginning of a tvbuff, so it needs an argument that's the
starting offset in the tvbuff.

svn path=/trunk/; revision=13128
This commit is contained in:
Guy Harris 2005-01-20 04:37:03 +00:00
parent 2b7ca484ac
commit c04a9a4180
4 changed files with 6 additions and 5 deletions

View File

@ -299,7 +299,7 @@ dissect_http_message(tvbuff_t *tvb, int offset, packet_info *pinfo,
* and do body desegmentation if we've been told to and
* we find a Content-Length header.
*/
if (!req_resp_hdrs_do_reassembly(tvb, pinfo,
if (!req_resp_hdrs_do_reassembly(tvb, offset, pinfo,
http_desegment_headers, http_desegment_body)) {
/*
* More data needed for desegmentation.

View File

@ -510,6 +510,7 @@ dissect_rtspmessage(tvbuff_t *tvb, int offset, packet_info *pinfo,
int value_offset;
int value_len;
e164_info_t e164_info;
/*
* Is this a request or response?
*
@ -520,6 +521,7 @@ dissect_rtspmessage(tvbuff_t *tvb, int offset, packet_info *pinfo,
first_linelen = tvb_find_line_end(tvb, offset,
tvb_ensure_length_remaining(tvb, offset), &next_offset,
FALSE);
/*
* Is the first line a request or response?
*/
@ -533,7 +535,7 @@ dissect_rtspmessage(tvbuff_t *tvb, int offset, packet_info *pinfo,
* and do body desegmentation if we've been told to and
* we find a Content-Length header.
*/
if (!req_resp_hdrs_do_reassembly(tvb, pinfo,
if (!req_resp_hdrs_do_reassembly(tvb, offset, pinfo,
rtsp_desegment_headers, rtsp_desegment_body)) {
/*
* More data needed for desegmentation.

View File

@ -38,10 +38,9 @@
* Optionally do reassembly of the request/response line, headers, and body.
*/
gboolean
req_resp_hdrs_do_reassembly(tvbuff_t *tvb, packet_info *pinfo,
req_resp_hdrs_do_reassembly(tvbuff_t *tvb, int offset, packet_info *pinfo,
gboolean desegment_headers, gboolean desegment_body)
{
gint offset = 0;
gint next_offset;
gint next_offset_sav;
gint length_remaining, reported_length_remaining;

View File

@ -30,7 +30,7 @@
* Optionally do reassembly of the request/response line, headers, and body.
*/
extern gboolean
req_resp_hdrs_do_reassembly(tvbuff_t *tvb, packet_info *pinfo,
req_resp_hdrs_do_reassembly(tvbuff_t *tvb, int offset, packet_info *pinfo,
gboolean desegment_headers, gboolean desegment_body);
#endif