diff options
author | KUDr <kudr@openttd.org> | 2006-04-18 18:02:52 +0000 |
---|---|---|
committer | KUDr <kudr@openttd.org> | 2006-04-18 18:02:52 +0000 |
commit | 24ef4ce560cc3e0b4e45fe15fae839ce8071bec9 (patch) | |
tree | 11ec2ba419bfc726e345b9fe99669a6dbf5d18ba | |
parent | 537e4dba9c50fb95fc2c91162b2d22bb02fd618a (diff) | |
download | openttd-24ef4ce560cc3e0b4e45fe15fae839ce8071bec9.tar.xz |
(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.
-rw-r--r-- | saveload.c | 2 | ||||
-rw-r--r-- | settings.h | 2 | ||||
-rw-r--r-- | stdafx.h | 1 |
3 files changed, 3 insertions, 2 deletions
diff --git a/saveload.c b/saveload.c index 39e3d2591..4a5470cb9 100644 --- a/saveload.c +++ b/saveload.c @@ -722,7 +722,7 @@ void SlObject(void *object, const SaveLoad *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); } } diff --git a/settings.h b/settings.h index 1c95601da..d8d83c6e2 100644 --- a/settings.h +++ b/settings.h @@ -71,7 +71,7 @@ typedef enum { * to add this to the address of the 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); @@ -3,6 +3,7 @@ #ifndef STDAFX_H #define STDAFX_H +#include <stddef.h> #include <stdio.h> #include <string.h> #include <stdlib.h> |