History log of /dovecot/src/lib/byteorder.h
Revision Date Author Comments Expand
08259c1f206026ca9b9f4b4e97603943c6093def 28-Nov-2017 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi>

lib: rename bswap_*() to i_bswap()

d61f31663f3debf9e49d1e0d8ef3c9fb13aad6c4 30-Oct-2017 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>

lib,lib-index: Use #ifdef with WORDS_BIGENDIAN Some were missing from the last change.

debc93e622751c6c09e8105e504c5833f1ca0d6d 30-Oct-2017 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>

global: Use #ifdef instead of #if with WORDS_BIGENDIAN This is to not rely on undefined WORDS_BIGENDIAN being evaluated as 0.

0fbce082b59df2738e0c893f5251cb0116e1835b 16-Oct-2017 Bill Cole <18053819+grumpybozo@users.noreply.github.com>

Added "ULL" to the hex literals that needed it. On 32-bit platforms with older compilers (e.g. gcc 4.2 on MacOS 10.6 running on a 1st-gen Core Duo) a 'long' is 4 bytes and the compiler does not automatically use a 'long long' when needed, but instead generates an error. e.g.: libtool: compile: /usr/bin/g++-4.2 -DHAVE_CONFIG_H -I. -I../../.. -I../../../src/lib -I../../../src/lib-mail -I../../../src/lib-index -I../../../src/lib-storage -I../../../src/plugins/fts -I../../../src/doveadm -I/opt/local/include/openssl -I/opt/local/include -I/opt/local/include/CLucene/ext -pipe -Os -arch i386 -D__STDC_LIMIT_MACROS -MT lucene-wrapper.lo -MD -MP -MF .deps/lucene-wrapper.Tpo -c lucene-wrapper.cc -fno-common -DPIC -o .libs/lucene-wrapper.o In file included from ../../../src/lib/lib.h:33, from lucene-wrapper.cc:4: ../../../src/lib/byteorder.h:94: error: integer constant is too large for ‘long’ type ../../../src/lib/byteorder.h:95: error: integer constant is too large for ‘long’ type ../../../src/lib/byteorder.h:96: error: integer constant is too large for ‘long’ type ../../../src/lib/byteorder.h:97: error: integer constant is too large for ‘long’ type make[4]: *** [lucene-wrapper.lo] Error 1 Adding the 'ULL' to the end of the 16-digit hex literals that are used to test the structure of 64-bit integers fixes this and avoids any problem which could arise from the compiler using a 32-bit type for those literals that could fit in 32 bites.

401f3220d46a92cb6003eb2149a978ed239dee5f 12-Jun-2017 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi>

lib: add explicit casts to byteorder macros Some consumers of lib.h are in C++ and therefore they try to compile byteorder.h as C++ code. C++ compilers don't like the implicit void * -> struct anything * conversion, so we squelch those by adding explicit casts.

c9d76e2baf653fa5504d6849e5c1aae32eff3c53 12-Jun-2017 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi>

lib: import byte swapping & endian converting functions

deeabe11fa17e44a7fa1ad04b3ef573b27b1a25d 08-Nov-2004 Timo Sirainen <tss@iki.fi>

Removed byteorder.* files. They're not used anymore. --HG-- branch : HEAD

cb50bd23aeb251f3026de526a72c3f316b9c287b 18-Aug-2003 Timo Sirainen <tss@iki.fi>

Removed the NBO32_BIT* stuff. They don't work well with enums which are signed integers.. --HG-- branch : HEAD

b874a585c71639d95f63e28ffaec634d85ad0e64 06-Aug-2003 Timo Sirainen <tss@iki.fi>

added nbo32_bitmasks[] --HG-- branch : HEAD

af117dcec3b747f651d0cfebfa01387208fb623f 06-Aug-2003 Timo Sirainen <tss@iki.fi>

Added some network byte ordering functions and macros --HG-- branch : HEAD