const char *typehelp[] = {
"invalid",
"string (opt=bla)",
+ "string (opt=bla)",
"string with possible k/m/g postfix (opt=4k)",
"string with time postfix (opt=10s)",
"string (opt=bla)",
{
const char *p;
+ if (len < 2)
+ return __get_mult_bytes(str, data);
+
/*
* if the last char is 'b' or 'B', the user likely used
* "1gb" instead of just "1g". If the second to last is also
return 1;
}
+static int opt_len(const char *str)
+{
+ char *postfix;
+
+ postfix = strchr(str, ':');
+ if (!postfix)
+ return strlen(str);
+
+ return (int)(postfix - str);
+}
+
#define val_store(ptr, val, off, or, data) \
do { \
ptr = td_var((data), (off)); \
if (!vp->ival || vp->ival[0] == '\0')
continue;
all_skipped = 0;
- if (!strncmp(vp->ival, ptr, strlen(ptr))) {
+ if (!strncmp(vp->ival, ptr, opt_len(ptr))) {
ret = 0;
if (o->roff1) {
if (vp->or)