expressions by outputting a 0 if the expr does not have an intnum equivalent.
This is not a fix: the real fix will need to be changing how listfmts get the
final data bytes for a bytecode. This "fix" only replaces the garbage with
0's, not the correct value (e.g. for relative jumps).
Found by: Albrecht Kleine <kleine@ak.sax.de>
svn path=/trunk/yasm/; revision=1196
if (intn)
return yasm_arch_intnum_tobytes(info->arch, intn, buf, destsize,
valsize, shift, bc, 0, bc->line);
+ else {
+ int retval;
+ intn = yasm_intnum_create_uint(0);
+ retval = yasm_arch_intnum_tobytes(info->arch, intn, buf, destsize,
+ valsize, shift, bc, 0, bc->line);
+ yasm_intnum_destroy(intn);
+ return retval;
+ }
return 0;
}