diff options
author | Peter Eisentraut | 2013-10-13 04:09:18 +0000 |
---|---|---|
committer | Peter Eisentraut | 2013-10-13 04:09:18 +0000 |
commit | 5b6d08cd2992922b667564a49f19580f11676050 (patch) | |
tree | 4104a4255eeb88e78da71477b5f7b129f9a1b599 /contrib | |
parent | a53dee43fe585e673658b01e7354892dcede957e (diff) |
Add use of asprintf()
Add asprintf(), pg_asprintf(), and psprintf() to simplify string
allocation and composition. Replacement implementations taken from
NetBSD.
Reviewed-by: Álvaro Herrera <alvherre@2ndquadrant.com>
Reviewed-by: Asif Naeem <anaeem.it@gmail.com>
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/adminpack/adminpack.c | 3 | ||||
-rw-r--r-- | contrib/oid2name/oid2name.c | 3 | ||||
-rw-r--r-- | contrib/pg_upgrade/check.c | 21 | ||||
-rw-r--r-- | contrib/pg_upgrade/tablespace.c | 7 | ||||
-rw-r--r-- | contrib/pg_upgrade/util.c | 5 | ||||
-rw-r--r-- | contrib/pg_upgrade/version_old_8_3.c | 4 | ||||
-rw-r--r-- | contrib/spi/refint.c | 3 | ||||
-rw-r--r-- | contrib/spi/timetravel.c | 3 |
8 files changed, 17 insertions, 32 deletions
diff --git a/contrib/adminpack/adminpack.c b/contrib/adminpack/adminpack.c index ded89c60590..1ec0768289e 100644 --- a/contrib/adminpack/adminpack.c +++ b/contrib/adminpack/adminpack.c @@ -376,8 +376,7 @@ pg_logdir_ls(PG_FUNCTION_ARGS) /* Seems the timestamp is OK; prepare and return tuple */ values[0] = timestampbuf; - values[1] = palloc(strlen(fctx->location) + strlen(de->d_name) + 2); - sprintf(values[1], "%s/%s", fctx->location, de->d_name); + values[1] = psprintf("%s/%s", fctx->location, de->d_name); tuple = BuildTupleFromCStrings(funcctx->attinmeta, values); diff --git a/contrib/oid2name/oid2name.c b/contrib/oid2name/oid2name.c index cdec94205bc..ab92c637e59 100644 --- a/contrib/oid2name/oid2name.c +++ b/contrib/oid2name/oid2name.c @@ -508,8 +508,7 @@ sql_exec_searchtables(PGconn *conn, struct options * opts) free(comma_filenodes); /* now build the query */ - todo = (char *) pg_malloc(650 + strlen(qualifiers)); - snprintf(todo, 650 + strlen(qualifiers), + pg_asprintf(&todo, "SELECT pg_catalog.pg_relation_filenode(c.oid) as \"Filenode\", relname as \"Table Name\" %s\n" "FROM pg_catalog.pg_class c \n" " LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace \n" diff --git a/contrib/pg_upgrade/check.c b/contrib/pg_upgrade/check.c index 1a37b79a8b7..464bbe2604f 100644 --- a/contrib/pg_upgrade/check.c +++ b/contrib/pg_upgrade/check.c @@ -455,18 +455,13 @@ create_script_for_cluster_analyze(char **analyze_script_file_name) FILE *script = NULL; char *user_specification = ""; - if (os_info.user_specified) - { - user_specification = pg_malloc(strlen(os_info.user) + 7); - sprintf(user_specification, "-U \"%s\" ", os_info.user); - } - - *analyze_script_file_name = pg_malloc(MAXPGPATH); - prep_status("Creating script to analyze new cluster"); - snprintf(*analyze_script_file_name, MAXPGPATH, "analyze_new_cluster.%s", - SCRIPT_EXT); + if (os_info.user_specified) + pg_asprintf(&user_specification, "-U \"%s\" ", os_info.user); + + pg_asprintf(analyze_script_file_name, "analyze_new_cluster.%s", + SCRIPT_EXT); if ((script = fopen_priv(*analyze_script_file_name, "w")) == NULL) pg_fatal("Could not open file \"%s\": %s\n", @@ -597,10 +592,8 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name) int tblnum; char old_cluster_pgdata[MAXPGPATH]; - *deletion_script_file_name = pg_malloc(MAXPGPATH); - - snprintf(*deletion_script_file_name, MAXPGPATH, "delete_old_cluster.%s", - SCRIPT_EXT); + pg_asprintf(deletion_script_file_name, "delete_old_cluster.%s", + SCRIPT_EXT); /* * Some users (oddly) create tablespaces inside the cluster data diff --git a/contrib/pg_upgrade/tablespace.c b/contrib/pg_upgrade/tablespace.c index 229f4a8fde3..f090f62b29c 100644 --- a/contrib/pg_upgrade/tablespace.c +++ b/contrib/pg_upgrade/tablespace.c @@ -84,12 +84,9 @@ set_tablespace_directory_suffix(ClusterInfo *cluster) else { /* This cluster has a version-specific subdirectory */ - cluster->tablespace_suffix = pg_malloc(4 + - strlen(cluster->major_version_str) + - 10 /* OIDCHARS */ + 1); /* The leading slash is needed to start a new directory. */ - sprintf(cluster->tablespace_suffix, "/PG_%s_%d", cluster->major_version_str, - cluster->controldata.cat_ver); + pg_asprintf(&cluster->tablespace_suffix, "/PG_%s_%d", + cluster->major_version_str, cluster->controldata.cat_ver); } } diff --git a/contrib/pg_upgrade/util.c b/contrib/pg_upgrade/util.c index 74565ec92e1..7bca19b84d0 100644 --- a/contrib/pg_upgrade/util.c +++ b/contrib/pg_upgrade/util.c @@ -276,10 +276,9 @@ pg_putenv(const char *var, const char *val) if (val) { #ifndef WIN32 - char *envstr = (char *) pg_malloc(strlen(var) + - strlen(val) + 2); + char *envstr; - sprintf(envstr, "%s=%s", var, val); + pg_asprintf(&envstr, "%s=%s", var, val); putenv(envstr); /* diff --git a/contrib/pg_upgrade/version_old_8_3.c b/contrib/pg_upgrade/version_old_8_3.c index 6d44266704c..83334a09f69 100644 --- a/contrib/pg_upgrade/version_old_8_3.c +++ b/contrib/pg_upgrade/version_old_8_3.c @@ -675,9 +675,9 @@ old_8_3_create_sequence_script(ClusterInfo *cluster) int dbnum; FILE *script = NULL; bool found = false; - char *output_path = pg_malloc(MAXPGPATH); + char *output_path; - snprintf(output_path, MAXPGPATH, "adjust_sequences.sql"); + output_path = pg_strdup("adjust_sequences.sql"); prep_status("Creating script to adjust sequences"); diff --git a/contrib/spi/refint.c b/contrib/spi/refint.c index 8dc565a1907..fbed3003961 100644 --- a/contrib/spi/refint.c +++ b/contrib/spi/refint.c @@ -634,8 +634,7 @@ find_plan(char *ident, EPlan **eplan, int *nplans) (*nplans) = i = 0; } - newp->ident = (char *) malloc(strlen(ident) + 1); - strcpy(newp->ident, ident); + newp->ident = strdup(ident); newp->nplans = 0; newp->splan = NULL; (*nplans)++; diff --git a/contrib/spi/timetravel.c b/contrib/spi/timetravel.c index 34b4453f879..fa74daba946 100644 --- a/contrib/spi/timetravel.c +++ b/contrib/spi/timetravel.c @@ -540,8 +540,7 @@ find_plan(char *ident, EPlan **eplan, int *nplans) (*nplans) = i = 0; } - newp->ident = (char *) malloc(strlen(ident) + 1); - strcpy(newp->ident, ident); + newp->ident = strdup(ident); newp->splan = NULL; (*nplans)++; |