diff --git a/src/driver/slbt_amain.c b/src/driver/slbt_amain.c index 2e59849..65d61de 100644 --- a/src/driver/slbt_amain.c +++ b/src/driver/slbt_amain.c @@ -177,7 +177,7 @@ int slbt_main(char ** argv, char ** envp, const struct slbt_fd_ctx * fdctx) /* driver context */ if ((ret = slbt_get_driver_ctx(argv,envp,flags,fdctx,&dctx))) return (ret == SLBT_USAGE) - ? !argv || !argv[0] || !argv[1] + ? !argv || !argv[0] || !argv[1] || !argv[2] : SLBT_ERROR; if (dctx->cctx->drvflags & SLBT_DRIVER_VERSION) diff --git a/src/driver/slbt_driver_ctx.c b/src/driver/slbt_driver_ctx.c index f5e7ef2..ec47db8 100644 --- a/src/driver/slbt_driver_ctx.c +++ b/src/driver/slbt_driver_ctx.c @@ -1270,11 +1270,12 @@ int slbt_get_driver_ctx( switch (entry->tag) { case TAG_HELP: case TAG_HELP_ALL: - if (flags & SLBT_DRIVER_VERBOSITY_USAGE) - return slbt_driver_usage( + return (flags & SLBT_DRIVER_VERBOSITY_USAGE) + ? slbt_driver_usage( fdctx->fdout,program, entry->arg,optv, - meta,&sargv); + meta,&sargv) + : SLBT_USAGE; case TAG_VERSION: cctx.drvflags |= SLBT_DRIVER_VERSION;