dll, tst: fix 32-bit build

This commit is contained in:
Bill Zissimopoulos 2016-05-30 15:19:36 -07:00
parent d12a256430
commit a938cb4fe6
4 changed files with 15 additions and 7 deletions

View File

@ -67,7 +67,8 @@ FSP_API VOID FspDebugLogFT(const char *format, PFILETIME FileTime)
FspDebugLog(format, "invalid file time"); FspDebugLog(format, "invalid file time");
} }
#define MAKE_UINT32_PAIR(v) (((v) >> 32) & 0xffffffff), ((v) & 0xffffffff) #define MAKE_UINT32_PAIR(v) \
((PLARGE_INTEGER)&(v))->HighPart, ((PLARGE_INTEGER)&(v))->LowPart
static const char *FspDebugLogDispositionString(UINT32 CreateOptions) static const char *FspDebugLogDispositionString(UINT32 CreateOptions)
{ {

View File

@ -23,9 +23,16 @@
#define fsp_fuse_opt_match_exact ((const char *)1) /* exact option match */ #define fsp_fuse_opt_match_exact ((const char *)1) /* exact option match */
#define fsp_fuse_opt_match_next ((const char *)2) /* option match, value is next arg */ #define fsp_fuse_opt_match_next ((const char *)2) /* option match, value is next arg */
static long long strtoint(const char *p, const char *endp, int base, int is_signed) #if 1
typedef long int strtoint_result_t;
#else
/* cannot use long long in 32-bit builds because we are missing symbol __allmul */
typedef long long int strtoint_result_t;
#endif
static strtoint_result_t strtoint(const char *p, const char *endp, int base, int is_signed)
{ {
long long v; strtoint_result_t v;
int maxdig, maxalp, sign = +1; int maxdig, maxalp, sign = +1;
if (is_signed) if (is_signed)

View File

@ -48,12 +48,12 @@ void *memset(void *dst, int val, size_t siz)
return dst; return dst;
} }
static inline PVOID MemAlloc(SIZE_T Size) static inline void *MemAlloc(size_t Size)
{ {
extern HANDLE ProcessHeap; extern HANDLE ProcessHeap;
return HeapAlloc(ProcessHeap, 0, Size); return HeapAlloc(ProcessHeap, 0, Size);
} }
static inline VOID MemFree(PVOID Pointer) static inline void MemFree(void *Pointer)
{ {
extern HANDLE ProcessHeap; extern HANDLE ProcessHeap;
if (0 != Pointer) if (0 != Pointer)

View File

@ -303,7 +303,7 @@ void fuse_opt_parse_test(void)
ASSERT(0 == strcmp("WwWw", data.w)); ASSERT(0 == strcmp("WwWw", data.w));
ASSERT(1 == data.x); ASSERT(1 == data.x);
ASSERT((long)040000000001 == data.y); ASSERT((long)040000000001 == data.y);
ASSERT((long long)0x100000001 == data.z); ASSERT(((long long)0x100000001 & 0xffffffff)== data.z);
ASSERT(+1234567890 == data.dec); ASSERT(+1234567890 == data.dec);
ASSERT(-1234567890 == data.neg); ASSERT(-1234567890 == data.neg);
ASSERT(0xABCDEF == data.hex); ASSERT(0xABCDEF == data.hex);
@ -316,7 +316,7 @@ void fuse_opt_parse_test(void)
ASSERT(1 == data.nonopt_keep); ASSERT(1 == data.nonopt_keep);
ASSERT(args.argc == sizeof outargv / sizeof outargv[0] - 1); ASSERT(args.argc == sizeof outargv / sizeof outargv[0] - 1);
for (size_t i = 0; args.argc > i; i++) for (int i = 0; args.argc > i; i++)
ASSERT(0 == strcmp(args.argv[i], outargv[i])); ASSERT(0 == strcmp(args.argv[i], outargv[i]));
ASSERT(0 == args.argv[args.argc]); ASSERT(0 == args.argv[args.argc]);
ASSERT(args.allocated); ASSERT(args.allocated);