diff --git a/Config.in b/Config.in index 8fb1f139a..2bfe30a8d 100644 --- a/Config.in +++ b/Config.in @@ -135,6 +135,12 @@ config TOYBOX_DEBUG Enable extra checks for debugging purposes. All of them catch things that can only go wrong at development time, not runtime. +config TOYBOX_PEDANTIC_ARGS + bool "Pedantic argument checking" + default n + help + Check arguments for commands that have no arguments. + config TOYBOX_UID_SYS int "First system UID" default 100 diff --git a/lib/toyflags.h b/lib/toyflags.h index e809901d5..859cca2e9 100644 --- a/lib/toyflags.h +++ b/lib/toyflags.h @@ -28,3 +28,9 @@ // Suppress default --help processing #define TOYFLAG_NOHELP (1<<9) + +#if CFG_TOYBOX_PEDANTIC_ARGS +#define NO_ARGS ">0" +#else +#define NO_ARGS 0 +#endif diff --git a/scripts/make.sh b/scripts/make.sh index 6b8538404..579284711 100755 --- a/scripts/make.sh +++ b/scripts/make.sh @@ -182,6 +182,7 @@ make_flagsh() else $SED '/USE_.*([^)]*)$/s/$/ __VA_ARGS__/' generated/config.h fi + echo '#include "lib/toyflags.h"' cat generated/newtoys.h # Run result through preprocessor, glue together " " gaps leftover from USE diff --git a/toys/other/uptime.c b/toys/other/uptime.c index 91887dfb0..1acb39ef3 100644 --- a/toys/other/uptime.c +++ b/toys/other/uptime.c @@ -5,7 +5,7 @@ * Copyright 2013 Jeroen van Rijn -USE_UPTIME(NEWTOY(uptime, NULL, TOYFLAG_USR|TOYFLAG_BIN)) +USE_UPTIME(NEWTOY(uptime, NO_ARGS, TOYFLAG_USR|TOYFLAG_BIN)) config UPTIME bool "uptime"