summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--pack.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ad20670..9c41c6f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Dec 8 12:44:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * pack.c: define swap16 and swap32 only if they are not
+ defined. OpenBSD defines these macros. [ruby-dev:22181]
+
Sun Dec 7 20:54:17 2003 Tanaka Akira <akr@m17n.org>
* ext/iconv/iconv.c (map_charset): make case sensitive.
diff --git a/pack.c b/pack.c
index 780923f..848d9fd 100644
--- a/pack.c
+++ b/pack.c
@@ -78,7 +78,9 @@ TOKEN_PASTE(swap,x)(z) \
return r; \
}
+#ifndef swap16
#define swap16(x) ((((x)&0xFF)<<8) | (((x)>>8)&0xFF))
+#endif
#if SIZEOF_SHORT == 2
#define swaps(x) swap16(x)
#else
@@ -92,10 +94,12 @@ define_swapx(s,short);
#endif
#endif
+#ifndef swap32
#define swap32(x) ((((x)&0xFF)<<24) \
|(((x)>>24)&0xFF) \
|(((x)&0x0000FF00)<<8) \
|(((x)&0x00FF0000)>>8) )
+#endif
#if SIZEOF_LONG == 4
#define swapl(x) swap32(x)
#else