diff options
author | Peter Rajnoha <prajnoha@redhat.com> | 2015-07-02 16:05:25 +0200 |
---|---|---|
committer | Peter Rajnoha <prajnoha@redhat.com> | 2015-07-02 16:12:01 +0200 |
commit | a32d5a4afc5bdc4585132765fb02739a8f352e49 (patch) | |
tree | 0f8267ec9622a1eff58f2cfd8a085a6e8bca6a55 | |
parent | eaa0d927a4490c632b02a223cb426d7e483d9055 (diff) | |
download | lvm2-a32d5a4afc5bdc4585132765fb02739a8f352e49.tar.gz |
report: adjust shared flags based on expected type for reserved values
Generic numbers and time values share some operators so make sure
we have the flags correctly adjusted based on expected type if
we're using reserved values.
-rw-r--r-- | libdm/libdm-report.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libdm/libdm-report.c b/libdm/libdm-report.c index 3f68a9e52..f8bd58188 100644 --- a/libdm/libdm-report.c +++ b/libdm/libdm-report.c @@ -2962,6 +2962,14 @@ static const char *_tok_value(struct dm_report *rh, s = _get_reserved(rh, expected_type, field_num, implicit, s, begin, end, rvw); if (rvw->reserved) { + /* + * FLD_CMP_NUMBER shares operators with FLD_CMP_TIME, + * so adjust flags here based on expected type. + */ + if (expected_type == DM_REPORT_FIELD_TYPE_TIME) + *flags &= ~FLD_CMP_NUMBER; + else if (expected_type == DM_REPORT_FIELD_TYPE_NUMBER) + *flags &= ~FLD_CMP_TIME; *flags |= expected_type; return s; } |