From 6335c574809a3fa7e8fee936c141c340f273fb31 Mon Sep 17 00:00:00 2001 From: "Mirar (Pontus Hagland)" <pike@sort.mirar.org> Date: Tue, 17 Aug 1999 13:43:03 +0200 Subject: [PATCH] bugfix; IIS (couldn'tve guessed that one, right) sends \n\n instead of \r\n\r\n to separate the headers from the data... Rev: lib/modules/Protocols.pmod/HTTP.pmod/Query.pike:1.7 --- lib/modules/Protocols.pmod/HTTP.pmod/Query.pike | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike b/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike index 830bdadfe6..0834ee7a91 100644 --- a/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike +++ b/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike @@ -139,13 +139,16 @@ static void ponder_answer() // read until we have all headers int i=0; + int j=0; for (;;) { string s; if (i<0) i=0; - if ((i=search(buf,"\r\n\r\n",i))!=-1) break; + j=search(buf,"\r\n\r\n",i); if (j==-1) j=10000000; + i=search(buf,"\n\n",i); if (i==-1) i=10000000; + if ((j=min(i,j))!=10000000) break; s=con->read(8192,1); if (s=="") { i=strlen(buf); break; } @@ -155,7 +158,9 @@ static void ponder_answer() } headerbuf=buf[..i-1]; - datapos=i+4; + + if (buf[i..i+1]=="\n\n") datapos=i+2; + else datapos=i+4; // split headers -- GitLab