changeset 8179:63a5e03f4346

Removed hard coded value for the length of the header separator. Used the value previous detected.
author bertrand
date Wed, 13 Nov 2002 09:02:55 +0000
parents 7f4f16c26884
children 4ba9aed295f2
files libmpdemux/http.c
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/libmpdemux/http.c	Wed Nov 13 05:19:21 2002 +0000
+++ b/libmpdemux/http.c	Wed Nov 13 09:02:55 2002 +0000
@@ -72,7 +72,7 @@
 http_response_parse( HTTP_header_t *http_hdr ) {
 	char *hdr_ptr, *ptr;
 	char *field=NULL;
-	int pos_hdr_sep, len;
+	int pos_hdr_sep, hdr_sep_len, len;
 	if( http_hdr==NULL ) return -1;
 	if( http_hdr->is_parsed ) return 0;
 
@@ -123,6 +123,7 @@
 	http_hdr->reason_phrase[len]='\0';
 
 	// Set the position of the header separator: \r\n\r\n
+	hdr_sep_len = 4;
 	ptr = strstr( http_hdr->buffer, "\r\n\r\n" );
 	if( ptr==NULL ) {
 		ptr = strstr( http_hdr->buffer, "\n\n" );
@@ -130,6 +131,7 @@
 			mp_msg(MSGT_NETWORK,MSGL_ERR,"Header may be incomplete. No CRLF CRLF found.\n");
 			return -1;
 		}
+		hdr_sep_len = 2;
 	}
 	pos_hdr_sep = ptr-http_hdr->buffer;
 
@@ -153,10 +155,10 @@
 	
 	if( field!=NULL ) free( field );
 
-	if( pos_hdr_sep+4<http_hdr->buffer_size ) {
+	if( pos_hdr_sep+hdr_sep_len<http_hdr->buffer_size ) {
 		// Response has data!
-		http_hdr->body = http_hdr->buffer+pos_hdr_sep+4;
-		http_hdr->body_size = http_hdr->buffer_size-(pos_hdr_sep+4);
+		http_hdr->body = http_hdr->buffer+pos_hdr_sep+hdr_sep_len;
+		http_hdr->body_size = http_hdr->buffer_size-(pos_hdr_sep+hdr_sep_len);
 	}
 
 	http_hdr->is_parsed = 1;