Standardize naming of malloc/realloc/strdup wrapper functions.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 2 Oct 2012 19:35:10 +0000 (15:35 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 2 Oct 2012 19:35:48 +0000 (15:35 -0400)
We had a number of variants on the theme of "malloc or die", with the
majority named like "pg_malloc", but by no means all.  Standardize on the
names pg_malloc, pg_malloc0, pg_realloc, pg_strdup.  Get rid of pg_calloc
entirely in favor of using pg_malloc0.

This is an essentially cosmetic change, so no back-patch.  (I did find
a couple of places where psql and pg_dump were using plain malloc or
strdup instead of the pg_ versions, but they don't look significant
enough to bother back-patching.)

28 files changed:
contrib/oid2name/oid2name.c
contrib/pgbench/pgbench.c
src/bin/initdb/initdb.c
src/bin/pg_basebackup/pg_basebackup.c
src/bin/pg_basebackup/pg_receivexlog.c
src/bin/pg_basebackup/receivelog.c
src/bin/pg_basebackup/streamutil.c
src/bin/pg_basebackup/streamutil.h
src/bin/pg_ctl/pg_ctl.c
src/bin/pg_dump/compress_io.c
src/bin/pg_dump/dumpmem.c
src/bin/pg_dump/dumpmem.h
src/bin/pg_dump/pg_backup_archiver.c
src/bin/pg_dump/pg_backup_custom.c
src/bin/pg_dump/pg_backup_directory.c
src/bin/pg_dump/pg_backup_tar.c
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_dump_sort.c
src/bin/psql/command.c
src/bin/psql/common.c
src/bin/psql/common.h
src/bin/psql/copy.c
src/bin/psql/describe.c
src/bin/psql/print.c
src/bin/psql/psqlscan.l
src/bin/psql/startup.c
src/bin/scripts/common.c
src/bin/scripts/common.h

index 754eac5f8a26fedd4b4d5e76416ef7546dc048f9..17d4d80fc9089fbafe5902a140b1214246f7bd13 100644 (file)
@@ -50,8 +50,8 @@ struct options
 /* function prototypes */
 static void help(const char *progname);
 void           get_opts(int, char **, struct options *);
-void      *myalloc(size_t size);
-char      *mystrdup(const char *str);
+void      *pg_malloc(size_t size);
+char      *pg_strdup(const char *str);
 void           add_one_elt(char *eltname, eary *eary);
 char      *get_comma_elts(eary *eary);
 PGconn    *sql_conn(struct options *);
@@ -104,7 +104,7 @@ get_opts(int argc, char **argv, struct options * my_opts)
                {
                                /* specify the database */
                        case 'd':
-                               my_opts->dbname = mystrdup(optarg);
+                               my_opts->dbname = pg_strdup(optarg);
                                break;
 
                                /* specify one tablename to show */
@@ -129,17 +129,17 @@ get_opts(int argc, char **argv, struct options * my_opts)
 
                                /* host to connect to */
                        case 'H':
-                               my_opts->hostname = mystrdup(optarg);
+                               my_opts->hostname = pg_strdup(optarg);
                                break;
 
                                /* port to connect to on remote host */
                        case 'p':
-                               my_opts->port = mystrdup(optarg);
+                               my_opts->port = pg_strdup(optarg);
                                break;
 
                                /* username */
                        case 'U':
-                               my_opts->username = mystrdup(optarg);
+                               my_opts->username = pg_strdup(optarg);
                                break;
 
                                /* display system tables */
@@ -201,7 +201,7 @@ help(const char *progname)
 }
 
 void *
-myalloc(size_t size)
+pg_malloc(size_t size)
 {
        void       *ptr = malloc(size);
 
@@ -214,7 +214,7 @@ myalloc(size_t size)
 }
 
 char *
-mystrdup(const char *str)
+pg_strdup(const char *str)
 {
        char       *result = strdup(str);
 
@@ -237,7 +237,7 @@ add_one_elt(char *eltname, eary *eary)
        if (eary->alloc == 0)
        {
                eary      ->alloc = 8;
-               eary      ->array = (char **) myalloc(8 * sizeof(char *));
+               eary      ->array = (char **) pg_malloc(8 * sizeof(char *));
        }
        else if (eary->num >= eary->alloc)
        {
@@ -252,7 +252,7 @@ add_one_elt(char *eltname, eary *eary)
                }
        }
 
-       eary      ->array[eary->num] = mystrdup(eltname);
+       eary      ->array[eary->num] = pg_strdup(eltname);
        eary      ->num++;
 }
 
@@ -272,7 +272,7 @@ get_comma_elts(eary *eary)
                                length = 0;
 
        if (eary->num == 0)
-               return mystrdup("");
+               return pg_strdup("");
 
        /*
         * PQescapeString wants 2 * length + 1 bytes of breath space.  Add two
@@ -281,7 +281,7 @@ get_comma_elts(eary *eary)
        for (i = 0; i < eary->num; i++)
                length += strlen(eary->array[i]);
 
-       ret = (char *) myalloc(length * 2 + 4 * eary->num);
+       ret = (char *) pg_malloc(length * 2 + 4 * eary->num);
        ptr = ret;
 
        for (i = 0; i < eary->num; i++)
@@ -401,7 +401,7 @@ sql_exec(PGconn *conn, const char *todo, bool quiet)
        nfields = PQnfields(res);
 
        /* for each field, get the needed width */
-       length = (int *) myalloc(sizeof(int) * nfields);
+       length = (int *) pg_malloc(sizeof(int) * nfields);
        for (j = 0; j < nfields; j++)
                length[j] = strlen(PQfname(res, j));
 
@@ -424,7 +424,7 @@ sql_exec(PGconn *conn, const char *todo, bool quiet)
                        l += length[j] + 2;
                }
                fprintf(stdout, "\n");
-               pad = (char *) myalloc(l + 1);
+               pad = (char *) pg_malloc(l + 1);
                MemSet(pad, '-', l);
                pad[l] = '\0';
                fprintf(stdout, "%s\n", pad);
@@ -515,8 +515,8 @@ sql_exec_searchtables(PGconn *conn, struct options * opts)
        comma_filenodes = get_comma_elts(opts->filenodes);
 
        /* 80 extra chars for SQL expression */
-       qualifiers = (char *) myalloc(strlen(comma_oids) + strlen(comma_tables) +
-                                                                 strlen(comma_filenodes) + 80);
+       qualifiers = (char *) pg_malloc(strlen(comma_oids) + strlen(comma_tables) +
+                                                                       strlen(comma_filenodes) + 80);
        ptr = qualifiers;
 
        if (opts->oids->num > 0)
@@ -542,7 +542,7 @@ sql_exec_searchtables(PGconn *conn, struct options * opts)
        free(comma_filenodes);
 
        /* now build the query */
