summaryrefslogtreecommitdiff
path: root/jinclude.h
diff options
context:
space:
mode:
authorThomas G. Lane <tgl@netcom.com>1992-12-10 00:00:00 +0000
committerDRC <information@libjpeg-turbo.org>2015-07-29 15:23:45 -0500
commit88aeed428fd820659e3ae00292cb84ecfc05dd23 (patch)
treec4db96b8043b8c97f0b39c55f67443d73856f2f9 /jinclude.h
parent4a6b7303643714d495b9d26742d8a156fd120936 (diff)
The Independent JPEG Group's JPEG software v4
Diffstat (limited to 'jinclude.h')
-rw-r--r--jinclude.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/jinclude.h b/jinclude.h
index 2786670..c8a529f 100644
--- a/jinclude.h
+++ b/jinclude.h
@@ -76,21 +76,25 @@
* We need the memcpy() and strcmp() functions, plus memory zeroing.
* ANSI and System V implementations declare these in <string.h>.
* BSD doesn't have the mem() functions, but it does have bcopy()/bzero().
+ * Some systems may declare memset and memcpy in <memory.h>.
+ *
* NOTE: we assume the size parameters to these functions are of type size_t.
- * Insert casts in these macros if not!
+ * Change the casts in these macros if not!
*/
#ifdef INCLUDES_ARE_ANSI
#include <string.h>
-#define MEMZERO(voidptr,size) memset((voidptr), 0, (size))
+#define MEMZERO(target,size) memset((void *)(target), 0, (size_t)(size))
+#define MEMCOPY(dest,src,size) memcpy((void *)(dest), (const void *)(src), (size_t)(size))
#else /* not ANSI */
#ifdef BSD
#include <strings.h>
-#define MEMZERO(voidptr,size) bzero((voidptr), (size))
-#define memcpy(dest,src,size) bcopy((src), (dest), (size))
+#define MEMZERO(target,size) bzero((void *)(target), (size_t)(size))
+#define MEMCOPY(dest,src,size) bcopy((const void *)(src), (void *)(dest), (size_t)(size))
#else /* not BSD, assume Sys V or compatible */
#include <string.h>
-#define MEMZERO(voidptr,size) memset((voidptr), 0, (size))
+#define MEMZERO(target,size) memset((void *)(target), 0, (size_t)(size))
+#define MEMCOPY(dest,src,size) memcpy((void *)(dest), (const void *)(src), (size_t)(size))
#endif /* BSD */
#endif /* ANSI */