$NetBSD: patch-as,v 1.3 2007/11/03 21:51:29 drochner Exp $

--- calendar/libical/src/libical/icaltz-util.c.orig	2007-10-12 08:31:10.000000000 +0200
+++ calendar/libical/src/libical/icaltz-util.c
@@ -21,12 +21,14 @@
  */
 
 #include <string.h>
+#if 0 /* XXX see below */
 #if defined(sun) && defined(__SVR4)
 #include <sys/byteorder.h>
 #else
 #include <byteswap.h>
 #include <endian.h>
 #endif
+#endif
 #include <limits.h>
 #include <time.h>
 #include <stdlib.h>
@@ -78,6 +80,7 @@ typedef struct
 static int
 decode (const void *ptr)
 {
+#if 0 /* XXX nonportable, possibly alignment problems */
 #if defined(sun) && defined(__SVR4)
     if (sizeof (int) == 4)
 #ifdef _BIG_ENDIAN
@@ -92,9 +95,10 @@ decode (const void *ptr)
         return bswap_32 (*(const int *) ptr);
 #endif
 	else
+#endif
 	{
 		const unsigned char *p = ptr;
-		int result = *p & (1 << (CHAR_BIT - 1)) ? ~0 : 0;
+		unsigned int result = *p & (1 << (CHAR_BIT - 1)) ? ~0 : 0;
 
 		result = (result << 8) | *p++;
 		result = (result << 8) | *p++;
