From 2ba48262b928c6d7b185b526965befc26944906a Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 28 May 2001 15:29:51 +0000 Subject: [PATCH] Suppress useless memmove() when buffer already contains left-justified data. --- src/interfaces/libpq/fe-misc.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/interfaces/libpq/fe-misc.c b/src/interfaces/libpq/fe-misc.c index 17501665e6..04be4bb692 100644 --- a/src/interfaces/libpq/fe-misc.c +++ b/src/interfaces/libpq/fe-misc.c @@ -25,7 +25,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-misc.c,v 1.48 2001/03/31 23:13:30 tgl Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-misc.c,v 1.49 2001/05/28 15:29:51 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -400,14 +400,20 @@ pqReadData(PGconn *conn) /* Left-justify any data in the buffer to make room */ if (conn->inStart < conn->inEnd) { - memmove(conn->inBuffer, conn->inBuffer + conn->inStart, - conn->inEnd - conn->inStart); - conn->inEnd -= conn->inStart; - conn->inCursor -= conn->inStart; - conn->inStart = 0; + if (conn->inStart > 0) + { + memmove(conn->inBuffer, conn->inBuffer + conn->inStart, + conn->inEnd - conn->inStart); + conn->inEnd -= conn->inStart; + conn->inCursor -= conn->inStart; + conn->inStart = 0; + } } else + { + /* buffer is logically empty, reset it */ conn->inStart = conn->inCursor = conn->inEnd = 0; + } /* * If the buffer is fairly full, enlarge it. We need to be able to -- 2.40.0