From c2857035604eefeaecb65c8f7794f77e1b3594c2 Mon Sep 17 00:00:00 2001 From: Sebastian Hammer Date: Mon, 5 Feb 2007 16:35:18 +0000 Subject: [PATCH] Fixed some pointer errors --- src/http.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/http.c b/src/http.c index 291f0d9..bc40aca 100644 --- a/src/http.c +++ b/src/http.c @@ -1,5 +1,5 @@ /* - * $Id: http.c,v 1.10 2007-02-05 16:15:41 quinn Exp $ + * $Id: http.c,v 1.11 2007-02-05 16:35:18 quinn Exp $ */ #include @@ -734,8 +734,8 @@ static void proxy_io(IOCHAN pi, int event) else { htbuf->buf[res] = '\0'; + htbuf->offset = 0; htbuf->len = res; - int offset = 0; if (pc->first_response) // Check if this is a redirect { int len; @@ -752,8 +752,9 @@ static void proxy_io(IOCHAN pi, int event) struct http_buf *buf; h->value = sub_hostname(hc, h->value); buf = http_serialize_response(hc, res); + yaz_log(YLOG_LOG, "Proxy rewrite"); http_buf_enqueue(&hc->oqueue, buf); - offset = len; + htbuf->offset = len; break; } } @@ -761,15 +762,8 @@ static void proxy_io(IOCHAN pi, int event) pc->first_response = 0; } // Write any remaining payload - if (htbuf->len - offset > 0) - { - if (offset > 0) - { - memmove(htbuf->buf, htbuf->buf + offset, htbuf->len - offset); - htbuf->len -= offset; - } - http_buf_enqueue(&hc->oqueue, htbuf + offset); - } + if (htbuf->len - htbuf->offset > 0) + http_buf_enqueue(&hc->oqueue, htbuf); } iochan_setflag(hc->iochan, EVENT_OUTPUT); break; -- 1.7.10.4