lib/strntol: add 'strntol' function
[fio.git] / options.c
index cd371417d76047efcf84fd9705e9fa7c97a830c7..e040495d23169833a81581e75a58231c6e32baa5 100644 (file)
--- a/options.c
+++ b/options.c
@@ -917,7 +917,7 @@ static int str_opendir_cb(void *data, const char fio_unused *str)
 static int pattern_cb(char *pattern, unsigned int max_size,
                      const char *input, unsigned int *pattern_bytes)
 {
-       long off;
+       long off = 0;
        int i = 0, j = 0, len, k, base = 10;
        uint32_t pattern_length;
        char *loc1, *loc2;
@@ -1064,7 +1064,7 @@ static int str_verify_pattern_cb(void *data, const char *input)
        /*
         * VERIFY_META could already be set
         */
-       if (!ret && td->o.verify == VERIFY_NONE)
+       if (!ret && !fio_option_is_set(&td->o, verify))
                td->o.verify = VERIFY_PATTERN;
 
        return ret;
@@ -4093,7 +4093,7 @@ static void show_closest_option(const char *opt)
                i++;
        }
 
-       if (best_option != -1)
+       if (best_option != -1 && string_distance_ok(name, best_distance))
                log_err("Did you mean %s?\n", fio_options[best_option].name);
 
        free(name);
@@ -4365,7 +4365,7 @@ static int opt_is_set(struct thread_options *o, struct fio_option *opt)
        opt_off = opt - &fio_options[0];
        index = opt_off / (8 * sizeof(uint64_t));
        offset = opt_off & ((8 * sizeof(uint64_t)) - 1);
-       return (o->set_options[index] & (1UL << offset)) != 0;
+       return (o->set_options[index] & ((uint64_t)1 << offset)) != 0;
 }
 
 int __fio_option_is_set(struct thread_options *o, unsigned int off1)
@@ -4390,5 +4390,5 @@ void fio_option_mark_set(struct thread_options *o, struct fio_option *opt)
        opt_off = opt - &fio_options[0];
        index = opt_off / (8 * sizeof(uint64_t));
        offset = opt_off & ((8 * sizeof(uint64_t)) - 1);
-       o->set_options[index] |= 1UL << offset;
+       o->set_options[index] |= (uint64_t)1 << offset;
 }