A few cosmetic fixes and code cleanup.
authorNeil Conway
Sun, 23 May 2004 22:20:10 +0000 (22:20 +0000)
committerNeil Conway
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]);