mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-03 04:13:31 +00:00
[CABMAN]
Fix pointer math ('unsigned long' will truncate the pointer).
[MKISOFS/SCHILY TOOLS]
Fix the invalid assumption that a 'long' variable can hold pointers. Will be sent upstream.
With this the whole of reactos and rostests builds on x64. Rosapps still has issues.
svn path=/trunk/; revision=75399
This commit is contained in:
@@ -74,7 +74,7 @@ ULONG CMSZipCodec::Compress(void* OutputBuffer,
|
||||
|
||||
ZStream.next_in = (unsigned char*)InputBuffer;
|
||||
ZStream.avail_in = InputLength;
|
||||
ZStream.next_out = (unsigned char*)((unsigned long)OutputBuffer + 2);
|
||||
ZStream.next_out = ((unsigned char *)OutputBuffer + 2);
|
||||
ZStream.avail_out = CAB_BLOCKSIZE + 12;
|
||||
|
||||
/* WindowBits is passed < 0 to tell that there is no zlib header */
|
||||
@@ -137,7 +137,7 @@ ULONG CMSZipCodec::Uncompress(void* OutputBuffer,
|
||||
return CS_BADSTREAM;
|
||||
}
|
||||
|
||||
ZStream.next_in = (unsigned char*)((unsigned long)InputBuffer + 2);
|
||||
ZStream.next_in = ((unsigned char*)InputBuffer + 2);
|
||||
ZStream.avail_in = InputLength - 2;
|
||||
ZStream.next_out = (unsigned char*)OutputBuffer;
|
||||
ZStream.avail_out = CAB_BLOCKSIZE + 12;
|
||||
|
||||
@@ -47,6 +47,9 @@
|
||||
#ifndef _SCHILY_CCOMDEFS_H
|
||||
#include <schily/ccomdefs.h>
|
||||
#endif
|
||||
#ifndef _SCHILY_STDINT_H
|
||||
#include <schily/stdint.h>
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -464,12 +467,12 @@ extern size_t wcslcatl __PR((wchar_t *, size_t, ...));
|
||||
extern int wcseql __PR((const wchar_t *, const wchar_t *));
|
||||
#endif
|
||||
#ifdef va_arg
|
||||
extern int format __PR((void (*)(char, long), long, const char *,
|
||||
extern int format __PR((void (*)(char, intptr_t), intptr_t, const char *,
|
||||
va_list));
|
||||
extern int fprformat __PR((long, const char *, va_list));
|
||||
extern int fprformat __PR((intptr_t, const char *, va_list));
|
||||
#else
|
||||
extern int format __PR((void (*)(char, long), long, const char *, void *));
|
||||
extern int fprformat __PR((long, const char *, void *));
|
||||
extern int format __PR((void (*)(char, intptr_t), intptr_t, const char *, void *));
|
||||
extern int fprformat __PR((intptr_t, const char *, void *));
|
||||
#endif
|
||||
|
||||
extern int ftoes __PR((char *, double, int, int));
|
||||
|
||||
@@ -138,9 +138,9 @@ typedef struct f_args {
|
||||
char *ptr; /* Current ptr in buf */
|
||||
int cnt; /* Free char count in buf */
|
||||
#else
|
||||
void (*outf)__PR((char, long)); /* Func from format(fun, arg) */
|
||||
void (*outf)__PR((char, intptr_t)); /* Func from format(fun, arg) */
|
||||
#endif
|
||||
long farg; /* Arg from format (fun, arg) */
|
||||
intptr_t farg; /* Arg from format (fun, arg) */
|
||||
int minusflag; /* Fieldwidth is negative */
|
||||
int flags; /* General flags (+-#) */
|
||||
int fldwidth; /* Field width as in %3d */
|
||||
@@ -227,7 +227,7 @@ xflsbuf(c, ap)
|
||||
#define FORMAT_FUNC_NAME format
|
||||
#define FORMAT_FUNC_PARM
|
||||
|
||||
#define FORMAT_FUNC_PROTO_DECL void (*fun)(char, long),
|
||||
#define FORMAT_FUNC_PROTO_DECL void (*fun)(char, intptr_t),
|
||||
#define FORMAT_FUNC_KR_DECL register void (*fun)();
|
||||
#define FORMAT_FUNC_KR_ARGS fun,
|
||||
|
||||
@@ -243,14 +243,14 @@ xflsbuf(c, ap)
|
||||
#ifdef PROTOTYPES
|
||||
EXPORT int
|
||||
FORMAT_FUNC_NAME(FORMAT_FUNC_PROTO_DECL
|
||||
long farg,
|
||||
intptr_t farg,
|
||||
const char *fmt,
|
||||
va_list oargs)
|
||||
#else
|
||||
EXPORT int
|
||||
FORMAT_FUNC_NAME(FORMAT_FUNC_KR_ARGS farg, fmt, oargs)
|
||||
FORMAT_FUNC_KR_DECL
|
||||
register long farg;
|
||||
register intptr_t farg;
|
||||
register char *fmt;
|
||||
va_list oargs;
|
||||
#endif
|
||||
@@ -292,7 +292,7 @@ FORMAT_FUNC_NAME(FORMAT_FUNC_KR_ARGS farg, fmt, oargs)
|
||||
fa.ptr = fa.iobuf;
|
||||
fa.fp = (FILE *)farg;
|
||||
fa.err = 0;
|
||||
farg = fa.farg = (long)&fa;
|
||||
farg = fa.farg = (intptr_t)&fa;
|
||||
} else { /* recursion */
|
||||
farg &= ~1;
|
||||
}
|
||||
@@ -1023,7 +1023,7 @@ error sizeof (ptrdiff_t) is unknown
|
||||
}
|
||||
out:
|
||||
#ifdef FORMAT_BUFFER
|
||||
if (farg == (long)&fa) { /* Top level call, flush buffer */
|
||||
if (farg == (intptr_t)&fa) { /* Top level call, flush buffer */
|
||||
if (fa.err)
|
||||
return (EOF);
|
||||
if ((fa.ptr != fa.iobuf) &&
|
||||
@@ -1208,9 +1208,9 @@ prbuf(s, fa)
|
||||
{
|
||||
register int diff;
|
||||
register int rfillc;
|
||||
register long arg = fa->farg;
|
||||
register intptr_t arg = fa->farg;
|
||||
#ifdef FORMAT_FUNC_PARM
|
||||
register void (*fun) __PR((char, long)) = fa->outf;
|
||||
register void (*fun) __PR((char, intptr_t)) = fa->outf;
|
||||
#endif
|
||||
register int count;
|
||||
register int lzero = 0;
|
||||
@@ -1274,9 +1274,9 @@ prc(c, fa)
|
||||
{
|
||||
register int diff;
|
||||
register int rfillc;
|
||||
register long arg = fa->farg;
|
||||
register intptr_t arg = fa->farg;
|
||||
#ifdef FORMAT_FUNC_PARM
|
||||
register void (*fun) __PR((char, long)) = fa->outf;
|
||||
register void (*fun) __PR((char, intptr_t)) = fa->outf;
|
||||
#endif
|
||||
register int count;
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ js_printf(form, va_alist)
|
||||
#else
|
||||
va_start(args);
|
||||
#endif
|
||||
ret = fprformat((long)stdout, form, args);
|
||||
ret = fprformat((intptr_t)stdout, form, args);
|
||||
va_end(args);
|
||||
return (ret);
|
||||
}
|
||||
@@ -82,7 +82,7 @@ js_fprintf(file, form, va_alist)
|
||||
#else
|
||||
va_start(args);
|
||||
#endif
|
||||
ret = fprformat((long)file, form, args);
|
||||
ret = fprformat((intptr_t)file, form, args);
|
||||
va_end(args);
|
||||
return (ret);
|
||||
}
|
||||
@@ -103,7 +103,7 @@ typedef struct {
|
||||
} *BUF, _BUF;
|
||||
|
||||
LOCAL void _bflush __PR((BUF));
|
||||
LOCAL void _bput __PR((char, long));
|
||||
LOCAL void _bput __PR((char, intptr_t));
|
||||
EXPORT int js_fprintf __PR((FILE *, const char *, ...));
|
||||
EXPORT int js_printf __PR((const char *, ...));
|
||||
|
||||
@@ -120,12 +120,12 @@ _bflush(bp)
|
||||
|
||||
#ifdef PROTOTYPES
|
||||
LOCAL void
|
||||
_bput(char c, long l)
|
||||
_bput(char c, intptr_t l)
|
||||
#else
|
||||
LOCAL void
|
||||
_bput(c, l)
|
||||
char c;
|
||||
long l;
|
||||
intptr_t l;
|
||||
#endif
|
||||
{
|
||||
register BUF bp = (BUF)l;
|
||||
@@ -158,7 +158,7 @@ js_printf(form, va_alist)
|
||||
#else
|
||||
va_start(args);
|
||||
#endif
|
||||
format(_bput, (long)&bb, form, args);
|
||||
format(_bput, (intptr_t)&bb, form, args);
|
||||
va_end(args);
|
||||
if (bb.cnt < BFSIZ)
|
||||
_bflush(&bb);
|
||||
@@ -189,7 +189,7 @@ js_fprintf(file, form, va_alist)
|
||||
#else
|
||||
va_start(args);
|
||||
#endif
|
||||
format(_bput, (long)&bb, form, args);
|
||||
format(_bput, (intptr_t)&bb, form, args);
|
||||
va_end(args);
|
||||
if (bb.cnt < BFSIZ)
|
||||
_bflush(&bb);
|
||||
|
||||
@@ -33,12 +33,12 @@ typedef struct {
|
||||
|
||||
#ifdef PROTOTYPES
|
||||
static void
|
||||
_cput(char c, long l)
|
||||
_cput(char c, intptr_t l)
|
||||
#else
|
||||
static void
|
||||
_cput(c, l)
|
||||
char c;
|
||||
long l;
|
||||
intptr_t l;
|
||||
#endif
|
||||
{
|
||||
register BUF bp = (BUF)l;
|
||||
@@ -78,7 +78,7 @@ js_snprintf(buf, maxcnt, form, va_alist)
|
||||
#else
|
||||
va_start(args);
|
||||
#endif
|
||||
cnt = format(_cput, (long)&bb, form, args);
|
||||
cnt = format(_cput, (intptr_t)&bb, form, args);
|
||||
va_end(args);
|
||||
if (maxcnt > 0)
|
||||
*(bb.ptr) = '\0';
|
||||
|
||||
Reference in New Issue
Block a user