(svn r4470) -Fix: FS#97 ? Possible bug in Win64 versions (by michi_cc)
authorKUDr
Tue, 18 Apr 2006 18:02:52 +0000
changeset 3584 005b6170f15c
parent 3583 453676c741e0
child 3585 18a23b37e99a
(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.
saveload.c
settings.h
stdafx.h
--- a/saveload.c	Tue Apr 18 17:44:24 2006 +0000
+++ b/saveload.c	Tue Apr 18 18:02:52 2006 +0000
@@ -722,7 +722,7 @@
 	}
 
 	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);
 	}
 }
--- a/settings.h	Tue Apr 18 17:44:24 2006 +0000
+++ b/settings.h	Tue Apr 18 18:02:52 2006 +0000
@@ -71,7 +71,7 @@
  * 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);
--- a/stdafx.h	Tue Apr 18 17:44:24 2006 +0000
+++ b/stdafx.h	Tue Apr 18 18:02:52 2006 +0000
@@ -3,6 +3,7 @@
 #ifndef STDAFX_H
 #define STDAFX_H
 
+#include <stddef.h>
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>