@@ -101,19 +101,34 @@ static inline uint64_t git_bswap64(uint64_t x)
101
101
#undef ntohll
102
102
#undef htonll
103
103
104
- #if !defined(__BYTE_ORDER )
105
- # if defined(BYTE_ORDER ) && defined(LITTLE_ENDIAN ) && defined(BIG_ENDIAN )
106
- # define __BYTE_ORDER BYTE_ORDER
107
- # define __LITTLE_ENDIAN LITTLE_ENDIAN
108
- # define __BIG_ENDIAN BIG_ENDIAN
104
+ #if defined(BYTE_ORDER ) && defined(LITTLE_ENDIAN ) && defined(BIG_ENDIAN )
105
+
106
+ # define GIT_BYTE_ORDER BYTE_ORDER
107
+ # define GIT_LITTLE_ENDIAN LITTLE_ENDIAN
108
+ # define GIT_BIG_ENDIAN BIG_ENDIAN
109
+
110
+ #elif defined(__BYTE_ORDER ) && defined(__LITTLE_ENDIAN ) && defined(__BIG_ENDIAN )
111
+
112
+ # define GIT_BYTE_ORDER __BYTE_ORDER
113
+ # define GIT_LITTLE_ENDIAN __LITTLE_ENDIAN
114
+ # define GIT_BIG_ENDIAN __BIG_ENDIAN
115
+
116
+ #else
117
+
118
+ # define GIT_BIG_ENDIAN 4321
119
+ # define GIT_LITTLE_ENDIAN 1234
120
+
121
+ # if defined(_BIG_ENDIAN ) && !defined(_LITTLE_ENDIAN )
122
+ # define GIT_BYTE_ORDER GIT_BIG_ENDIAN
123
+ # elif defined(_BIG_ENDIAN ) && !defined(_LITTLE_ENDIAN )
124
+ # define GIT_BYTE_ORDER GIT_LITTLE_ENDIAN
125
+ # else
126
+ # error "Cannot determine endianness"
109
127
# endif
110
- #endif
111
128
112
- #if !defined(__BYTE_ORDER )
113
- # error "Cannot determine endianness"
114
129
#endif
115
130
116
- #if __BYTE_ORDER == __BIG_ENDIAN
131
+ #if GIT_BYTE_ORDER == GIT_BIG_ENDIAN
117
132
# define ntohll (n ) (n)
118
133
# define htonll (n ) (n)
119
134
#else
0 commit comments