aboutsummaryrefslogtreecommitdiff
path: root/lib/transfer.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2007-04-24 10:18:06 +0000
committerDaniel Stenberg <daniel@haxx.se>2007-04-24 10:18:06 +0000
commitbc1ae973daafb5881b65e179d2f5ce891acf22bd (patch)
treefc844343a2ad8f4660d3cd6e53ce7da5946fa117 /lib/transfer.c
parent6a35841b2edcbd865e914ec33ea0568199a26a8a (diff)
Robert Iakobashvili made the 'master_buffer' get allocated first once it is
can/will be used as it then makes the common cases save 16KB of data for each easy handle that isn't used for pipelining.
Diffstat (limited to 'lib/transfer.c')
-rw-r--r--lib/transfer.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/transfer.c b/lib/transfer.c
index 52b4c8966..d007e8814 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -289,8 +289,13 @@ static void read_rewind(struct connectdata *conn,
size_t show;
show = MIN(conn->buf_len - conn->read_pos, sizeof(buf)-1);
- memcpy(buf, conn->master_buffer + conn->read_pos, show);
- buf[show] = '\0';
+ if (conn->master_buffer) {
+ memcpy(buf, conn->master_buffer + conn->read_pos, show);
+ buf[show] = '\0';
+ }
+ else {
+ buf[0] = '\0';
+ }
DEBUGF(infof(conn->data,
"Buffer after stream rewind (read_pos = %d): [%s]",