equal
deleted
inserted
replaced
55 |
55 |
56 #include "stdafx.h" |
56 #include "stdafx.h" |
57 #include "md5.h" |
57 #include "md5.h" |
58 #include <string.h> |
58 #include <string.h> |
59 |
59 |
60 #undef BYTE_ORDER /* 1 = big-endian, -1 = little-endian, 0 = unknown */ |
60 #undef BYTE_ORDER /* 1 = big-endian, -1 = little-endian, 0 = unknown */ |
61 #if defined(TTD_BIG_ENDIAN) |
61 #if defined(TTD_BIG_ENDIAN) |
62 # define BYTE_ORDER 1 |
62 # define BYTE_ORDER 1 |
63 #else |
63 #else |
64 # define BYTE_ORDER -1 |
64 # define BYTE_ORDER -1 |
65 #endif |
65 #endif |
156 */ |
156 */ |
157 static const int w = 1; |
157 static const int w = 1; |
158 |
158 |
159 if (*((const md5_byte_t *)&w)) /* dynamic little-endian */ |
159 if (*((const md5_byte_t *)&w)) /* dynamic little-endian */ |
160 #endif |
160 #endif |
161 #if BYTE_ORDER <= 0 /* little-endian */ |
161 #if BYTE_ORDER <= 0 /* little-endian */ |
162 { |
162 { |
163 /* |
163 /* |
164 * On little-endian machines, we can process properly aligned |
164 * On little-endian machines, we can process properly aligned |
165 * data without copying it. |
165 * data without copying it. |
166 */ |
166 */ |
173 X = xbuf; |
173 X = xbuf; |
174 } |
174 } |
175 } |
175 } |
176 #endif |
176 #endif |
177 #if BYTE_ORDER == 0 |
177 #if BYTE_ORDER == 0 |
178 else /* dynamic big-endian */ |
178 else /* dynamic big-endian */ |
179 #endif |
179 #endif |
180 #if BYTE_ORDER >= 0 /* big-endian */ |
180 #if BYTE_ORDER >= 0 /* big-endian */ |
181 { |
181 { |
182 /* |
182 /* |
183 * On big-endian machines, we must arrange the bytes in the |
183 * On big-endian machines, we must arrange the bytes in the |
184 * right order. |
184 * right order. |
185 */ |
185 */ |
186 const md5_byte_t *xp = data; |
186 const md5_byte_t *xp = data; |
187 int i; |
187 int i; |
188 |
188 |
189 # if BYTE_ORDER == 0 |
189 # if BYTE_ORDER == 0 |
190 X = xbuf; /* (dynamic only) */ |
190 X = xbuf; /* (dynamic only) */ |
191 # else |
191 # else |
192 # define xbuf X /* (static only) */ |
192 # define xbuf X /* (static only) */ |
193 # endif |
193 # endif |
194 for (i = 0; i < 16; ++i, xp += 4) |
194 for (i = 0; i < 16; ++i, xp += 4) |
195 xbuf[i] = xp[0] + (xp[1] << 8) + (xp[2] << 16) + (xp[3] << 24); |
195 xbuf[i] = xp[0] + (xp[1] << 8) + (xp[2] << 16) + (xp[3] << 24); |
196 } |
196 } |
197 #endif |
197 #endif |