summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmdutils.c2
-rw-r--r--cmdutils.h2
2 files changed, 4 insertions, 0 deletions
diff --git a/cmdutils.c b/cmdutils.c
index 36ef1a9383..d5095cec80 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -98,6 +98,8 @@ unknown_opt:
*po->u.int_arg = 1;
} else if (po->flags & OPT_INT) {
*po->u.int_arg = atoi(arg);
+ } else if (po->flags & OPT_INT64) {
+ *po->u.int64_arg = atoll(arg);
} else if (po->flags & OPT_FLOAT) {
*po->u.float_arg = atof(arg);
} else if (po->flags & OPT_FUNC2) {
diff --git a/cmdutils.h b/cmdutils.h
index 49b753dcf3..13a61c09df 100644
--- a/cmdutils.h
+++ b/cmdutils.h
@@ -36,12 +36,14 @@ typedef struct {
#define OPT_FLOAT 0x0100
#define OPT_SUBTITLE 0x0200
#define OPT_FUNC2 0x0400
+#define OPT_INT64 0x0800
union {
void (*func_arg)(const char *); //FIXME passing error code as int return would be nicer then exit() in the func
int *int_arg;
char **str_arg;
float *float_arg;
int (*func2_arg)(const char *, const char *);
+ int64_t *int64_arg;
} u;
const char *help;
const char *argname;