diff options
Diffstat (limited to 'support/dktools/dk4aopt13.ctr')
-rw-r--r-- | support/dktools/dk4aopt13.ctr | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/support/dktools/dk4aopt13.ctr b/support/dktools/dk4aopt13.ctr new file mode 100644 index 0000000000..945dc65b65 --- /dev/null +++ b/support/dktools/dk4aopt13.ctr @@ -0,0 +1,41 @@ +%% options + +copyright owner = Dirk Krause +copyright year = 2015-xxxx +license = bsd + + + +%% module + +#include "dk4opt.h" +#include "dk4aopt.h" + + + +int +dk4app_opt_get_bool_short(int *rp, dk4_app_t *app, dkChar c, dk4_er_t *erp) +{ + dk4_option_t *optr; + int back = 0; + if ((NULL != rp) && (NULL != app)) { + if (NULL != app->i_opt_short) { + optr = (dk4_option_t *)dk4sto_it_find_like(app->i_opt_short, &c, 1); + if (NULL != optr) { + if (0 != optr->found) { + back = dk4opt_get_bool(rp, optr, erp); + } else { + dk4error_set_simple_error_code(erp, DK4_E_NOT_FOUND); + } + } else { + dk4error_set_simple_error_code(erp, DK4_E_SYNTAX); + } + } else { + dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS); + } + } else { + dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS); + } + return back; +} + |