Checked in some Alpha portability fixes.

This commit is contained in:
slidedraw
2002-05-10 16:08:58 +00:00
parent 9c1a133973
commit 2ff85e8b61
7 changed files with 27 additions and 40 deletions

View File

@@ -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 */