parse: Silence discard-const warning on OpenBSD
authorTomohiro Kusumi <kusumi.tomohiro@gmail.com>
Mon, 25 Nov 2019 15:13:48 +0000 (00:13 +0900)
committerTomohiro Kusumi <kusumi.tomohiro@gmail.com>
Mon, 25 Nov 2019 15:34:49 +0000 (00:34 +0900)
This might be overkill just to silence the warnings, but having
a common function for const and non-const version makes it discard
const pointer at some point.

--
    CC parse.o
parse.c: In function 'find_option_c':
parse.c:1051: warning: passing argument 1 of 'find_option' discards qualifiers from pointer target type
parse.c: In function 'get_option':
parse.c:1051: warning: passing argument 1 of 'find_option' discards qualifiers from pointer target type
parse.c:1051: warning: passing argument 1 of 'find_option' discards qualifiers from pointer target type
parse.c: In function 'parse_cmd_option':
parse.c:1051: warning: passing argument 1 of 'find_option' discards qualifiers from pointer target type

Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>
parse.c

diff --git a/parse.c b/parse.c
index 483a62f680cf8ba3dde1982afdb9aea63bcd6d73..04b2e1989e34b0fa54810a4f97d8649f0f53eb91 100644 (file)
--- a/parse.c
+++ b/parse.c
@@ -1048,7 +1048,20 @@ struct fio_option *find_option(struct fio_option *options, const char *opt)
 const struct fio_option *
 find_option_c(const struct fio_option *options, const char *opt)
 {
-       return find_option((struct fio_option *)options, opt);
+       const struct fio_option *o;
+
+       for (o = &options[0]; o->name; o++) {
+               if (!o_match(o, opt))
+                       continue;
+               if (o->type == FIO_OPT_UNSUPPORTED) {
+                       log_err("Option <%s>: %s\n", o->name, o->help);
+                       continue;
+               }
+
+               return o;
+       }
+
+       return NULL;
 }
 
 static const struct fio_option *