$OpenBSD: patch-src_sqliteInt_h,v 1.8 2011/01/09 19:11:34 landry Exp $ --- src/sqliteInt.h.orig Thu Oct 7 10:48:42 2010 +++ src/sqliteInt.h Sun Nov 21 18:27:02 2010 @@ -61,11 +61,6 @@ #pragma warn -spa /* Suspicious pointer arithmetic */ #endif -/* Needed for various definitions... */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE -#endif - /* ** Include standard header files as necessary */ @@ -445,33 +440,26 @@ typedef INT8_TYPE i8; /* 1-byte signed in */ #define SQLITE_MAX_U32 ((((u64)1)<<32)-1) -/* -** Macros to determine whether the machine is big or little endian, -** evaluated at runtime. -*/ -#ifdef SQLITE_AMALGAMATION -const int sqlite3one = 1; +#include +#if _BYTE_ORDER == _BIG_ENDIAN +#define SQLITE_BIGENDIAN 1 +#define SQLITE_LITTLEENDIAN 0 +#define SQLITE_UTF16NATIVE SQLITE_UTF16BE +#elif _BYTE_ORDER == _LITTLE_ENDIAN +#define SQLITE_BIGENDIAN 0 +#define SQLITE_LITTLEENDIAN 1 +#define SQLITE_UTF16NATIVE SQLITE_UTF16LE #else -extern const int sqlite3one; +#error "Help, I'm trapped in a PDP11" #endif -#if defined(i386) || defined(__i386__) || defined(_M_IX86)\ - || defined(__x86_64) || defined(__x86_64__) -# define SQLITE_BIGENDIAN 0 -# define SQLITE_LITTLEENDIAN 1 -# define SQLITE_UTF16NATIVE SQLITE_UTF16LE -#else -# define SQLITE_BIGENDIAN (*(char *)(&sqlite3one)==0) -# define SQLITE_LITTLEENDIAN (*(char *)(&sqlite3one)==1) -# define SQLITE_UTF16NATIVE (SQLITE_BIGENDIAN?SQLITE_UTF16BE:SQLITE_UTF16LE) -#endif /* ** Constants for the largest and smallest possible 64-bit signed integers. ** These macros are designed to work correctly on both 32-bit and 64-bit ** compilers. */ -#define LARGEST_INT64 (0xffffffff|(((i64)0x7fffffff)<<32)) -#define SMALLEST_INT64 (((i64)-1) - LARGEST_INT64) +#define LARGEST_INT64 INT64_MAX +#define SMALLEST_INT64 INT64_MIN /* ** Round up a number to the next larger multiple of 8. This is used