pfmask: Limit the preferred mask to the vendor specific flags
authorJin Kyu Song <jin.kyu.song@intel.com>
Sun, 1 Dec 2013 00:38:42 +0000 (16:38 -0800)
committerJin Kyu Song <jin.kyu.song@intel.com>
Tue, 3 Dec 2013 02:42:19 +0000 (18:42 -0800)
In ndisasm, the priority follows the order of instructions in insns.dat.
Other iflags could affect this mechanism when a proper instruction form
had a higher iflag bit set.
The preferred mask bits are now limited to vendor flags (Cyrix and AMD)
and other flags do not affect disassembler any more.

Signed-off-by: Jin Kyu Song <jin.kyu.song@intel.com>
iflag.h

diff --git a/iflag.h b/iflag.h
index 8754174..7bc31cc 100644 (file)
--- a/iflag.h
+++ b/iflag.h
@@ -143,10 +143,9 @@ static inline int iflag_cmp_cpu_level(const iflag_t *a, const iflag_t *b)
 
 static inline iflag_t _iflag_pfmask(const iflag_t *a)
 {
-       iflag_t r = (iflag_t) {
-               .field[1] = a->field[1],
-               .field[2] = a->field[2],
-       };
+       iflag_t r;
+
+       memset(&r, 0, sizeof(r));
 
        if (iflag_test(a, IF_CYRIX))
                iflag_set(&r, IF_CYRIX);