commit: 43d8c0998aafc279cdfdb18c715ae945e945138a
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 15 14:02:55 2019 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Fri Mar 15 14:02:55 2019 +0000
URL: https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=43d8c099
q.c: move run_applet_l to its only consumer qmerge.c
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
q.c | 45 ++++-----------------------------------------
qmerge.c | 40 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 44 insertions(+), 41 deletions(-)
diff --git a/q.c b/q.c
index 64aa284..30a295d 100644
--- a/q.c
+++ b/q.c
@@ -87,7 +87,8 @@ int q_main(int argc, char **argv)
case 'M': modpath = optarg; break;
case 'm':
if (optarg) {
- const char *path = initialize_flat(optarg,
CACHE_METADATA, true);
+ const char *path =
+ initialize_flat(optarg, CACHE_METADATA,
true);
if (USE_CLEANUP)
free((void *)path);
reinitialize_metacache = -1;
@@ -149,7 +150,8 @@ int q_main(int argc, char **argv)
for (i = 1; applets[i].desc; ++i) {
int r = symlinkat(prog, fd, applets[i].name);
if (!quiet)
- printf(" %s ...\t[%s]\n", applets[i].name, r ?
strerror(errno) : "OK");
+ printf(" %s ...\t[%s]\n",
+ applets[i].name, r ?
strerror(errno) : "OK");
if (r && errno != EEXIST)
ret = 1;
}
@@ -184,42 +186,3 @@ int q_main(int argc, char **argv)
return (func)(argc - 1, argv);
}
-static int run_applet_l(const char *arg, ...)
-{
- int (*applet)(int, char **);
- va_list ap;
- int ret, optind_saved, argc;
- char **argv;
- const char *argv0_saved;
-
- optind_saved = optind;
- argv0_saved = argv0;
-
- applet = lookup_applet(arg);
- if (!applet)
- return -1;
-
- /* This doesn't NULL terminate argv, but you should be using argc */
- va_start(ap, arg);
- argc = 0;
- argv = NULL;
- while (arg) {
- argv = xrealloc(argv, sizeof(*argv) * ++argc);
- argv[argc - 1] = xstrdup(arg);
- arg = va_arg(ap, const char *);
- }
- va_end(ap);
-
- optind = 0;
- argv0 = argv[0];
- ret = applet(argc, argv);
-
- while (argc--)
- free(argv[argc]);
- free(argv);
-
- optind = optind_saved;
- argv0 = argv0_saved;
-
- return ret;
-}
diff --git a/qmerge.c b/qmerge.c
index aec51be..c90f786 100644
--- a/qmerge.c
+++ b/qmerge.c
@@ -105,6 +105,46 @@ static int pkg_unmerge(q_vdb_pkg_ctx *, set *, int, char
**, int, char **);
static struct pkg_t *grab_binpkg_info(const char *);
static char *find_binpkg(const char *);
+static int run_applet_l(const char *arg, ...)
+{
+ int (*applet)(int, char **);
+ va_list ap;
+ int ret, optind_saved, argc;
+ char **argv;
+ const char *argv0_saved;
+
+ optind_saved = optind;
+ argv0_saved = argv0;
+
+ applet = lookup_applet(arg);
+ if (!applet)
+ return -1;
+
+ /* This doesn't NULL terminate argv, but you should be using argc */
+ va_start(ap, arg);
+ argc = 0;
+ argv = NULL;
+ while (arg) {
+ argv = xrealloc(argv, sizeof(*argv) * ++argc);
+ argv[argc - 1] = xstrdup(arg);
+ arg = va_arg(ap, const char *);
+ }
+ va_end(ap);
+
+ optind = 0;
+ argv0 = argv[0];
+ ret = applet(argc, argv);
+
+ while (argc--)
+ free(argv[argc]);
+ free(argv);
+
+ optind = optind_saved;
+ argv0 = argv0_saved;
+
+ return ret;
+}
+
static void
fetch(const char *destdir, const char *src)
{