From b8cc257ac52ecf92ecdbf24d5b45524e7511e4ce Mon Sep 17 00:00:00 2001 From: Mathieu Malaterre Date: Tue, 29 May 2012 09:33:28 +0000 Subject: [PATCH] [trunk] Follow up to r1691. Handle signed case. --- applications/codec/convert.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/applications/codec/convert.c b/applications/codec/convert.c index 19518dd0..dee780d4 100644 --- a/applications/codec/convert.c +++ b/applications/codec/convert.c @@ -3001,9 +3001,17 @@ int imagetoraw_common(opj_image_t * image, const char *outfile, opj_bool big_end unsigned char temp1; unsigned char temp2; curr = (signed short int) (*ptr & mask); - temp1 = (unsigned char) (curr >> 8); - temp2 = (unsigned char) curr; - res = fwrite(&temp1, 1, 1, rawFile); + if( big_endian ) + { + temp1 = (unsigned char) (curr >> 8); + temp2 = (unsigned char) curr; + } + else + { + temp2 = (unsigned char) (curr >> 8); + temp1 = (unsigned char) curr; + } + res = fwrite(&temp1, 1, 1, rawFile); if( res < 1 ) { fprintf(stderr, "failed to write 1 byte for %s\n", outfile); return 1;