amd64 fixes
This commit is contained in:
parent
eebedcca6f
commit
ac5cf1fe60
|
@ -3,6 +3,7 @@ D1X-Rebirth Changelog
|
||||||
20070207
|
20070207
|
||||||
--------
|
--------
|
||||||
main/game.c: expanded help menu and fixed d1x help
|
main/game.c: expanded help menu and fixed d1x help
|
||||||
|
iff/iff.c: amd64 fixes
|
||||||
|
|
||||||
20070206
|
20070206
|
||||||
--------
|
--------
|
||||||
|
|
26
iff/iff.c
26
iff/iff.c
|
@ -232,7 +232,7 @@ typedef struct fake_file {
|
||||||
int length;
|
int length;
|
||||||
} FFILE;
|
} FFILE;
|
||||||
|
|
||||||
#define MAKE_SIG(a,b,c,d) (((long)(a)<<24)+((long)(b)<<16)+((c)<<8)+(d))
|
#define MAKE_SIG(a,b,c,d) (((int32_t)(a)<<24)+((int32_t)(b)<<16)+((c)<<8)+(d))
|
||||||
|
|
||||||
#define form_sig MAKE_SIG('F','O','R','M')
|
#define form_sig MAKE_SIG('F','O','R','M')
|
||||||
#define ilbm_sig MAKE_SIG('I','L','B','M')
|
#define ilbm_sig MAKE_SIG('I','L','B','M')
|
||||||
|
@ -246,7 +246,7 @@ typedef struct fake_file {
|
||||||
#define dlta_sig MAKE_SIG('D','L','T','A')
|
#define dlta_sig MAKE_SIG('D','L','T','A')
|
||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
//void printsig(long s)
|
//void printsig(int32_t s)
|
||||||
//{
|
//{
|
||||||
// char *t=(char *) &s;
|
// char *t=(char *) &s;
|
||||||
//
|
//
|
||||||
|
@ -255,8 +255,7 @@ typedef struct fake_file {
|
||||||
//}
|
//}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if 0 // adb: triggers bug in gcc 2.8.0/2.8.1
|
int32_t get_sig(FFILE *f)
|
||||||
long get_sig(FFILE *f)
|
|
||||||
{
|
{
|
||||||
char s[4];
|
char s[4];
|
||||||
|
|
||||||
|
@ -265,6 +264,7 @@ long get_sig(FFILE *f)
|
||||||
// if ((s[1]=cfgetc(f))==EOF) return(EOF);
|
// if ((s[1]=cfgetc(f))==EOF) return(EOF);
|
||||||
// if ((s[0]=cfgetc(f))==EOF) return(EOF);
|
// if ((s[0]=cfgetc(f))==EOF) return(EOF);
|
||||||
|
|
||||||
|
#ifndef WORDS_BIGENDIAN
|
||||||
if (f->position>=f->length) return EOF;
|
if (f->position>=f->length) return EOF;
|
||||||
s[3] = f->data[f->position++];
|
s[3] = f->data[f->position++];
|
||||||
if (f->position>=f->length) return EOF;
|
if (f->position>=f->length) return EOF;
|
||||||
|
@ -273,12 +273,22 @@ long get_sig(FFILE *f)
|
||||||
s[1] = f->data[f->position++];
|
s[1] = f->data[f->position++];
|
||||||
if (f->position>=f->length) return EOF;
|
if (f->position>=f->length) return EOF;
|
||||||
s[0] = f->data[f->position++];
|
s[0] = f->data[f->position++];
|
||||||
|
#else
|
||||||
return(*((long *) s));
|
if (f->position>=f->length) return EOF;
|
||||||
}
|
s[0] = f->data[f->position++];
|
||||||
|
if (f->position>=f->length) return EOF;
|
||||||
|
s[1] = f->data[f->position++];
|
||||||
|
if (f->position>=f->length) return EOF;
|
||||||
|
s[2] = f->data[f->position++];
|
||||||
|
if (f->position>=f->length) return EOF;
|
||||||
|
s[3] = f->data[f->position++];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int put_sig(long sig,FILE *f)
|
return(*((int32_t *) s));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int put_sig(int32_t sig,FILE *f)
|
||||||
{
|
{
|
||||||
char *s = (char *) &sig;
|
char *s = (char *) &sig;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue