(svn r4470) -Fix: FS#97 — Possible bug in Win64 versions (by michi_cc)

Doesn't fix any known bug, but the code is now bit cleaner. The proper result of subtraction of two pointers is ptrdiff_t.
replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
KUDr 18 years ago
parent 537e4dba9c
commit 24ef4ce560

@ -722,7 +722,7 @@ void SlObject(void *object, const SaveLoad *sld)
} }
for (; sld->cmd != SL_END; sld++) { for (; sld->cmd != SL_END; sld++) {
void *ptr = (byte*)object + (unsigned long)sld->address; void *ptr = (byte*)object + (ptrdiff_t)sld->address;
SlObjectMember(ptr, sld); SlObjectMember(ptr, sld);
} }
} }

@ -71,7 +71,7 @@ typedef enum {
* to add this to the address of the object */ * to add this to the address of the object */
static inline void *ini_get_variable(const SaveLoad *sld, const void *object) static inline void *ini_get_variable(const SaveLoad *sld, const void *object)
{ {
return (object == NULL) ? sld->address : (byte*)object + (unsigned long)sld->address; return (object == NULL) ? sld->address : (byte*)object + (ptrdiff_t)sld->address;
} }
void IConsoleSetPatchSetting(const char *name, const char *value); void IConsoleSetPatchSetting(const char *name, const char *value);

@ -3,6 +3,7 @@
#ifndef STDAFX_H #ifndef STDAFX_H
#define STDAFX_H #define STDAFX_H
#include <stddef.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>

Loading…
Cancel
Save