]> granicus.if.org Git - postgresql/commitdiff
A few cosmetic fixes and code cleanup.
authorNeil Conway <neilc@samurai.com>
Sun, 23 May 2004 22:20:10 +0000 (22:20 +0000)
committerNeil Conway <neilc@samurai.com>
Sun, 23 May 2004 22:20:10 +0000 (22:20 +0000)
src/bin/psql/common.c
src/bin/psql/print.c

index 445064b0c40eac0aa4ae9625b51a69a7035a7bc9..681c88cc4e7ed652db20ffa9dddd4e0643186197 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2003, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/common.c,v 1.86 2004/05/07 00:24:58 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/common.c,v 1.87 2004/05/23 22:20:10 neilc Exp $
  */
 #include "postgres_fe.h"
 #include "common.h"
@@ -802,7 +802,8 @@ PrintQueryResults(PGresult *results)
                                char            buf[10];
 
                                success = true;
-                               sprintf(buf, "%u", (unsigned int) PQoidValue(results));
+                               snprintf(buf, sizeof(buf),
+                                                "%u", (unsigned int) PQoidValue(results));
                                if (!QUIET())
                                {
                                        if (pset.popt.topt.format == PRINT_HTML)
index 229b4e0024eef2e63f3308c1564671e504dd019e..72d6a6e288b6245744685cb44daf7b120c15063b 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2003, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/print.c,v 1.47 2004/05/18 20:18:58 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/print.c,v 1.48 2004/05/23 22:20:10 neilc Exp $
  */
 #include "postgres_fe.h"
 #include "common.h"
@@ -1133,15 +1133,14 @@ void
 printQuery(const PGresult *result, const printQueryOpt *opt, FILE *fout)
 {
        int                     nfields;
+       int                     ncells;
        const char **headers;
        const char **cells;
        char      **footers;
        char       *align;
        int                     i;
 
-
        /* extract headers */
-
        nfields = PQnfields(result);
 
        headers = calloc(nfields + 1, sizeof(*headers));
@@ -1155,15 +1154,15 @@ printQuery(const PGresult *result, const printQueryOpt *opt, FILE *fout)
                headers[i] = mbvalidate(PQfname(result, i), opt->topt.encoding);
 
        /* set cells */
-
-       cells = calloc(nfields * PQntuples(result) + 1, sizeof(*cells));
+       ncells = PQntuples(result) * nfields;
+       cells = calloc(ncells + 1, sizeof(*cells));
        if (!cells)
        {
                perror("calloc");
                exit(EXIT_FAILURE);
        }
 
-       for (i = 0; i < nfields * PQntuples(result); i++)
+       for (i = 0; i < ncells; i++)
        {
                if (PQgetisnull(result, i / nfields, i % nfields))
                        cells[i] = opt->nullPrint ? opt->nullPrint : "";
@@ -1185,6 +1184,11 @@ printQuery(const PGresult *result, const printQueryOpt *opt, FILE *fout)
                }
 
                footers[0] = malloc(100);
+               if (!footers[0])
+               {
+                       perror("malloc");
+                       exit(EXIT_FAILURE);
+               }
                if (PQntuples(result) == 1)
                        snprintf(footers[0], 100, gettext("(1 row)"));
                else
@@ -1194,7 +1198,6 @@ printQuery(const PGresult *result, const printQueryOpt *opt, FILE *fout)
                footers = NULL;
 
        /* set alignment */
-
        align = calloc(nfields + 1, sizeof(*align));
        if (!align)
        {
@@ -1221,13 +1224,12 @@ printQuery(const PGresult *result, const printQueryOpt *opt, FILE *fout)
        }
 
        /* call table printer */
-
        printTable(opt->title, headers, cells,
-                          footers ? (const char *const *) footers : (const char *const *) (opt->footers),
+                          (const char *const *) footers,
                           align, &opt->topt, fout);
 
-       free((void *) headers);
-       free((void *) cells);
+       free(headers);
+       free(cells);
        if (footers)
        {
                free(footers[0]);