moved endianity macros to Platform.h

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4575 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2006-03-11 18:11:27 +00:00
parent 629aa42eec
commit 49844d4c72
3 changed files with 22 additions and 23 deletions

View file

@ -49,6 +49,25 @@ typedef unsigned long HBRUSH;
typedef WORD LANGID;
#endif
#ifndef __BIG_ENDIAN__
# define FIX_ENDIAN_INT32_INPLACE(x) (x)
# define FIX_ENDIAN_INT32(x) (x)
# define FIX_ENDIAN_INT16_INPLACE(x) (x)
# define FIX_ENDIAN_INT16(x) (x)
#else
# define FIX_ENDIAN_INT32_INPLACE(x) ((x) = SWAP_ENDIAN_INT32(x))
# define FIX_ENDIAN_INT32(x) SWAP_ENDIAN_INT32(x)
# define FIX_ENDIAN_INT16_INPLACE(x) ((x) = SWAP_ENDIAN_INT16(x))
# define FIX_ENDIAN_INT16(x) SWAP_ENDIAN_INT16(x)
#endif
#define SWAP_ENDIAN_INT32(x) ( \
(((x)&0xFF000000) >> 24) | \
(((x)&0x00FF0000) >> 8) | \
(((x)&0x0000FF00) << 8) | \
(((x)&0x000000FF) << 24) )
#define SWAP_ENDIAN_INT16(x) ( \
(((x)&0xFF00) >> 8) | \
(((x)&0x00FF) << 8) )
// script path separator
@ -594,8 +613,8 @@ typedef WORD LANGID;
#ifndef _WIN32
# define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16
# define IMAGE_DOS_SIGNATURE 0x5A4D
# define IMAGE_NT_SIGNATURE 0x00004550
# define IMAGE_DOS_SIGNATURE 0x5A4D
# define IMAGE_NT_SIGNATURE 0x00004550
# define IMAGE_FILE_DLL 8192
# define IMAGE_DIRECTORY_ENTRY_EXPORT 0
# define IMAGE_SIZEOF_SHORT_NAME 8

View file

@ -1,5 +1,5 @@
#include <cppunit/extensions/HelperMacros.h>
#include "../util.h"
#include "../Platform.h"
class EndianTest : public CppUnit::TestFixture {

View file

@ -36,26 +36,6 @@ size_t WCStrLen(const WCHAR* szwStr);
size_t my_strftime(char *s, size_t max, const char *fmt, const struct tm *tm);
#ifndef __BIG_ENDIAN__
# define FIX_ENDIAN_INT32_INPLACE(x) (x)
# define FIX_ENDIAN_INT32(x) (x)
# define FIX_ENDIAN_INT16_INPLACE(x) (x)
# define FIX_ENDIAN_INT16(x) (x)
#else
# define FIX_ENDIAN_INT32_INPLACE(x) ((x) = SWAP_ENDIAN_INT32(x))
# define FIX_ENDIAN_INT32(x) SWAP_ENDIAN_INT32(x)
# define FIX_ENDIAN_INT16_INPLACE(x) ((x) = SWAP_ENDIAN_INT16(x))
# define FIX_ENDIAN_INT16(x) SWAP_ENDIAN_INT16(x)
#endif
#define SWAP_ENDIAN_INT32(x) ( \
(((x)&0xFF000000) >> 24) | \
(((x)&0x00FF0000) >> 8) | \
(((x)&0x0000FF00) << 8) | \
(((x)&0x000000FF) << 24) )
#define SWAP_ENDIAN_INT16(x) ( \
(((x)&0xFF00) >> 8) | \
(((x)&0x00FF) << 8) )
std::string get_full_path(const std::string& path);
std::string get_dir_name(const std::string& path);
std::string get_file_name(const std::string& path);