X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp-builds.git;a=blobdiff_plain;f=src%2Fdata%2Fsys-file-reader.c;h=fe7b53342128087687d39e74d46721b1cb5917ed;hp=e8349abf19077bf2c7751853f4d82d8f9c21bd53;hb=0faad29b5c735cce9672331681392c2b1f0b5690;hpb=399bf939cf7597e9dbe1810a07ffcb5c2ed57d32 diff --git a/src/data/sys-file-reader.c b/src/data/sys-file-reader.c index e8349abf..fe7b5334 100644 --- a/src/data/sys-file-reader.c +++ b/src/data/sys-file-reader.c @@ -425,9 +425,21 @@ read_header (struct sfm_reader *r, struct dictionary *dict, read_bytes (r, raw_bias, sizeof raw_bias); if (float_identify (100.0, raw_bias, sizeof raw_bias, &r->float_format) == 0) { - sys_warn (r, _("Compression bias is not the usual " - "value of 100, or system file uses unrecognized " - "floating-point format.")); + uint8_t zero_bias[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; + + if (memcmp (raw_bias, zero_bias, 8)) + sys_warn (r, _("Compression bias is not the usual " + "value of 100, or system file uses unrecognized " + "floating-point format.")); + else + { + /* Some software is known to write all-zeros to this + field. Such software also writes floating-point + numbers in the format that we expect by default + (it seems that all software most likely does, in + reality), so don't warn in this case. */ + } + if (r->integer_format == INTEGER_MSB_FIRST) r->float_format = FLOAT_IEEE_DOUBLE_BE; else