diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2013-10-13 00:09:18 -0400 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2013-10-13 00:09:18 -0400 |
commit | 5b6d08cd2992922b667564a49f19580f11676050 (patch) | |
tree | 4104a4255eeb88e78da71477b5f7b129f9a1b599 /src/backend/utils/init/miscinit.c | |
parent | a53dee43fe585e673658b01e7354892dcede957e (diff) | |
download | postgresql-5b6d08cd2992922b667564a49f19580f11676050.tar.gz postgresql-5b6d08cd2992922b667564a49f19580f11676050.zip |
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 'src/backend/utils/init/miscinit.c')
-rw-r--r-- | src/backend/utils/init/miscinit.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c index ed514f61280..381a629334b 100644 --- a/src/backend/utils/init/miscinit.c +++ b/src/backend/utils/init/miscinit.c @@ -165,12 +165,10 @@ make_absolute_path(const char *path) } } - new = malloc(strlen(buf) + strlen(path) + 2); - if (!new) + if (asprintf(&new, "%s/%s", buf, path) < 0) ereport(FATAL, (errcode(ERRCODE_OUT_OF_MEMORY), errmsg("out of memory"))); - sprintf(new, "%s/%s", buf, path); free(buf); } else @@ -1286,9 +1284,7 @@ load_libraries(const char *libraries, const char *gucname, bool restricted) { char *expanded; - expanded = palloc(strlen("$libdir/plugins/") + strlen(filename) + 1); - strcpy(expanded, "$libdir/plugins/"); - strcat(expanded, filename); + expanded = psprintf("$libdir/plugins/%s", filename); pfree(filename); filename = expanded; } |