From: Peter Johnson Date: Mon, 22 Apr 2002 07:53:46 +0000 (-0000) Subject: Cast SAVE_* and WRITE_* assignments to unsigned char. X-Git-Tag: v0.2.0~237 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=848dab8ff07aca94efefee17569bf9ec1e0964d1;p=yasm Cast SAVE_* and WRITE_* assignments to unsigned char. svn path=/trunk/yasm/; revision=602 --- diff --git a/libyasm/file.h b/libyasm/file.h index 31b8f257..2c597620 100644 --- a/libyasm/file.h +++ b/libyasm/file.h @@ -38,35 +38,35 @@ #define WRITE_SHORT(ptr, val) \ do { \ - *((ptr)++) = (val) & 0xFF; \ - *((ptr)++) = ((val) >> 8) & 0xFF; \ + *((ptr)++) = (unsigned char)((val) & 0xFF); \ + *((ptr)++) = (unsigned char)(((val) >> 8) & 0xFF); \ } while (0) #define WRITE_LONG(ptr, val) \ do { \ - *((ptr)++) = (val) & 0xFF; \ - *((ptr)++) = ((val) >> 8) & 0xFF; \ - *((ptr)++) = ((val) >> 16) & 0xFF; \ - *((ptr)++) = ((val) >> 24) & 0xFF; \ + *((ptr)++) = (unsigned char)((val) & 0xFF); \ + *((ptr)++) = (unsigned char)(((val) >> 8) & 0xFF); \ + *((ptr)++) = (unsigned char)(((val) >> 16) & 0xFF); \ + *((ptr)++) = (unsigned char)(((val) >> 24) & 0xFF); \ } while (0) /* Non-incrementing versions of the above. */ #define SAVE_BYTE(ptr, val) \ - *(ptr) = (val) & 0xFF + *(ptr) = (unsigned char)((val) & 0xFF) #define SAVE_SHORT(ptr, val) \ do { \ - *(ptr) = (val) & 0xFF; \ - *((ptr)+1) = ((val) >> 8) & 0xFF; \ + *(ptr) = (unsigned char)((val) & 0xFF); \ + *((ptr)+1) = (unsigned char)(((val) >> 8) & 0xFF); \ } while (0) #define SAVE_LONG(ptr, val) \ do { \ - *(ptr) = (val) & 0xFF; \ - *((ptr)+1) = ((val) >> 8) & 0xFF; \ - *((ptr)+2) = ((val) >> 16) & 0xFF; \ - *((ptr)+3) = ((val) >> 24) & 0xFF; \ + *(ptr) = (unsigned char)((val) & 0xFF); \ + *((ptr)+1) = (unsigned char)(((val) >> 8) & 0xFF); \ + *((ptr)+2) = (unsigned char)(((val) >> 16) & 0xFF); \ + *((ptr)+3) = (unsigned char)(((val) >> 24) & 0xFF); \ } while (0) /* Direct-to-file versions of the above. Using the above macros and a single diff --git a/src/file.h b/src/file.h index 31b8f257..2c597620 100644 --- a/src/file.h +++ b/src/file.h @@ -38,35 +38,35 @@ #define WRITE_SHORT(ptr, val) \ do { \ - *((ptr)++) = (val) & 0xFF; \ - *((ptr)++) = ((val) >> 8) & 0xFF; \ + *((ptr)++) = (unsigned char)((val) & 0xFF); \ + *((ptr)++) = (unsigned char)(((val) >> 8) & 0xFF); \ } while (0) #define WRITE_LONG(ptr, val) \ do { \ - *((ptr)++) = (val) & 0xFF; \ - *((ptr)++) = ((val) >> 8) & 0xFF; \ - *((ptr)++) = ((val) >> 16) & 0xFF; \ - *((ptr)++) = ((val) >> 24) & 0xFF; \ + *((ptr)++) = (unsigned char)((val) & 0xFF); \ + *((ptr)++) = (unsigned char)(((val) >> 8) & 0xFF); \ + *((ptr)++) = (unsigned char)(((val) >> 16) & 0xFF); \ + *((ptr)++) = (unsigned char)(((val) >> 24) & 0xFF); \ } while (0) /* Non-incrementing versions of the above. */ #define SAVE_BYTE(ptr, val) \ - *(ptr) = (val) & 0xFF + *(ptr) = (unsigned char)((val) & 0xFF) #define SAVE_SHORT(ptr, val) \ do { \ - *(ptr) = (val) & 0xFF; \ - *((ptr)+1) = ((val) >> 8) & 0xFF; \ + *(ptr) = (unsigned char)((val) & 0xFF); \ + *((ptr)+1) = (unsigned char)(((val) >> 8) & 0xFF); \ } while (0) #define SAVE_LONG(ptr, val) \ do { \ - *(ptr) = (val) & 0xFF; \ - *((ptr)+1) = ((val) >> 8) & 0xFF; \ - *((ptr)+2) = ((val) >> 16) & 0xFF; \ - *((ptr)+3) = ((val) >> 24) & 0xFF; \ + *(ptr) = (unsigned char)((val) & 0xFF); \ + *((ptr)+1) = (unsigned char)(((val) >> 8) & 0xFF); \ + *((ptr)+2) = (unsigned char)(((val) >> 16) & 0xFF); \ + *((ptr)+3) = (unsigned char)(((val) >> 24) & 0xFF); \ } while (0) /* Direct-to-file versions of the above. Using the above macros and a single