Minor cleanup of libpq/LO examples: fix some memory leaks, update a comment
authorNeil Conway <neilc@samurai.com>
Wed, 22 Sep 2004 05:12:45 +0000 (05:12 +0000)
committerNeil Conway <neilc@samurai.com>
Wed, 22 Sep 2004 05:12:45 +0000 (05:12 +0000)
or two.

src/test/examples/testlibpq.c
src/test/examples/testlibpq4.c
src/test/examples/testlo.c

index 1f447b33c3954b7742bdb824a9add9a9c05434a7..f650118a29e8efc5d080d947018a8ba83e48d533 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * testlibpq.c
  *
- *     Test the C version of LIBPQ, the POSTGRES frontend library.
+ *     Test the C version of libpq, the PostgreSQL frontend library.
  */
 #include <stdio.h>
 #include <stdlib.h>
index 57b5f56ff51eeb57a344c6fabd5c2cc12e259e25..0eda55352ed29f8df37c6fcb22963352c5649171 100644 (file)
@@ -92,8 +92,8 @@ main(int argc, char **argv)
    }
 
    /*
-    * should PQclear PGresult whenever it is no longer needed to avoid
-    * memory leaks
+    * make sure to PQclear() a PGresult whenever it is no longer
+    * needed to avoid memory leaks
     */
    PQclear(res1);
 
@@ -106,7 +106,7 @@ main(int argc, char **argv)
    {
        fprintf(stderr, "DECLARE CURSOR command failed\n");
        PQclear(res1);
-       exit_nicely(conn1, NULL);
+       exit_nicely(conn1, conn2);
    }
    PQclear(res1);
 
@@ -115,7 +115,7 @@ main(int argc, char **argv)
    {
        fprintf(stderr, "FETCH ALL command didn't return tuples properly\n");
        PQclear(res1);
-       exit_nicely(conn1, NULL);
+       exit_nicely(conn1, conn2);
    }
 
    /* first, print out the attribute names */
@@ -142,10 +142,10 @@ main(int argc, char **argv)
    res1 = PQexec(conn1, "END");
    PQclear(res1);
 
-   /* close the connection to the database and cleanup */
+   /* close the connections to the database and cleanup */
    PQfinish(conn1);
+   PQfinish(conn2);
 
 /*  fclose(debug); */
-   return 0;                   /* Though PQfinish(conn1) has called
-                                * exit(1) */
+   return 0;
 }
index 2d5db3a5c2c49095024d1a2ce42adc208fb06e0e..988b51171a905ab1c955a3e69cc48c3d0460cfdb 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/test/examples/testlo.c,v 1.22 2004/08/29 04:13:12 momjian Exp $
+ *   $PostgreSQL: pgsql/src/test/examples/testlo.c,v 1.23 2004/09/22 05:12:45 neilc Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -99,6 +99,7 @@ pickout(PGconn *conn, Oid lobjId, int start, int len)
        if (nbytes <= 0)
            break;              /* no more data? */
    }
+   free(buf);
    fprintf(stderr, "\n");
    lo_close(conn, lobj_fd);
 }
@@ -134,6 +135,7 @@ overwrite(PGconn *conn, Oid lobjId, int start, int len)
            break;
        }
    }
+   free(buf);
    fprintf(stderr, "\n");
    lo_close(conn, lobj_fd);
 }