-       todo = (char *) myalloc(650 + strlen(qualifiers));
+       todo = (char *) pg_malloc(650 + strlen(qualifiers));
        snprintf(todo, 650 + strlen(qualifiers),
                         "SELECT pg_catalog.pg_relation_filenode(c.oid) as \"Filenode\", relname as \"Table Name\" %s\n"
                         "FROM pg_catalog.pg_class c \n"
@@ -582,11 +582,11 @@ main(int argc, char **argv)
        struct options *my_opts;
        PGconn     *pgconn;
 
-       my_opts = (struct options *) myalloc(sizeof(struct options));
+       my_opts = (struct options *) pg_malloc(sizeof(struct options));
 
-       my_opts->oids = (eary *) myalloc(sizeof(eary));
-       my_opts->tables = (eary *) myalloc(sizeof(eary));
-       my_opts->filenodes = (eary *) myalloc(sizeof(eary));
+       my_opts->oids = (eary *) pg_malloc(sizeof(eary));
+       my_opts->tables = (eary *) pg_malloc(sizeof(eary));
+       my_opts->filenodes = (eary *) pg_malloc(sizeof(eary));
 
        my_opts->oids->num = my_opts->oids->alloc = 0;
        my_opts->tables->num = my_opts->tables->alloc = 0;
index f5ac3b1c6d6fdc911be7445ecd41e00e244591ad..509472262bc9ce1601dd54b23d3061acb35bd302 100644 (file)
@@ -295,7 +295,7 @@ static void *threadRun(void *arg);
  * routines to check mem allocations and fail noisily.
  */
 static void *
-xmalloc(size_t size)
+pg_malloc(size_t size)
 {
        void       *result;
 
@@ -309,7 +309,7 @@ xmalloc(size_t size)
 }
 
 static void *
-xrealloc(void *ptr, size_t size)
+pg_realloc(void *ptr, size_t size)
 {
        void       *result;
 
@@ -323,7 +323,7 @@ xrealloc(void *ptr, size_t size)
 }
 
 static char *
-xstrdup(const char *s)
+pg_strdup(const char *s)
 {
        char       *result;
 
@@ -574,17 +574,17 @@ putVariable(CState *st, const char *context, char *name, char *value)
                }
 
                if (st->variables)
-                       newvars = (Variable *) xrealloc(st->variables,
+                       newvars = (Variable *) pg_realloc(st->variables,
                                                                        (st->nvariables + 1) * sizeof(Variable));
                else
-                       newvars = (Variable *) xmalloc(sizeof(Variable));
+                       newvars = (Variable *) pg_malloc(sizeof(Variable));
 
                st->variables = newvars;
 
                var = &newvars[st->nvariables];
 
-               var->name = xstrdup(name);
-               var->value = xstrdup(value);
+               var->name = pg_strdup(name);
+               var->value = pg_strdup(value);
 
                st->nvariables++;
 
@@ -596,7 +596,7 @@ putVariable(CState *st, const char *context, char *name, char *value)
                char       *val;
 
                /* dup then free, in case value is pointing at this variable */
-               val = xstrdup(value);
+               val = pg_strdup(value);
 
                free(var->value);
                var->value = val;
@@ -618,7 +618,7 @@ parseVariable(const char *sql, int *eaten)
        if (i == 1)
                return NULL;
 
-       name = xmalloc(i);
+       name = pg_malloc(i);
        memcpy(name, &sql[1], i - 1);
        name[i - 1] = '\0';
 
@@ -635,7 +635,7 @@ replaceVariable(char **sql, char *param, int len, char *value)
        {
                size_t          offset = param - *sql;
 
-               *sql = xrealloc(*sql, strlen(*sql) - len + valueln + 1);
+               *sql = pg_realloc(*sql, strlen(*sql) - len + valueln + 1);
                param = *sql + offset;
        }
 
@@ -971,7 +971,7 @@ top:
                {
                        char       *sql;
 
-                       sql = xstrdup(command->argv[0]);
+                       sql = pg_strdup(command->argv[0]);
                        sql = assignVariables(st, sql);
 
                        if (debug)
@@ -1496,7 +1496,7 @@ parseQuery(Command *cmd, const char *raw_sql)
        char       *sql,
                           *p;
 
-       sql = xstrdup(raw_sql);
+       sql = pg_strdup(raw_sql);
        cmd->argc = 1;
 
        p = sql;
@@ -1558,8 +1558,8 @@ process_commands(char *buf)
                return NULL;
 
        /* Allocate and initialize Command structure */
-       my_commands = (Command *) xmalloc(sizeof(Command));
-       my_commands->line = xstrdup(buf);
+       my_commands = (Command *) pg_malloc(sizeof(Command));
+       my_commands->line = pg_strdup(buf);
        my_commands->command_num = num_commands++;
        my_commands->type = 0;          /* until set */
        my_commands->argc = 0;
@@ -1573,7 +1573,7 @@ process_commands(char *buf)
 
                while (tok != NULL)
                {
-                       my_commands->argv[j++] = xstrdup(tok);
+                       my_commands->argv[j++] = pg_strdup(tok);
                        my_commands->argc++;
                        tok = strtok(NULL, delim);
                }
@@ -1675,7 +1675,7 @@ process_commands(char *buf)
                switch (querymode)
                {
                        case QUERY_SIMPLE:
-                               my_commands->argv[0] = xstrdup(p);
+                               my_commands->argv[0] = pg_strdup(p);
                                my_commands->argc++;
                                break;
                        case QUERY_EXTENDED:
@@ -1709,7 +1709,7 @@ process_file(char *filename)
        }
 
        alloc_num = COMMANDS_ALLOC_NUM;
-       my_commands = (Command **) xmalloc(sizeof(Command *) * alloc_num);
+       my_commands = (Command **) pg_malloc(sizeof(Command *) * alloc_num);
 
        if (strcmp(filename, "-") == 0)
                fd = stdin;
@@ -1735,7 +1735,7 @@ process_file(char *filename)
                if (lineno >= alloc_num)
                {
                        alloc_num += COMMANDS_ALLOC_NUM;
-                       my_commands = xrealloc(my_commands, sizeof(Command *) * alloc_num);
+                       my_commands = pg_realloc(my_commands, sizeof(Command *) * alloc_num);
                }
        }
        fclose(fd);
@@ -1758,7 +1758,7 @@ process_builtin(char *tb)
        int                     alloc_num;
 
        alloc_num = COMMANDS_ALLOC_NUM;
-       my_commands = (Command **) xmalloc(sizeof(Command *) * alloc_num);
+       my_commands = (Command **) pg_malloc(sizeof(Command *) * alloc_num);
 
        lineno = 0;
 
@@ -1789,7 +1789,7 @@ process_builtin(char *tb)
                if (lineno >= alloc_num)
                {
                        alloc_num += COMMANDS_ALLOC_NUM;
-                       my_commands = xrealloc(my_commands, sizeof(Command *) * alloc_num);
+                       my_commands = pg_realloc(my_commands, sizeof(Command *) * alloc_num);
                }
        }
 
@@ -1961,7 +1961,7 @@ main(int argc, char **argv)
        else if ((env = getenv("PGUSER")) != NULL && *env != '\0')
                login = env;
 
-       state = (CState *) xmalloc(sizeof(CState));
+       state = (CState *) pg_malloc(sizeof(CState));
        memset(state, 0, sizeof(CState));
 
        while ((c = getopt_long(argc, argv, "ih:nvp:dSNc:j:Crs:t:T:U:lf:D:F:M:", long_options, &optindex)) != -1)
@@ -2184,7 +2184,7 @@ main(int argc, char **argv)
 
        if (nclients > 1)
        {
-               state = (CState *) xrealloc(state, sizeof(CState) * nclients);
+               state = (CState *) pg_realloc(state, sizeof(CState) * nclients);
                memset(state + 1, 0, sizeof(CState) * (nclients - 1));
 
                /* copy any -D switch values to all clients */
@@ -2308,7 +2308,7 @@ main(int argc, char **argv)
        }
 
        /* set up thread data structures */
-       threads = (TState *) xmalloc(sizeof(TState) * nthreads);
+       threads = (TState *) pg_malloc(sizeof(TState) * nthreads);
        for (i = 0; i < nthreads; i++)
        {
                TState     *thread = &threads[i];
@@ -2326,9 +2326,9 @@ main(int argc, char **argv)
                        int                     t;
 
                        thread->exec_elapsed = (instr_time *)
-                               xmalloc(sizeof(instr_time) * num_commands);
+                               pg_malloc(sizeof(instr_time) * num_commands);
                        thread->exec_count = (int *)
-                               xmalloc(sizeof(int) * num_commands);
+                               pg_malloc(sizeof(int) * num_commands);
 
                        for (t = 0; t < num_commands; t++)
                        {
@@ -2419,7 +2419,7 @@ threadRun(void *arg)
        int                     remains = nstate;               /* number of remaining clients */
        int                     i;
 
-       result = xmalloc(sizeof(TResult));
+       result = pg_malloc(sizeof(TResult));
        INSTR_TIME_SET_ZERO(result->conn_time);
 
        /* open log file if requested */
@@ -2632,7 +2632,7 @@ pthread_create(pthread_t *thread,
        fork_pthread *th;
        void       *ret;
 
-       th = (fork_pthread *) xmalloc(sizeof(fork_pthread));
+       th = (fork_pthread *) pg_malloc(sizeof(fork_pthread));
        if (pipe(th->pipes) < 0)
        {
                free(th);
@@ -2680,7 +2680,7 @@ pthread_join(pthread_t th, void **thread_return)
        if (thread_return != NULL)
        {
                /* assume result is TResult */
-               *thread_return = xmalloc(sizeof(TResult));
+               *thread_return = pg_malloc(sizeof(TResult));
                if (read(th->pipes[0], *thread_return, sizeof(TResult)) != sizeof(TResult))
                {
                        free(*thread_return);
@@ -2748,7 +2748,7 @@ pthread_create(pthread_t *thread,
        int                     save_errno;
        win32_pthread *th;
 
-       th = (win32_pthread *) xmalloc(sizeof(win32_pthread));
+       th = (win32_pthread *) pg_malloc(sizeof(win32_pthread));
        th->routine = start_routine;
        th->arg = arg;
        th->result = NULL;
index 824c7fa7e4c76e0a3b8204ce0cdd21564f23d5df..11ff554d795a204aba7cbaeb7469dc5cdf1df1e4 100644 (file)
@@ -178,7 +178,7 @@ static char bin_path[MAXPGPATH];
 static char backend_exec[MAXPGPATH];
 
 static void *pg_malloc(size_t size);
-static char *xstrdup(const char *s);
+static char *pg_strdup(const char *s);
 static char **replace_token(char **lines,
                          const char *token, const char *replacement);
 
@@ -304,7 +304,7 @@ pg_malloc(size_t size)
 }
 
 static char *
-xstrdup(const char *s)
+pg_strdup(const char *s)
 {
        char       *result;
 
@@ -453,7 +453,7 @@ readfile(const char *path)
        rewind(infile);
        nlines = 0;
        while (fgets(buffer, maxlength + 1, infile) != NULL)
-               result[nlines++] = xstrdup(buffer);
+               result[nlines++] = pg_strdup(buffer);
 
        fclose(infile);
        free(buffer);
@@ -796,7 +796,7 @@ get_id(void)
        }
 #endif
 
-       return xstrdup(pw->pw_name);
+       return pg_strdup(pw->pw_name);
 }
 
 static char *
@@ -805,7 +805,7 @@ encodingid_to_string(int enc)
        char            result[20];
 
        sprintf(result, "%d", enc);
-       return xstrdup(result);
+       return pg_strdup(result);
 }
 
 /*
@@ -888,10 +888,10 @@ find_matching_ts_config(const char *lc_type)
         * underscore.  Just for paranoia, we also stop at '.' or '@'.
         */
        if (lc_type == NULL)
-               langname = xstrdup("");
+               langname = pg_strdup("");
        else
        {
-               ptr = langname = xstrdup(lc_type);
+               ptr = langname = pg_strdup(lc_type);
                while (*ptr && *ptr != '_' && *ptr != '.' && *ptr != '@')
                        ptr++;
                *ptr = '\0';
@@ -1410,10 +1410,10 @@ bootstrap_template1(void)
         * there doesn't seem to be any compelling reason to do that.
         */
        snprintf(cmd, sizeof(cmd), "LC_COLLATE=%s", lc_collate);
-       putenv(xstrdup(cmd));
+       putenv(pg_strdup(cmd));
 
        snprintf(cmd, sizeof(cmd), "LC_CTYPE=%s", lc_ctype);
-       putenv(xstrdup(cmd));
+       putenv(pg_strdup(cmd));
 
        unsetenv("LC_ALL");
 
@@ -1531,7 +1531,7 @@ get_set_pwd(void)
                while (i > 0 && (pwdbuf[i - 1] == '\r' || pwdbuf[i - 1] == '\n'))
                        pwdbuf[--i] = '\0';
 
-               pwd1 = xstrdup(pwdbuf);
+               pwd1 = pg_strdup(pwdbuf);
 
        }
        printf(_("setting password ... "));
@@ -2065,7 +2065,7 @@ set_info_version(void)
                                minor = 0,
                                micro = 0;
        char       *endptr;
-       char       *vstr = xstrdup(PG_VERSION);
+       char       *vstr = pg_strdup(PG_VERSION);
        char       *ptr;
 
        ptr = vstr + (strlen(vstr) - 1);
@@ -2433,7 +2433,7 @@ locale_date_order(const char *locale)
        save = setlocale(LC_TIME, NULL);
        if (!save)
                return result;
-       save = xstrdup(save);
+       save = pg_strdup(save);
 
        setlocale(LC_TIME, locale);
 
@@ -2493,14 +2493,14 @@ check_locale_name(int category, const char *locale, char **canonname)
                return false;                   /* won't happen, we hope */
 
        /* save may be pointing at a modifiable scratch variable, so copy it. */
-       save = xstrdup(save);
+       save = pg_strdup(save);
 
        /* set the locale with setlocale, to see if it accepts it. */
        res = setlocale(category, locale);
 
        /* save canonical name if requested. */
        if (res && canonname)
-               *canonname = xstrdup(res);
+               *canonname = pg_strdup(res);
 
        /* restore old value. */
        if (!setlocale(category, save))
@@ -2588,34 +2588,34 @@ setlocales(void)
        if (check_locale_name(LC_CTYPE, lc_ctype, &canonname))
                lc_ctype = canonname;
        else
-               lc_ctype = xstrdup(setlocale(LC_CTYPE, NULL));
+               lc_ctype = pg_strdup(setlocale(LC_CTYPE, NULL));
        if (check_locale_name(LC_COLLATE, lc_collate, &canonname))
                lc_collate = canonname;
        else
-               lc_collate = xstrdup(setlocale(LC_COLLATE, NULL));
+               lc_collate = pg_strdup(setlocale(LC_COLLATE, NULL));
        if (check_locale_name(LC_NUMERIC, lc_numeric, &canonname))
                lc_numeric = canonname;
        else
-               lc_numeric = xstrdup(setlocale(LC_NUMERIC, NULL));
+               lc_numeric = pg_strdup(setlocale(LC_NUMERIC, NULL));
        if (check_locale_name(LC_TIME, lc_time, &canonname))
                lc_time = canonname;
        else
-               lc_time = xstrdup(setlocale(LC_TIME, NULL));
+               lc_time = pg_strdup(setlocale(LC_TIME, NULL));
        if (check_locale_name(LC_MONETARY, lc_monetary, &canonname))
                lc_monetary = canonname;
        else
-               lc_monetary = xstrdup(setlocale(LC_MONETARY, NULL));
+               lc_monetary = pg_strdup(setlocale(LC_MONETARY, NULL));
 #if defined(LC_MESSAGES) && !defined(WIN32)
        if (check_locale_name(LC_MESSAGES, lc_messages, &canonname))
                lc_messages = canonname;
        else
-               lc_messages = xstrdup(setlocale(LC_MESSAGES, NULL));
+               lc_messages = pg_strdup(setlocale(LC_MESSAGES, NULL));
 #else
        /* when LC_MESSAGES is not available, use the LC_CTYPE setting */
        if (check_locale_name(LC_CTYPE, lc_messages, &canonname))
                lc_messages = canonname;
        else
-               lc_messages = xstrdup(setlocale(LC_CTYPE, NULL));
+               lc_messages = pg_strdup(setlocale(LC_CTYPE, NULL));
 #endif
 }
 
@@ -2910,7 +2910,7 @@ main(int argc, char *argv[])
                switch (c)
                {
                        case 'A':
-                               authmethodlocal = authmethodhost = xstrdup(optarg);
+                               authmethodlocal = authmethodhost = pg_strdup(optarg);
 
                                /*
                                 * When ident is specified, use peer for local connections.
@@ -2923,22 +2923,22 @@ main(int argc, char *argv[])
                                        authmethodhost = "ident";
                                break;
                        case 10:
-                               authmethodlocal = xstrdup(optarg);
+                               authmethodlocal = pg_strdup(optarg);
                                break;
                        case 11:
-                               authmethodhost = xstrdup(optarg);
+                               authmethodhost = pg_strdup(optarg);
                                break;
                        case 'D':
-                               pg_data = xstrdup(optarg);
+                               pg_data = pg_strdup(optarg);
                                break;
                        case 'E':
-                               encoding = xstrdup(optarg);
+                               encoding = pg_strdup(optarg);
                                break;
                        case 'W':
                                pwprompt = true;
                                break;
                        case 'U':
-                               username = xstrdup(optarg);
+                               username = pg_strdup(optarg);
                                break;
                        case 'd':
                                debug = true;
@@ -2952,43 +2952,43 @@ main(int argc, char *argv[])
                                do_sync = false;
                                break;
                        case 'L':
-                               share_path = xstrdup(optarg);
+                               share_path = pg_strdup(optarg);
                                break;
                        case 1:
-                               locale = xstrdup(optarg);
+                               locale = pg_strdup(optarg);
                                break;
                        case 2:
-                               lc_collate = xstrdup(optarg);
+                               lc_collate = pg_strdup(optarg);
                                break;
                        case 3:
-                               lc_ctype = xstrdup(optarg);
+                               lc_ctype = pg_strdup(optarg);
                                break;
                        case 4:
-                               lc_monetary = xstrdup(optarg);
+                               lc_monetary = pg_strdup(optarg);
                                break;
                        case 5:
-                               lc_numeric = xstrdup(optarg);
+                               lc_numeric = pg_strdup(optarg);
                                break;
                        case 6:
-                               lc_time = xstrdup(optarg);
+                               lc_time = pg_strdup(optarg);
                                break;
                        case 7:
-                               lc_messages = xstrdup(optarg);
+                               lc_messages = pg_strdup(optarg);
                                break;
                        case 8:
                                locale = "C";
                                break;
                        case 9:
-                               pwfilename = xstrdup(optarg);
+                               pwfilename = pg_strdup(optarg);
                                break;
                        case 's':
                                show_setting = true;
                                break;
                        case 'T':
-                               default_text_search_config = xstrdup(optarg);
+                               default_text_search_config = pg_strdup(optarg);
                                break;
                        case 'X':
-                               xlog_dir = xstrdup(optarg);
+                               xlog_dir = pg_strdup(optarg);
                                break;
                        default:
                                /* getopt_long already emitted a complaint */
@@ -3005,7 +3005,7 @@ main(int argc, char *argv[])
         */
        if (optind < argc && strlen(pg_data) == 0)
        {
-               pg_data = xstrdup(argv[optind]);
+               pg_data = pg_strdup(argv[optind]);
                optind++;
        }
 
@@ -3038,7 +3038,7 @@ main(int argc, char *argv[])
                if (pgdenv && strlen(pgdenv))
                {
                        /* PGDATA found */
-                       pg_data = xstrdup(pgdenv);
+                       pg_data = pg_strdup(pgdenv);
                }
                else
                {
@@ -3069,7 +3069,7 @@ main(int argc, char *argv[])
 
                ZeroMemory(&pi, sizeof(pi));
 
-               cmdline = xstrdup(GetCommandLine());
+               cmdline = pg_strdup(GetCommandLine());
 
                putenv("PG_RESTRICT_EXEC=1");
 
index ad994f4fa2bae4319f02bdf2a56e90081b3f62ce..4f22116c3eed11e2c3b7028e24b84b077df3a8d7 100644 (file)
@@ -263,7 +263,7 @@ StartLogStreamer(char *startpos, uint32 timeline, char *sysidentifier)
        uint32          hi,
                                lo;
 
-       param = xmalloc0(sizeof(logstreamer_param));
+       param = pg_malloc0(sizeof(logstreamer_param));
        param->timeline = timeline;
        param->sysidentifier = sysidentifier;
 
@@ -977,7 +977,7 @@ BaseBackup(void)
                                progname, PQntuples(res), PQnfields(res), 1, 3);
                disconnect_and_exit(1);
        }
-       sysidentifier = strdup(PQgetvalue(res, 0, 0));
+       sysidentifier = pg_strdup(PQgetvalue(res, 0, 0));
        timeline = atoi(PQgetvalue(res, 0, 1));
        PQclear(res);
 
@@ -1286,7 +1286,7 @@ main(int argc, char **argv)
                switch (c)
                {
                        case 'D':
-                               basedir = xstrdup(optarg);
+                               basedir = pg_strdup(optarg);
                                break;
                        case 'F':
                                if (strcmp(optarg, "p") == 0 || strcmp(optarg, "plain") == 0)
@@ -1338,7 +1338,7 @@ main(int argc, char **argv)
                                }
                                break;
                        case 'l':
-                               label = xstrdup(optarg);
+                               label = pg_strdup(optarg);
                                break;
                        case 'z':
 #ifdef HAVE_LIBZ
@@ -1369,13 +1369,13 @@ main(int argc, char **argv)
                                }
                                break;
                        case 'h':
-                               dbhost = xstrdup(optarg);
+                               dbhost = pg_strdup(optarg);
                                break;
                        case 'p':
-                               dbport = xstrdup(optarg);
+                               dbport = pg_strdup(optarg);
                                break;
                        case 'U':
-                               dbuser = xstrdup(optarg);
+                               dbuser = pg_strdup(optarg);
                                break;
                        case 'w':
                                dbgetpassword = -1;
index 55c7bc692f05754488882a1086d86802c3b7bd36..843fc69294d18302b28e8bb12b461885d48b3b30 100644 (file)
@@ -342,10 +342,10 @@ main(int argc, char **argv)
                switch (c)
                {
                        case 'D':
-                               basedir = xstrdup(optarg);
+                               basedir = pg_strdup(optarg);
                                break;
                        case 'h':
-                               dbhost = xstrdup(optarg);
+                               dbhost = pg_strdup(optarg);
                                break;
                        case 'p':
                                if (atoi(optarg) <= 0)
@@ -354,10 +354,10 @@ main(int argc, char **argv)
                                                        progname, optarg);
                                        exit(1);
                                }
-                               dbport = xstrdup(optarg);
+                               dbport = pg_strdup(optarg);
                                break;
                        case 'U':
-                               dbuser = xstrdup(optarg);
+                               dbuser = pg_strdup(optarg);
                                break;
                        case 'w':
                                dbgetpassword = -1;
index 1e09012bfc74b814cdb6ae0d5c469757e810f0bd..404ff9171508bd4ebe25705166cf708329b5ebef 100644 (file)
@@ -97,7 +97,7 @@ open_walfile(XLogRecPtr startpoint, uint32 timeline, char *basedir,
        }
 
        /* New, empty, file. So pad it to 16Mb with zeroes */
-       zerobuf = xmalloc0(XLOG_BLCKSZ);
+       zerobuf = pg_malloc0(XLOG_BLCKSZ);
        for (bytes = 0; bytes < XLogSegSize; bytes += XLOG_BLCKSZ)
        {
                if (write(f, zerobuf, XLOG_BLCKSZ) != XLOG_BLCKSZ)
index c32c5acb2b9db58a7e0fa14dea0d42017e12058d..b6cc2a303e9fb05cb11f05ffe181db404e81a5f3 100644 (file)
@@ -32,11 +32,11 @@ static char *dbpassword = NULL;
 PGconn    *conn = NULL;
 
 /*
- * strdup() and malloc() replacements that prints an error and exits
+ * strdup() and malloc() replacements that print an error and exit
  * if something goes wrong. Can never return NULL.
  */
 char *
-xstrdup(const char *s)
+pg_strdup(const char *s)
 {
        char       *result;
 
@@ -50,7 +50,7 @@ xstrdup(const char *s)
 }
 
 void *
-xmalloc0(int size)
+pg_malloc0(size_t size)
 {
        void       *result;
 
@@ -89,8 +89,8 @@ GetConnection(void)
        if (dbport)
                argcount++;
 
-       keywords = xmalloc0((argcount + 1) * sizeof(*keywords));
-       values = xmalloc0((argcount + 1) * sizeof(*values));
+       keywords = pg_malloc0((argcount + 1) * sizeof(*keywords));
+       values = pg_malloc0((argcount + 1) * sizeof(*values));
 
        keywords[0] = "dbname";
        values[0] = "replication";
index baba5eb04fb8dd395d25a7e4a8a539602cec7ed9..fdf36418616f2919e50e33b9259635810eba7ae6 100644 (file)
@@ -16,7 +16,7 @@ extern PGconn *conn;
        }
 
 
-char      *xstrdup(const char *s);
-void      *xmalloc0(int size);
+extern char *pg_strdup(const char *s);
+extern void *pg_malloc0(size_t size);
 
-PGconn    *GetConnection(void);
+extern PGconn *GetConnection(void);
index 81ba39ec409370c8da5979cce97129f584cf82e4..6d74a154ab1e2c8ee7c175bf996bbe69863e2c62 100644 (file)
@@ -118,7 +118,7 @@ write_stderr(const char *fmt,...)
    the supplied arguments. */
 __attribute__((format(PG_PRINTF_ATTRIBUTE, 1, 2)));
 static void *pg_malloc(size_t size);
-static char *xstrdup(const char *s);
+static char *pg_strdup(const char *s);
 static void do_advice(void);
 static void do_help(void);
 static void set_mode(char *modeopt);
@@ -244,7 +244,7 @@ pg_malloc(size_t size)
 
 
 static char *
-xstrdup(const char *s)
+pg_strdup(const char *s)
 {
        char       *result;
 
@@ -351,7 +351,7 @@ readfile(const char *path)
        rewind(infile);
        nlines = 0;
        while (fgets(buffer, maxlength + 1, infile) != NULL)
-               result[nlines++] = xstrdup(buffer);
+               result[nlines++] = pg_strdup(buffer);
 
        fclose(infile);
        free(buffer);
@@ -1931,7 +1931,7 @@ adjust_data_dir(void)
        if (exec_path == NULL)
                my_exec_path = find_other_exec_or_die(argv0, "postgres", PG_BACKEND_VERSIONSTR);
        else
-               my_exec_path = xstrdup(exec_path);
+               my_exec_path = pg_strdup(exec_path);
 
        snprintf(cmd, MAXPGPATH, SYSTEMQUOTE "\"%s\" %s%s -C data_directory" SYSTEMQUOTE,
                         my_exec_path, pgdata_opt ? pgdata_opt : "", post_opts ?
@@ -1951,7 +1951,7 @@ adjust_data_dir(void)
                *strchr(filename, '\n') = '\0';
 
        free(pg_data);
-       pg_data = xstrdup(filename);
+       pg_data = pg_strdup(filename);
        canonicalize_path(pg_data);
 }
 
@@ -2042,7 +2042,7 @@ main(int argc, char **argv)
                                                char       *pgdata_D;
                                                char       *env_var = pg_malloc(strlen(optarg) + 8);
 
-                                               pgdata_D = xstrdup(optarg);
+                                               pgdata_D = pg_strdup(optarg);
                                                canonicalize_path(pgdata_D);
                                                snprintf(env_var, strlen(optarg) + 8, "PGDATA=%s",
                                                                 pgdata_D);
@@ -2060,22 +2060,22 @@ main(int argc, char **argv)
                                                break;
                                        }
                                case 'l':
-                                       log_file = xstrdup(optarg);
+                                       log_file = pg_strdup(optarg);
                                        break;
                                case 'm':
                                        set_mode(optarg);
                                        break;
                                case 'N':
-                                       register_servicename = xstrdup(optarg);
+                                       register_servicename = pg_strdup(optarg);
                                        break;
                                case 'o':
-                                       post_opts = xstrdup(optarg);
+                                       post_opts = pg_strdup(optarg);
                                        break;
                                case 'p':
-                                       exec_path = xstrdup(optarg);
+                                       exec_path = pg_strdup(optarg);
                                        break;
                                case 'P':
-                                       register_password = xstrdup(optarg);
+                                       register_password = pg_strdup(optarg);
                                        break;
                                case 's':
                                        silent_mode = true;
@@ -2094,16 +2094,11 @@ main(int argc, char **argv)
                                        break;
                                case 'U':
                                        if (strchr(optarg, '\\'))
-                                               register_username = xstrdup(optarg);
+                                               register_username = pg_strdup(optarg);
                                        else
                                                /* Prepend .\ for local accounts */
                                        {
-                                               register_username = malloc(strlen(optarg) + 3);
-                                               if (!register_username)
-                                               {
-                                                       write_stderr(_("%s: out of memory\n"), progname);
-                                                       exit(1);
-                                               }
+                                               register_username = pg_malloc(strlen(optarg) + 3);
                                                strcpy(register_username, ".\\");
                                                strcat(register_username, optarg);
                                        }
@@ -2192,9 +2187,9 @@ main(int argc, char **argv)
        pg_config = getenv("PGDATA");
        if (pg_config)
        {
-               pg_config = xstrdup(pg_config);
+               pg_config = pg_strdup(pg_config);
                canonicalize_path(pg_config);
-               pg_data = xstrdup(pg_config);
+               pg_data = pg_strdup(pg_config);
        }
 
        /* -D might point at config-only directory; if so find the real PGDATA */
index dea058899bf9766f47831b7a09ba2b6ac1809091..024722fe2dee596cb748445ed9fe9634077b6ff6 100644 (file)
@@ -138,7 +138,7 @@ AllocateCompressor(int compression, WriteFunc writeF)
                exit_horribly(modulename, "not built with zlib support\n");
 #endif
 
-       cs = (CompressorState *) pg_calloc(1, sizeof(CompressorState));
+       cs = (CompressorState *) pg_malloc0(sizeof(CompressorState));
        cs->writeF = writeF;
        cs->comprAlg = alg;
 
index 3ef10307bc5c499c848541863d575a119e7fe47e..22637e26e480c44e76bdcc709f2d646fc252645a 100644 (file)
@@ -49,13 +49,12 @@ pg_malloc(size_t size)
 }
 
 void *
-pg_calloc(size_t nmemb, size_t size)
+pg_malloc0(size_t size)
 {
        void       *tmp;
 
-       tmp = calloc(nmemb, size);
-       if (!tmp)
-               exit_horribly(NULL, "out of memory\n");
+       tmp = pg_malloc(size);
+       MemSet(tmp, 0, size);
        return tmp;
 }
 
index ea73bd62cdfff9e84c78df6b5516a8da8f0e0c93..ab31de8be0203c1177d3a247816794e15238e587 100644 (file)
@@ -16,7 +16,7 @@
 
 extern char *pg_strdup(const char *string);
 extern void *pg_malloc(size_t size);
-extern void *pg_calloc(size_t nmemb, size_t size);
+extern void *pg_malloc0(size_t size);
 extern void *pg_realloc(void *ptr, size_t size);
 
 #endif   /* DUMPMEM_H */
index 722b3e924c0d3f9295319f340586ec38c0f8342e..7f47a7c51a3de648444dcf7fbf1466618be90640 100644 (file)
@@ -748,7 +748,7 @@ NewRestoreOptions(void)
 {
        RestoreOptions *opts;
 
-       opts = (RestoreOptions *) pg_calloc(1, sizeof(RestoreOptions));
+       opts = (RestoreOptions *) pg_malloc0(sizeof(RestoreOptions));
 
        /* set any fields that shouldn't default to zeroes */
        opts->format = archUnknown;
@@ -848,7 +848,7 @@ ArchiveEntry(Archive *AHX,
        ArchiveHandle *AH = (ArchiveHandle *) AHX;
        TocEntry   *newToc;
 
-       newToc = (TocEntry *) pg_calloc(1, sizeof(TocEntry));
+       newToc = (TocEntry *) pg_malloc0(sizeof(TocEntry));
 
        AH->tocCount++;
        if (dumpId > AH->maxDumpId)
@@ -1594,8 +1594,8 @@ buildTocEntryArrays(ArchiveHandle *AH)
        DumpId          maxDumpId = AH->maxDumpId;
        TocEntry   *te;
 
-       AH->tocsByDumpId = (TocEntry **) pg_calloc(maxDumpId + 1, sizeof(TocEntry *));
-       AH->tableDataId = (DumpId *) pg_calloc(maxDumpId + 1, sizeof(DumpId));
+       AH->tocsByDumpId = (TocEntry **) pg_malloc0((maxDumpId + 1) * sizeof(TocEntry *));
+       AH->tableDataId = (DumpId *) pg_malloc0((maxDumpId + 1) * sizeof(DumpId));
 
        for (te = AH->toc->next; te != AH->toc; te = te->next)
        {
@@ -1845,7 +1845,7 @@ _discoverArchiveFormat(ArchiveHandle *AH)
                free(AH->lookahead);
 
        AH->lookaheadSize = 512;
-       AH->lookahead = pg_calloc(1, 512);
+       AH->lookahead = pg_malloc0(512);
        AH->lookaheadLen = 0;
        AH->lookaheadPos = 0;
 
@@ -2021,7 +2021,7 @@ _allocAH(const char *FileSpec, const ArchiveFormat fmt,
        write_msg(modulename, "allocating AH for %s, format %d\n", FileSpec, fmt);
 #endif
 
-       AH = (ArchiveHandle *) pg_calloc(1, sizeof(ArchiveHandle));
+       AH = (ArchiveHandle *) pg_malloc0(sizeof(ArchiveHandle));
 
        /* AH->debugLevel = 100; */
 
@@ -2065,7 +2065,7 @@ _allocAH(const char *FileSpec, const ArchiveFormat fmt,
        AH->currTablespace = NULL;      /* ditto */
        AH->currWithOids = -1;          /* force SET */
 
-       AH->toc = (TocEntry *) pg_calloc(1, sizeof(TocEntry));
+       AH->toc = (TocEntry *) pg_malloc0(sizeof(TocEntry));
 
        AH->toc->next = AH->toc;
        AH->toc->prev = AH->toc;
@@ -2246,7 +2246,7 @@ ReadToc(ArchiveHandle *AH)
 
        for (i = 0; i < AH->tocCount; i++)
        {
-               te = (TocEntry *) pg_calloc(1, sizeof(TocEntry));
+               te = (TocEntry *) pg_malloc0(sizeof(TocEntry));
                te->dumpId = ReadInt(AH);
 
                if (te->dumpId > AH->maxDumpId)
@@ -3485,9 +3485,9 @@ restore_toc_entries_parallel(ArchiveHandle *AH)
 
        ahlog(AH, 2, "entering restore_toc_entries_parallel\n");
 
-       slots = (ParallelSlot *) pg_calloc(n_slots, sizeof(ParallelSlot));
+       slots = (ParallelSlot *) pg_malloc0(n_slots * sizeof(ParallelSlot));
        pstate = (ParallelState *) pg_malloc(sizeof(ParallelState));
-       pstate->pse = (ParallelStateEntry *) pg_calloc(n_slots, sizeof(ParallelStateEntry));
+       pstate->pse = (ParallelStateEntry *) pg_malloc0(n_slots * sizeof(ParallelStateEntry));
        pstate->numWorkers = ropt->number_of_jobs;
        for (i = 0; i < pstate->numWorkers; i++)
                unsetProcessIdentifier(&(pstate->pse[i]));
@@ -3776,7 +3776,7 @@ reap_child(ParallelSlot *slots, int n_slots, int *work_status)
 
        /* first time around only, make space for handles to listen on */
        if (handles == NULL)
-               handles = (HANDLE *) pg_calloc(sizeof(HANDLE), n_slots);
+               handles = (HANDLE *) pg_malloc0(n_slots * sizeof(HANDLE));
 
        /* set up list of handles to listen to */
        for (snum = 0, tnum = 0; snum < n_slots; snum++)
index f7dc5be8e5a2c2457615ffff71df02a1a09a878d..c9adc6f82feb204f48990b72dc562438465e33d4 100644 (file)
@@ -129,7 +129,7 @@ InitArchiveFmt_Custom(ArchiveHandle *AH)
        AH->DeClonePtr = _DeClone;
 
        /* Set up a private area. */
-       ctx = (lclContext *) pg_calloc(1, sizeof(lclContext));
+       ctx = (lclContext *) pg_malloc0(sizeof(lclContext));
        AH->formatData = (void *) ctx;
 
        /* Initialize LO buffering */
@@ -198,7 +198,7 @@ _ArchiveEntry(ArchiveHandle *AH, TocEntry *te)
 {
        lclTocEntry *ctx;
 
-       ctx = (lclTocEntry *) pg_calloc(1, sizeof(lclTocEntry));
+       ctx = (lclTocEntry *) pg_malloc0(sizeof(lclTocEntry));
        if (te->dataDumper)
                ctx->dataState = K_OFFSET_POS_NOT_SET;
        else
@@ -239,7 +239,7 @@ _ReadExtraToc(ArchiveHandle *AH, TocEntry *te)
 
        if (ctx == NULL)
        {
-               ctx = (lclTocEntry *) pg_calloc(1, sizeof(lclTocEntry));
+               ctx = (lclTocEntry *) pg_malloc0(sizeof(lclTocEntry));
                te->formatData = (void *) ctx;
        }
 
index a2be6ac000b71e6a144467d2ecf3c2c20793be00..574fdaa28ac9fa9912d4e229002e5d1296614864 100644 (file)
@@ -126,7 +126,7 @@ InitArchiveFmt_Directory(ArchiveHandle *AH)
        AH->DeClonePtr = NULL;
 
        /* Set up our private context */
-       ctx = (lclContext *) pg_calloc(1, sizeof(lclContext));
+       ctx = (lclContext *) pg_malloc0(sizeof(lclContext));
        AH->formatData = (void *) ctx;
 
        ctx->dataFH = NULL;
@@ -194,7 +194,7 @@ _ArchiveEntry(ArchiveHandle *AH, TocEntry *te)
        lclTocEntry *tctx;
        char            fn[MAXPGPATH];
 
-       tctx = (lclTocEntry *) pg_calloc(1, sizeof(lclTocEntry));
+       tctx = (lclTocEntry *) pg_malloc0(sizeof(lclTocEntry));
        if (te->dataDumper)
        {
                snprintf(fn, MAXPGPATH, "%d.dat", te->dumpId);
@@ -243,7 +243,7 @@ _ReadExtraToc(ArchiveHandle *AH, TocEntry *te)
 
        if (tctx == NULL)
        {
-               tctx = (lclTocEntry *) pg_calloc(1, sizeof(lclTocEntry));
+               tctx = (lclTocEntry *) pg_malloc0(sizeof(lclTocEntry));
                te->formatData = (void *) tctx;
        }
 
index 9254de957649aa0f4b27c4cf34f28bb09f6e6f03..ee277b1f8c84d747d2074dd910d315f8a369aff1 100644 (file)
@@ -159,7 +159,7 @@ InitArchiveFmt_Tar(ArchiveHandle *AH)
        /*
         * Set up some special context used in compressing data.
         */
-       ctx = (lclContext *) pg_calloc(1, sizeof(lclContext));
+       ctx = (lclContext *) pg_malloc0(sizeof(lclContext));
        AH->formatData = (void *) ctx;
        ctx->filePos = 0;
        ctx->isSpecialScript = 0;
@@ -266,7 +266,7 @@ _ArchiveEntry(ArchiveHandle *AH, TocEntry *te)
        lclTocEntry *ctx;
        char            fn[K_STD_BUF_SIZE];
 
-       ctx = (lclTocEntry *) pg_calloc(1, sizeof(lclTocEntry));
+       ctx = (lclTocEntry *) pg_malloc0(sizeof(lclTocEntry));
        if (te->dataDumper != NULL)
        {
 #ifdef HAVE_LIBZ
@@ -305,7 +305,7 @@ _ReadExtraToc(ArchiveHandle *AH, TocEntry *te)
 
        if (ctx == NULL)
        {
-               ctx = (lclTocEntry *) pg_calloc(1, sizeof(lclTocEntry));
+               ctx = (lclTocEntry *) pg_malloc0(sizeof(lclTocEntry));
                te->formatData = (void *) ctx;
        }
 
@@ -378,7 +378,7 @@ tarOpen(ArchiveHandle *AH, const char *filename, char mode)
        }
        else
        {
-               tm = pg_calloc(1, sizeof(TAR_MEMBER));
+               tm = pg_malloc0(sizeof(TAR_MEMBER));
 
 #ifndef WIN32
                tm->tmpFH = tmpfile();
@@ -1128,7 +1128,7 @@ static TAR_MEMBER *
 _tarPositionTo(ArchiveHandle *AH, const char *filename)
 {
        lclContext *ctx = (lclContext *) AH->formatData;
-       TAR_MEMBER *th = pg_calloc(1, sizeof(TAR_MEMBER));
+       TAR_MEMBER *th = pg_malloc0(sizeof(TAR_MEMBER));
        char            c;
        char            header[512];
        size_t          i,
index 4bed69010580109ef60d9205726e4efedb7355c1..9920d967241b07a150507604eac98890c64459a8 100644 (file)
@@ -3776,7 +3776,7 @@ getFuncs(Archive *fout, int *numFuncs)
 
        *numFuncs = ntups;
 
-       finfo = (FuncInfo *) pg_calloc(ntups, sizeof(FuncInfo));
+       finfo = (FuncInfo *) pg_malloc0(ntups * sizeof(FuncInfo));
 
        i_tableoid = PQfnumber(res, "tableoid");
        i_oid = PQfnumber(res, "oid");
@@ -4205,7 +4205,7 @@ getTables(Archive *fout, int *numTables)
         * only one, because we don't yet know which tables might be inheritance
         * ancestors of the target table.
         */
-       tblinfo = (TableInfo *) pg_calloc(ntups, sizeof(TableInfo));
+       tblinfo = (TableInfo *) pg_malloc0(ntups * sizeof(TableInfo));
 
        i_reltableoid = PQfnumber(res, "tableoid");
        i_reloid = PQfnumber(res, "oid");
index ddbe8305b13a52dd02cf8458bb87645067b077fc..f0dc14592adbd73da55556a0053876fee0faf1f7 100644 (file)
@@ -552,7 +552,7 @@ findDependencyLoops(DumpableObject **objs, int nObjs, int totObjs)
        bool            fixedloop;
        int                     i;
 
-       processed = (bool *) pg_calloc(getMaxDumpId() + 1, sizeof(bool));
+       processed = (bool *) pg_malloc0((getMaxDumpId() + 1) * sizeof(bool));
        workspace = (DumpableObject **) pg_malloc(totObjs * sizeof(DumpableObject *));
        fixedloop = false;
 
index b90d2f12b9b07cf939d0bf27a5553c5b85412614..8ccd00d75f7b0b54536ad127dc489fe107cedc91 100644 (file)
@@ -1472,7 +1472,7 @@ prompt_for_password(const char *username)
        {
                char       *prompt_text;
 
-               prompt_text = malloc(strlen(username) + 100);
+               prompt_text = pg_malloc(strlen(username) + 100);
                snprintf(prompt_text, strlen(username) + 100,
                                 _("Password for user %s: "), username);
                result = simple_prompt(prompt_text, 100, false);
@@ -1549,7 +1549,7 @@ do_connect(char *dbname, char *user, char *host, char *port)
        }
        else if (o_conn && user && strcmp(PQuser(o_conn), user) == 0)
        {
-               password = strdup(PQpass(o_conn));
+               password = pg_strdup(PQpass(o_conn));
        }
 
        while (true)
index f5bd0f6d42d79c13f4f6b8852e23fac3aac41ec1..1cb30088c484cfe397b986f522052af29476929a 100644 (file)
@@ -70,26 +70,12 @@ pg_malloc(size_t size)
 }
 
 void *
-pg_malloc_zero(size_t size)
+pg_malloc0(size_t size)
 {
        void       *tmp;
 
        tmp = pg_malloc(size);
-       memset(tmp, 0, size);
-       return tmp;
-}
-
-void *
-pg_calloc(size_t nmemb, size_t size)
-{
-       void       *tmp;
-
-       tmp = calloc(nmemb, size);
-       if (!tmp)
-       {
-               psql_error("out of memory\n");
-               exit(EXIT_FAILURE);
-       }
+       MemSet(tmp, 0, size);
        return tmp;
 }
 
index 8037cbc0a0d60790c18105e8fc62208725ebb7df..f54baab841d30a8c6951a9ada4ddb888adf06e48 100644 (file)
@@ -28,8 +28,7 @@
  */
 extern char *pg_strdup(const char *string);
 extern void *pg_malloc(size_t size);
-extern void *pg_malloc_zero(size_t size);
-extern void *pg_calloc(size_t nmemb, size_t size);
+extern void *pg_malloc0(size_t size);
 
 extern bool setQFout(const char *fname);
 
index 22fcc5975e5c42ecf3b20f0de586549397f8b4dd..6cc1f4643c8a0124bfaa643dc10a909ef333ae7e 100644 (file)
@@ -97,7 +97,7 @@ parse_slash_copy(const char *args)
                return NULL;
        }
 
-       result = pg_calloc(1, sizeof(struct copy_options));
+       result = pg_malloc0(sizeof(struct copy_options));
 
        result->before_tofrom = pg_strdup("");          /* initialize for appending */
 
index 35295a8772611819ee19a27c2a5d7fd2bddc38de..15d02eeeff18608929af76e703a3df9ea1024968 100644 (file)
@@ -1236,12 +1236,12 @@ describeOneTableDetails(const char *schemaname,
        tableinfo.hastriggers = strcmp(PQgetvalue(res, 0, 4), "t") == 0;
        tableinfo.hasoids = strcmp(PQgetvalue(res, 0, 5), "t") == 0;
        tableinfo.reloptions = (pset.sversion >= 80200) ?
-               strdup(PQgetvalue(res, 0, 6)) : NULL;
+               pg_strdup(PQgetvalue(res, 0, 6)) : NULL;
        tableinfo.tablespace = (pset.sversion >= 80000) ?
                atooid(PQgetvalue(res, 0, 7)) : 0;
        tableinfo.reloftype = (pset.sversion >= 90000 &&
                                                   strcmp(PQgetvalue(res, 0, 8), "") != 0) ?
-               strdup(PQgetvalue(res, 0, 8)) : NULL;
+               pg_strdup(PQgetvalue(res, 0, 8)) : NULL;
        tableinfo.relpersistence = (pset.sversion >= 90100) ?
                *(PQgetvalue(res, 0, 9)) : 0;
        PQclear(res);
@@ -1382,7 +1382,7 @@ describeOneTableDetails(const char *schemaname,
        {
                show_modifiers = true;
                headers[cols++] = gettext_noop("Modifiers");
-               modifiers = pg_malloc_zero((numrows + 1) * sizeof(*modifiers));
+               modifiers = pg_malloc0((numrows + 1) * sizeof(*modifiers));
        }
 
        if (tableinfo.relkind == 'S')
@@ -2417,7 +2417,7 @@ describeRoles(const char *pattern, bool verbose)
                return false;
 
        nrows = PQntuples(res);
-       attr = pg_malloc_zero((nrows + 1) * sizeof(*attr));
+       attr = pg_malloc0((nrows + 1) * sizeof(*attr));
 
        printTableInit(&cont, &myopt, _("List of roles"), ncols, nrows);
 
index 8fa5e371284e67c3236d54a8d3329ec83019e06e..84212450887cf1c5f384bb7937efe0ade5c96913 100644 (file)
@@ -131,34 +131,6 @@ static void IsPagerNeeded(const printTableContent *cont, const int extra_lines,
 static void print_aligned_vertical(const printTableContent *cont, FILE *fout);
 
 
-static void *
-pg_local_malloc(size_t size)
-{
-       void       *tmp;
-
-       tmp = malloc(size);
-       if (!tmp)
-       {
-               fprintf(stderr, _("out of memory\n"));
-               exit(EXIT_FAILURE);
-       }
-       return tmp;
-}
-
-static void *
-pg_local_calloc(int count, size_t size)
-{
-       void       *tmp;
-
-       tmp = calloc(count, size);
-       if (!tmp)
-       {
-               fprintf(stderr, _("out of memory\n"));
-               exit(EXIT_FAILURE);
-       }
-       return tmp;
-}
-
 static int
 integer_digits(const char *my_str)
 {
@@ -210,8 +182,7 @@ format_numeric_locale(const char *my_str)
                                leading_digits;
        int                     groupdigits = atoi(grouping);
        int                     new_str_start = 0;
-       char       *new_str = pg_local_malloc(
-                                                                        strlen_with_numeric_locale(my_str) + 1);
+       char       *new_str = pg_malloc(strlen_with_numeric_locale(my_str) + 1);
 
        leading_digits = (int_len % groupdigits != 0) ?
                int_len % groupdigits : groupdigits;
@@ -571,18 +542,18 @@ print_aligned_text(const printTableContent *cont, FILE *fout)
        if (cont->ncolumns > 0)
        {
                col_count = cont->ncolumns;
-               width_header = pg_local_calloc(col_count, sizeof(*width_header));
-               width_average = pg_local_calloc(col_count, sizeof(*width_average));
-               max_width = pg_local_calloc(col_count, sizeof(*max_width));
-               width_wrap = pg_local_calloc(col_count, sizeof(*width_wrap));
-               max_nl_lines = pg_local_calloc(col_count, sizeof(*max_nl_lines));
-               curr_nl_line = pg_local_calloc(col_count, sizeof(*curr_nl_line));
-               col_lineptrs = pg_local_calloc(col_count, sizeof(*col_lineptrs));
-               max_bytes = pg_local_calloc(col_count, sizeof(*max_bytes));
-               format_buf = pg_local_calloc(col_count, sizeof(*format_buf));
-               header_done = pg_local_calloc(col_count, sizeof(*header_done));
-               bytes_output = pg_local_calloc(col_count, sizeof(*bytes_output));
-               wrap = pg_local_calloc(col_count, sizeof(*wrap));
+               width_header = pg_malloc0(col_count * sizeof(*width_header));
+               width_average = pg_malloc0(col_count * sizeof(*width_average));
+               max_width = pg_malloc0(col_count * sizeof(*max_width));
+               width_wrap = pg_malloc0(col_count * sizeof(*width_wrap));
+               max_nl_lines = pg_malloc0(col_count * sizeof(*max_nl_lines));
+               curr_nl_line = pg_malloc0(col_count * sizeof(*curr_nl_line));
+               col_lineptrs = pg_malloc0(col_count * sizeof(*col_lineptrs));
+               max_bytes = pg_malloc0(col_count * sizeof(*max_bytes));
+               format_buf = pg_malloc0(col_count * sizeof(*format_buf));
+               header_done = pg_malloc0(col_count * sizeof(*header_done));
+               bytes_output = pg_malloc0(col_count * sizeof(*bytes_output));
+               wrap = pg_malloc0(col_count * sizeof(*wrap));
        }
        else
        {
@@ -678,10 +649,10 @@ print_aligned_text(const printTableContent *cont, FILE *fout)
        for (i = 0; i < col_count; i++)
        {
                /* Add entry for ptr == NULL array termination */
-               col_lineptrs[i] = pg_local_calloc(max_nl_lines[i] + 1,
-                                                                                 sizeof(**col_lineptrs));
+               col_lineptrs[i] = pg_malloc0((max_nl_lines[i] + 1) *
+                                                                        sizeof(**col_lineptrs));
 
-               format_buf[i] = pg_local_malloc(max_bytes[i] + 1);
+               format_buf[i] = pg_malloc(max_bytes[i] + 1);
 
                col_lineptrs[i]->ptr = format_buf[i];
        }
@@ -1247,11 +1218,11 @@ print_aligned_vertical(const printTableContent *cont, FILE *fout)
         * We now have all the information we need to setup the formatting
         * structures
         */
-       dlineptr = pg_local_malloc((sizeof(*dlineptr)) * (dheight + 1));
-       hlineptr = pg_local_malloc((sizeof(*hlineptr)) * (hheight + 1));
+       dlineptr = pg_malloc((sizeof(*dlineptr)) * (dheight + 1));
+       hlineptr = pg_malloc((sizeof(*hlineptr)) * (hheight + 1));
 
-       dlineptr->ptr = pg_local_malloc(dformatsize);
-       hlineptr->ptr = pg_local_malloc(hformatsize);
+       dlineptr->ptr = pg_malloc(dformatsize);
+       hlineptr->ptr = pg_malloc(hformatsize);
 
        if (cont->opt->start_table)
        {
@@ -2132,17 +2103,14 @@ printTableInit(printTableContent *const content, const printTableOpt *opt,
        content->ncolumns = ncolumns;
        content->nrows = nrows;
 
-       content->headers = pg_local_calloc(ncolumns + 1,
-                                                                          sizeof(*content->headers));
+       content->headers = pg_malloc0((ncolumns + 1) * sizeof(*content->headers));
 
-       content->cells = pg_local_calloc(ncolumns * nrows + 1,
-                                                                        sizeof(*content->cells));
+       content->cells = pg_malloc0((ncolumns * nrows + 1) * sizeof(*content->cells));
 
        content->cellmustfree = NULL;
        content->footers = NULL;
 
-       content->aligns = pg_local_calloc(ncolumns + 1,
-                                                                         sizeof(*content->align));
+       content->aligns = pg_malloc0((ncolumns + 1) * sizeof(*content->align));
 
        content->header = content->headers;
        content->cell = content->cells;
@@ -2230,8 +2198,8 @@ printTableAddCell(printTableContent *const content, char *cell,
        if (mustfree)
        {
                if (content->cellmustfree == NULL)
-                       content->cellmustfree = pg_local_calloc(
-                                          content->ncolumns * content->nrows + 1, sizeof(bool));
+                       content->cellmustfree =
+                               pg_malloc0((content->ncolumns * content->nrows + 1) * sizeof(bool));
 
                content->cellmustfree[content->cellsadded] = true;
        }
@@ -2256,7 +2224,7 @@ printTableAddFooter(printTableContent *const content, const char *footer)
 {
        printTableFooter *f;
 
-       f = pg_local_calloc(1, sizeof(*f));
+       f = pg_malloc0(sizeof(*f));
        f->data = pg_strdup(footer);
 
        if (content->footers == NULL)
index 1208c8f475cac29ff38016d0ef867682e9a3a7d9..d32a12c63c856625aa42c708b24d4b58e3cdd677 100644 (file)
@@ -1150,7 +1150,7 @@ psql_scan_create(void)
 {
        PsqlScanState state;
 
-       state = (PsqlScanStateData *) pg_malloc_zero(sizeof(PsqlScanStateData));
+       state = (PsqlScanStateData *) pg_malloc0(sizeof(PsqlScanStateData));
 
        psql_scan_reset(state);
 
index 8ba8f7042182ab880b44c0b30221b8dcef06d797..3fb12c94522c2a93f9ffb2e9711e4bd627a2261d 100644 (file)
@@ -188,8 +188,8 @@ main(int argc, char *argv[])
                password_prompt = pg_strdup(_("Password: "));
        else
        {
-               password_prompt = malloc(strlen(_("Password for user %s: ")) - 2 +
-                                                                strlen(options.username) + 1);
+               password_prompt = pg_malloc(strlen(_("Password for user %s: ")) - 2 +
+                                                                       strlen(options.username) + 1);
                sprintf(password_prompt, _("Password for user %s: "),
                                options.username);
        }
index 0ae708b21ea6f182970a2aebf67976e58529f4af..4a7d02f7771e8af63fe1cd5da273a415ac70591a 100644 (file)
@@ -109,14 +109,8 @@ connectDatabase(const char *dbname, const char *pghost, const char *pgport,
        do
        {
 #define PARAMS_ARRAY_SIZE      7
-               const char **keywords = malloc(PARAMS_ARRAY_SIZE * sizeof(*keywords));
-               const char **values = malloc(PARAMS_ARRAY_SIZE * sizeof(*values));
-
-               if (!keywords || !values)
-               {
-                       fprintf(stderr, _("%s: out of memory\n"), progname);
-                       exit(1);
-               }
+               const char **keywords = pg_malloc(PARAMS_ARRAY_SIZE * sizeof(*keywords));
+               const char **values = pg_malloc(PARAMS_ARRAY_SIZE * sizeof(*values));
 
                keywords[0] = "host";
                values[0] = pghost;
@@ -305,6 +299,30 @@ pg_strdup(const char *string)
        return tmp;
 }
 
+void *
+pg_malloc(size_t size)
+{
+       void       *tmp;
+
+       tmp = malloc(size);
+       if (!tmp)
+       {
+               fprintf(stderr, _("out of memory\n"));
+               exit(EXIT_FAILURE);
+       }
+       return tmp;
+}
+
+void *
+pg_malloc0(size_t size)
+{
+       void       *tmp;
+
+       tmp = pg_malloc(size);
+       MemSet(tmp, 0, size);
+       return tmp;
+}
+
 /*
  * Check yes/no answer in a localized way.     1=yes, 0=no, -1=neither.
  */
index 854bc2f03a2b1016d678dac5dfa3063be59611d5..244409cc5b16b9ed52ab975159c4bb6c604551e8 100644 (file)
@@ -51,5 +51,7 @@ extern bool yesno_prompt(const char *question);
 extern void setup_cancel_handler(void);
 
 extern char *pg_strdup(const char *string);
+extern void *pg_malloc(size_t size);
+extern void *pg_malloc0(size_t size);
 
 #endif   /* COMMON_H */