From 93906dd022c42b9d9a474c82612003b819dd2937 Mon Sep 17 00:00:00 2001 From: zimoch Date: Wed, 9 Jun 2010 08:02:22 +0000 Subject: [PATCH] Bugfix: prec too long had corrupted output --- src/RawConverter.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/RawConverter.cc b/src/RawConverter.cc index caf6c43..0eda514 100644 --- a/src/RawConverter.cc +++ b/src/RawConverter.cc @@ -40,10 +40,12 @@ parse(const StreamFormat&, StreamBuffer&, bool RawConverter:: printLong(const StreamFormat& format, StreamBuffer& output, long value) { - int prec = format.prec; // number of bytes from value - if (prec == -1) prec = 1; // default: 1 byte - int width = prec; // number of bytes in output + int prec = format.prec; // number of bytes from value + if (prec == -1) prec = 1; // default: 1 byte + int width = prec; // number of bytes in output + if (prec > (int)sizeof(long)) prec=sizeof(long); if (format.width > width) width = format.width; + char byte = 0; if (format.flags & alt_flag) // little endian (lsb first) {