Suppress useless memmove() when buffer already contains left-justified
authorTom Lane
Mon, 28 May 2001 15:29:51 +0000 (15:29 +0000)
committerTom Lane
Mon, 28 May 2001 15:29:51 +0000 (15:29 +0000)
data.

src/interfaces/libpq/fe-misc.c

index 17501665e693c0aa74100324b28dbfcc126e6cb1..04be4bb692e34ee1bedafeec3721cbf9d311f74e 100644 (file)
@@ -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