From 947fb5adf8af450507c978abf1c7ec9f051e5842 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Mon, 11 Apr 2016 16:52:10 +0200 Subject: string: Fix (v)asprintf prototypes Our asprintf and vasprintf have different prototypes than the glibc functions. This causes trouble when we want to share barebox code with userspace code. Change the prototypes for (v)asprintf to match the glibc prototypes. Since the current (v)asprintf are convenient to use change the existing functions to b(v)asprintf. Signed-off-by: Sascha Hauer --- common/blspec.c | 34 ++++++++++++++++++---------------- common/bootargs.c | 6 ++++-- common/console.c | 4 ++-- common/env.c | 2 +- common/environment.c | 4 ++-- common/firmware.c | 2 +- common/globalvar.c | 7 ++++--- common/menutree.c | 4 ++-- common/partitions.c | 2 +- common/state.c | 4 ++-- 10 files changed, 37 insertions(+), 32 deletions(-) (limited to 'common') diff --git a/common/blspec.c b/common/blspec.c index 18005569ff..b92f49fa2b 100644 --- a/common/blspec.c +++ b/common/blspec.c @@ -203,16 +203,18 @@ static char *parse_nfs_url(const char *url) if (ip == 0) goto out; - hostpath = asprintf("%s:%s", ip_to_string(ip), path); + hostpath = basprintf("%s:%s", ip_to_string(ip), path); prevpath = nfs_find_mountpath(hostpath); if (prevpath) { mountpath = xstrdup(prevpath); } else { - mountpath = asprintf("/mnt/nfs-%s-blspec-%08x", host, rand()); + mountpath = basprintf("/mnt/nfs-%s-blspec-%08x", host, + rand()); if (port) - options = asprintf("mountport=%s,port=%s", port, port); + options = basprintf("mountport=%s,port=%s", port, + port); ret = make_directory(mountpath); if (ret) @@ -278,7 +280,7 @@ static bool entry_is_of_compatible(struct blspec_entry *entry) if (!strcmp(devicetree, "none")) return true; - filename = asprintf("%s/%s", abspath, devicetree); + filename = basprintf("%s/%s", abspath, devicetree); fdt = read_file(filename, &size); if (!fdt) { @@ -338,7 +340,7 @@ int blspec_scan_directory(struct blspec *blspec, const char *root) entry_default = read_file_line("%s/default", root); entry_once = read_file_line("%s/once", root); - abspath = asprintf("%s/%s", root, dirname); + abspath = basprintf("%s/%s", root, dirname); dir = opendir(abspath); if (!dir) { @@ -356,7 +358,7 @@ int blspec_scan_directory(struct blspec *blspec, const char *root) if (*d->d_name == '.') continue; - configname = asprintf("%s/%s", abspath, d->d_name); + configname = basprintf("%s/%s", abspath, d->d_name); dot = strrchr(configname, '.'); if (!dot) { @@ -402,7 +404,7 @@ int blspec_scan_directory(struct blspec *blspec, const char *root) found++; - name = asprintf("%s/%s", dirname, d->d_name); + name = basprintf("%s/%s", dirname, d->d_name); if (entry_default && !strcmp(name, entry_default)) entry->boot_default = true; if (entry_once && !strcmp(name, entry_once)) @@ -415,10 +417,10 @@ int blspec_scan_directory(struct blspec *blspec, const char *root) hwdevname = xstrdup(dev_name(entry->cdev->dev->parent)); } - entry->me.display = asprintf("%-20s %-20s %s", - devname ? devname : "", - hwdevname ? hwdevname : "", - blspec_entry_var_get(entry, "title")); + entry->me.display = basprintf("%-20s %-20s %s", + devname ? devname : "", + hwdevname ? hwdevname : "", + blspec_entry_var_get(entry, "title")); free(devname); free(hwdevname); @@ -691,7 +693,7 @@ int blspec_boot(struct blspec_entry *entry, int verbose, int dryrun) else abspath = ""; - data.os_file = asprintf("%s/%s", abspath, linuximage); + data.os_file = basprintf("%s/%s", abspath, linuximage); if (devicetree) { if (!strcmp(devicetree, "none")) { @@ -699,13 +701,13 @@ int blspec_boot(struct blspec_entry *entry, int verbose, int dryrun) if (node) of_delete_node(node); } else { - data.oftree_file = asprintf("%s/%s", abspath, - devicetree); + data.oftree_file = basprintf("%s/%s", abspath, + devicetree); } } if (initrd) - data.initrd_file = asprintf("%s/%s", abspath, initrd); + data.initrd_file = basprintf("%s/%s", abspath, initrd); globalvar_add_simple("linux.bootargs.dyn.blspec", options); @@ -717,7 +719,7 @@ int blspec_boot(struct blspec_entry *entry, int verbose, int dryrun) entry->cdev ? dev_name(entry->cdev->dev) : "none"); if (entry->boot_once) { - char *s = asprintf("%s/once", abspath); + char *s = basprintf("%s/once", abspath); ret = unlink(s); if (ret) diff --git a/common/bootargs.c b/common/bootargs.c index 803736fc94..a89f23a3f2 100644 --- a/common/bootargs.c +++ b/common/bootargs.c @@ -53,7 +53,8 @@ const char *linux_bootargs_get(void) parts = globalvar_get_match("linux.mtdparts.", ";"); if (strlen(parts)) { - bootargs = asprintf("%s mtdparts=%s", linux_bootargs, parts); + bootargs = basprintf("%s mtdparts=%s", linux_bootargs, + parts); free(linux_bootargs); free(parts); linux_bootargs = bootargs; @@ -61,7 +62,8 @@ const char *linux_bootargs_get(void) parts = globalvar_get_match("linux.blkdevparts.", ";"); if (strlen(parts)) { - bootargs = asprintf("%s blkdevparts=%s", linux_bootargs, parts); + bootargs = basprintf("%s blkdevparts=%s", linux_bootargs, + parts); free(linux_bootargs); free(parts); linux_bootargs = bootargs; diff --git a/common/console.c b/common/console.c index a541892583..f0988b8bc0 100644 --- a/common/console.c +++ b/common/console.c @@ -208,8 +208,8 @@ static void console_set_stdoutpath(struct console_device *cdev) if (id < 0) return; - str = asprintf("console=%s%d,%dn8", cdev->linux_console_name, - id, cdev->baudrate); + str = basprintf("console=%s%d,%dn8", cdev->linux_console_name, id, + cdev->baudrate); globalvar_add_simple("linux.bootargs.console", str); diff --git a/common/env.c b/common/env.c index c98ed73f9b..5f63e2dd27 100644 --- a/common/env.c +++ b/common/env.c @@ -260,7 +260,7 @@ EXPORT_SYMBOL(export); void export_env_ull(const char *name, unsigned long long val) { - char *valstr = asprintf("%llu", val); + char *valstr = basprintf("%llu", val); setenv(name, valstr); export(name); diff --git a/common/environment.c b/common/environment.c index 65404afa14..fa6b59620e 100644 --- a/common/environment.c +++ b/common/environment.c @@ -80,7 +80,7 @@ static int do_compare_file(const char *filename, const char *base) char *cmp; const char *relname = filename + strlen(base) + 1; - cmp = asprintf("%s/%s", TMPDIR, relname); + cmp = basprintf("%s/%s", TMPDIR, relname); ret = compare_file(cmp, filename); free(cmp); @@ -193,7 +193,7 @@ static int file_remove_action(const char *filename, struct stat *statbuf, filename += sizeof(TMPDIR) - 1; - envname = asprintf("%s/%s", data->base, filename); + envname = basprintf("%s/%s", data->base, filename); ret = stat(envname, &s); if (ret) { diff --git a/common/firmware.c b/common/firmware.c index a6f75bf887..664f9107d0 100644 --- a/common/firmware.c +++ b/common/firmware.c @@ -202,7 +202,7 @@ out: int firmwaremgr_load_file(struct firmware_mgr *mgr, const char *firmware) { int ret; - char *name = asprintf("/dev/%s", mgr->handler->id); + char *name = basprintf("/dev/%s", mgr->handler->id); ret = copy_file(firmware, name, 0); diff --git a/common/globalvar.c b/common/globalvar.c index 9a793ac4a9..d5dd461963 100644 --- a/common/globalvar.c +++ b/common/globalvar.c @@ -42,7 +42,7 @@ static int nv_save(const char *name, const char *val) if (ret) return ret; - fname = asprintf("/env/nv/%s", name); + fname = basprintf("/env/nv/%s", name); fd = open(fname, O_CREAT | O_WRONLY | O_TRUNC); @@ -135,7 +135,7 @@ int nvvar_remove(const char *name) if (!p) return -ENOENT; - fname = asprintf("/env/nv/%s", p->name); + fname = basprintf("/env/nv/%s", p->name); unlink(fname); free(fname); @@ -217,7 +217,8 @@ char *globalvar_get_match(const char *match, const char *separator) if (!strncmp(match, param->name, strlen(match))) { const char *p = dev_get_param(&global_device, param->name); if (val) { - char *new = asprintf("%s%s%s", val, separator, p); + char *new = basprintf("%s%s%s", val, + separator, p); free(val); val = new; } else { diff --git a/common/menutree.c b/common/menutree.c index 1505ec8541..eb14da0d01 100644 --- a/common/menutree.c +++ b/common/menutree.c @@ -98,7 +98,7 @@ int menutree(const char *path, int toplevel) menu = menu_alloc(); - globpath = asprintf("%s/*", path); + globpath = basprintf("%s/*", path); ret = glob(globpath, 0, NULL, &g); free(globpath); if (ret == GLOB_NOMATCH) { @@ -149,7 +149,7 @@ int menutree(const char *path, int toplevel) mt->me.type = MENU_ENTRY_NORMAL; - mt->action = asprintf("%s/action", g.gl_pathv[i]); + mt->action = basprintf("%s/action", g.gl_pathv[i]); ret = stat(mt->action, &s); if (ret) { diff --git a/common/partitions.c b/common/partitions.c index 82ec508e64..69a2b1fefb 100644 --- a/common/partitions.c +++ b/common/partitions.c @@ -51,7 +51,7 @@ static int register_one_partition(struct block_device *blk, uint64_t size = part->size * SECTOR_SIZE; struct cdev *cdev; - partition_name = asprintf("%s.%d", blk->cdev.name, no); + partition_name = basprintf("%s.%d", blk->cdev.name, no); if (!partition_name) return -ENOMEM; dev_dbg(blk->dev, "Registering partition %s on drive %s\n", diff --git a/common/state.c b/common/state.c index c763ca4a41..87afff3056 100644 --- a/common/state.c +++ b/common/state.c @@ -704,8 +704,8 @@ static int state_convert_node_variable(struct state *state, *indexs = 0; /* construct full name */ - name = asprintf("%s%s%s", - parent_name, parent_name[0] ? "." : "", short_name); + name = basprintf("%s%s%s", parent_name, parent_name[0] ? "." : "", + short_name); free(short_name); if ((conv == STATE_CONVERT_TO_NODE) || -- cgit v1.2.3