diff options
author | midipix <writeonce@midipix.org> | 2016-03-08 11:34:47 -0500 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2016-03-10 08:32:39 -0500 |
commit | a288c4f46e5e7d9c3e643a13572cda4c601d76dd (patch) | |
tree | 3a0509a568c9abbc5f0dfc61f7fc0c2f985ef2c6 | |
parent | 595190b44d92930a703d0fcb3afba6a179e80c2b (diff) | |
download | slibtool-a288c4f46e5e7d9c3e643a13572cda4c601d76dd.tar.bz2 slibtool-a288c4f46e5e7d9c3e643a13572cda4c601d76dd.tar.xz |
interface: add the split argument vectors to struct slbt_common_ctx.
-rw-r--r-- | include/slibtool/slibtool.h | 2 | ||||
-rw-r--r-- | src/driver/slbt_driver_ctx.c | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/include/slibtool/slibtool.h b/include/slibtool/slibtool.h index a05b95f..312c7cd 100644 --- a/include/slibtool/slibtool.h +++ b/include/slibtool/slibtool.h @@ -84,6 +84,8 @@ struct slbt_common_ctx { enum slbt_tag tag; enum slbt_warning_level warnings; const char * output; + char ** targv; + char ** cargv; }; struct slbt_driver_ctx { diff --git a/src/driver/slbt_driver_ctx.c b/src/driver/slbt_driver_ctx.c index 8d4e861..74fbd9a 100644 --- a/src/driver/slbt_driver_ctx.c +++ b/src/driver/slbt_driver_ctx.c @@ -187,9 +187,13 @@ static int slbt_split_argv( if (argv[i][0] != '-') *cargv++ = argv[i]; - else if (argv[i][1] == 'o') + else if (argv[i][1] == 'o') { *targv++ = argv[i]; + if (argv[i][2] == '\0') + *targv++ = argv[++i]; + } + else if ((argv[i][1] == 'W') && (argv[i][2] == 'c')) *cargv++ = argv[i]; @@ -353,6 +357,9 @@ int slbt_get_driver_ctx( ctx->targv = sargv.targv; ctx->cargv = sargv.cargv; + ctx->cctx.targv = sargv.targv; + ctx->cctx.cargv = sargv.cargv; + *pctx = &ctx->ctx; return SLBT_OK; } |