Fix integer store bug in parser
authorJens Axboe <jens.axboe@oracle.com>
Tue, 10 Mar 2009 07:57:34 +0000 (08:57 +0100)
committerJens Axboe <jens.axboe@oracle.com>
Tue, 10 Mar 2009 07:57:34 +0000 (08:57 +0100)
With commit f7fa2653589f9ecf0d3d106286f17620bcf32de0 I forgot to check
the type, so we would mis-store on platforms where sizeof(int) is different
from sizeof(long).

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
parse.c

diff --git a/parse.c b/parse.c
index a8f42e1..7dc5fcc 100644 (file)
--- a/parse.c
+++ b/parse.c
@@ -304,7 +304,8 @@ static int __handle_option(struct fio_option *o, const char *ptr, void *data,
                if (fn)
                        ret = fn(data, &ull);
                else {
-                       if (o->type == FIO_OPT_STR_VAL_INT) {
+                       if (o->type == FIO_OPT_STR_VAL_INT ||
+                           o->type == FIO_OPT_INT) {
                                if (first)
                                        val_store(ilp, ull, o->off1, data);
                                if (!more && o->off2)