commit: b979418e34137c8044614bcbf3a2b25f775f353e Author: Mike Frysinger <vapier <AT> gentoo <DOT> org> AuthorDate: Sun Mar 16 06:10:34 2014 +0000 Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org> CommitDate: Sun Mar 16 06:10:34 2014 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage-utils.git;a=commit;h=b979418e
qlist: fix processing of IUSE Stripping out all + and - chars is wrong as it means we turn "static-libs" into "static libs". Make sure we nuke these only when they're the first char in the flag. --- qlist.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/qlist.c b/qlist.c index 0ffa716..1373361 100644 --- a/qlist.c +++ b/qlist.c @@ -63,9 +63,11 @@ static char *grab_pkg_umap(q_vdb_pkg_ctx *pkg_ctx) umap[0] = '\0'; /* reset the buffer */ makeargv(use, &use_argc, &use_argv); + /* strip out possible leading +/- flags in IUSE */ for (i = 0; i < (int)strlen(iuse); i++) if (iuse[i] == '+' || iuse[i] == '-') - iuse[i] = ' '; + if (i == 0 || iuse[i - 1] == ' ') + iuse[i] = ' '; makeargv(iuse, &iuse_argc, &iuse_argv); for (u = 1; u < use_argc; u++) { for (i = 1; i < iuse_argc; i++) {