projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Only show maxval in --cmdhelp if it is given
[fio.git]
/
parse.c
diff --git
a/parse.c
b/parse.c
index 7dc5fcc869ff05b21accb95257bb4fa473d188f3..1b38db5c2d789d9cbce07658b325aa066f616e37 100644
(file)
--- a/
parse.c
+++ b/
parse.c
@@
-46,7
+46,10
@@
static void show_option_range(struct fio_option *o)
if (!o->minval && !o->maxval)
return;
if (!o->minval && !o->maxval)
return;
- printf("%20s: min=%d, max=%d\n", "range", o->minval, o->maxval);
+ printf("%20s: min=%d", "range", o->minval);
+ if (o->maxval)
+ printf(", max=%d", o->maxval);
+ printf("\n");
}
static void show_option_values(struct fio_option *o)
}
static void show_option_values(struct fio_option *o)
@@
-278,8
+281,7
@@
static int __handle_option(struct fio_option *o, const char *ptr, void *data,
case FIO_OPT_STR_VAL_TIME:
is_time = 1;
case FIO_OPT_INT:
case FIO_OPT_STR_VAL_TIME:
is_time = 1;
case FIO_OPT_INT:
- case FIO_OPT_STR_VAL:
- case FIO_OPT_STR_VAL_INT: {
+ case FIO_OPT_STR_VAL: {
fio_opt_str_val_fn *fn = o->cb;
if (is_time)
fio_opt_str_val_fn *fn = o->cb;
if (is_time)
@@
-304,8
+306,7
@@
static int __handle_option(struct fio_option *o, const char *ptr, void *data,
if (fn)
ret = fn(data, &ull);
else {
if (fn)
ret = fn(data, &ull);
else {
- if (o->type == FIO_OPT_STR_VAL_INT ||
- o->type == FIO_OPT_INT) {
+ if (o->type == FIO_OPT_INT) {
if (first)
val_store(ilp, ull, o->off1, data);
if (!more && o->off2)
if (first)
val_store(ilp, ull, o->off1, data);
if (!more && o->off2)
@@
-430,12
+431,16
@@
static int __handle_option(struct fio_option *o, const char *ptr, void *data,
return ret;
}
return ret;
}
-static int handle_option(struct fio_option *o, const char *ptr, void *data)
+static int handle_option(struct fio_option *o, const char *
__
ptr, void *data)
{
{
- c
onst char
*ptr2 = NULL;
+ c
har *ptr,
*ptr2 = NULL;
int r1, r2;
int r1, r2;
- dprint(FD_PARSE, "handle_option=%s, ptr=%s\n", o->name, ptr);
+ dprint(FD_PARSE, "handle_option=%s, ptr=%s\n", o->name, __ptr);
+
+ ptr = NULL;
+ if (__ptr)
+ ptr = strdup(__ptr);
/*
* See if we have a second set of parameters, hidden after a comma.
/*
* See if we have a second set of parameters, hidden after a comma.
@@
-446,6
+451,8
@@
static int handle_option(struct fio_option *o, const char *ptr, void *data)
(o->type != FIO_OPT_STR_STORE) &&
(o->type != FIO_OPT_STR)) {
ptr2 = strchr(ptr, ',');
(o->type != FIO_OPT_STR_STORE) &&
(o->type != FIO_OPT_STR)) {
ptr2 = strchr(ptr, ',');
+ if (ptr2 && *(ptr2 + 1) == '\0')
+ *ptr2 = '\0';
if (!ptr2)
ptr2 = strchr(ptr, ':');
if (!ptr2)
if (!ptr2)
ptr2 = strchr(ptr, ':');
if (!ptr2)
@@
-459,12
+466,17
@@
static int handle_option(struct fio_option *o, const char *ptr, void *data)
*/
r1 = __handle_option(o, ptr, data, 1, !!ptr2);
*/
r1 = __handle_option(o, ptr, data, 1, !!ptr2);
- if (!ptr2)
+ if (!ptr2) {
+ if (ptr)
+ free(ptr);
return r1;
return r1;
+ }
ptr2++;
r2 = __handle_option(o, ptr2, data, 0, 0);
ptr2++;
r2 = __handle_option(o, ptr2, data, 0, 0);
+ if (ptr)
+ free(ptr);
return r1 && r2;
}
return r1 && r2;
}
@@
-655,7
+667,6
@@
static void show_option_help(struct fio_option *o)
const char *typehelp[] = {
"string (opt=bla)",
"string with possible k/m/g postfix (opt=4k)",
const char *typehelp[] = {
"string (opt=bla)",
"string with possible k/m/g postfix (opt=4k)",
- "string with range and postfix (opt=1k-4k)",
"string with time postfix (opt=10s)",
"string (opt=bla)",
"string with dual range (opt=1k-4k,4k-8k)",
"string with time postfix (opt=10s)",
"string (opt=bla)",
"string with dual range (opt=1k-4k,4k-8k)",