Checked in some Alpha portability fixes.
This commit is contained in:
@@ -27,45 +27,31 @@
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include <string.h>
|
||||
#include "support.h"
|
||||
|
||||
|
||||
U16
|
||||
fil_sreadU16 (U8 * in)
|
||||
{
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
U16 ret;
|
||||
*( (U8*)(&ret) ) = *(in+1);
|
||||
*( ((U8*)(&ret)) + 1 ) = *in;
|
||||
return ret;
|
||||
#else /* !WORDS_BIGENDIAN */
|
||||
return *((U16 *)in);
|
||||
#endif
|
||||
return (in[1] << 8) | in[0];
|
||||
}
|
||||
|
||||
|
||||
U32
|
||||
fil_sreadU32 (U8 * in)
|
||||
{
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
U32 ret;
|
||||
*( ((U8*)(&ret)) + 3 ) = *in;
|
||||
*( ((U8*)(&ret)) + 2 ) = *(in+1);
|
||||
*( ((U8*)(&ret)) + 1 ) = *(in+2);
|
||||
*( (U8*)(&ret) ) = *(in+3);
|
||||
return ret;
|
||||
#else /* !WORDS_BIGENDIAN */
|
||||
return *((U32 *)in);
|
||||
#endif
|
||||
U32 i0 = in[0], i1 = in[1], i2 = in[2], i3 = in[3];
|
||||
|
||||
return (i3 << 24) | (i2 << 16) | (i1 << 8) | i0;
|
||||
}
|
||||
|
||||
|
||||
F64
|
||||
fil_sreadF64 (U8 * in)
|
||||
{
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
F64 ret;
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
*( ((U8*)(&ret)) + 7 ) = *in;
|
||||
*( ((U8*)(&ret)) + 6 ) = *(in+1);
|
||||
*( ((U8*)(&ret)) + 5 ) = *(in+2);
|
||||
@@ -74,10 +60,10 @@ fil_sreadF64 (U8 * in)
|
||||
*( ((U8*)(&ret)) + 2 ) = *(in+5);
|
||||
*( ((U8*)(&ret)) + 1 ) = *(in+6);
|
||||
*( (U8*)(&ret) ) = *(in+7);
|
||||
return ret;
|
||||
#else /* !WORDS_BIGENDIAN */
|
||||
return *((F64 *)in);
|
||||
memcpy (&ret, in, 8);
|
||||
#endif
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -138,13 +124,13 @@ __cole_dump (void *_m, void *_start, int length, char *msg)
|
||||
buff[8] = '-';
|
||||
buff[17] = 0;
|
||||
if (msg != NULL)
|
||||
printf ("VERBOSE: %s (from 0x%08x length 0x%08x (%d)):\n",
|
||||
printf ("VERBOSE: %s (from 0x%08tx length 0x%08x (%d)):\n",
|
||||
msg, m - start, length, length);
|
||||
for (pm = m; pm - m < length; pm++) {
|
||||
achar = (pm - m) % 16;
|
||||
/* print offset */
|
||||
if (achar == 0)
|
||||
printf ("%08x ", (pm - m) + (m - start));
|
||||
printf ("%08tx ", (pm - m) + (m - start));
|
||||
/* write char in the right column buffer */
|
||||
buff[achar + (achar < 8 ? 0 : 1)] = (char)((isprint (*pm) ? *pm : '.'));
|
||||
/* print next char */
|
||||
|
Reference in New Issue
Block a user