summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabrice Popineau <fabrice.popineau@gmail.com>2012-11-30 17:14:22 +0200
committerEli Zaretskii <eliz@gnu.org>2012-11-30 17:14:22 +0200
commitc7b36b9550a66a033d42152741bf7e3f4927cb39 (patch)
treeb93dd8c7fc47ba31fd7f72facbcc6996336041f4
parent6247eff516ed92bf207867a32980cbba02854fa1 (diff)
downloademacs-c7b36b9550a66a033d42152741bf7e3f4927cb39.tar.gz
Fix compilation problems with 64-bit MSVC compiler.
src/w32fns.c: Remove prototype of atof. (syspage_mask): Declared DWORD_PTR, for compatibility with 64-bit builds. (file_dialog_callback): Declared UINT_PTR. src/w32common.h (syspage_mask): Declare DWORD_PTR, for compatibility with 64-bit builds. src/w32.c (FILE_DEVICE_FILE_SYSTEM, METHOD_BUFFERED) (FILE_ANY_ACCESS, CTL_CODE) [_MSC_VER]: Define only if not already defined.
-rw-r--r--src/ChangeLog14
-rw-r--r--src/w32.c8
-rw-r--r--src/w32common.h2
-rw-r--r--src/w32fns.c5
4 files changed, 25 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index a1d09e683c3..48776fcbdc7 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,17 @@
+2012-11-30 Fabrice Popineau <fabrice.popineau@gmail.com>
+
+ * w32fns.c: Remove prototype of atof.
+ (syspage_mask): Declared DWORD_PTR, for compatibility with 64-bit
+ builds.
+ (file_dialog_callback): Declared UINT_PTR.
+
+ * w32common.h (syspage_mask): Declare DWORD_PTR, for compatibility
+ with 64-bit builds.
+
+ * w32.c (FILE_DEVICE_FILE_SYSTEM, METHOD_BUFFERED)
+ (FILE_ANY_ACCESS, CTL_CODE) [_MSC_VER]: Define only if not already
+ defined.
+
2012-11-27 Glenn Morris <rgm@gnu.org>
* data.c (Fboundp, Fsymbol_value): Doc fix re lexical-binding.
diff --git a/src/w32.c b/src/w32.c
index 1c3331516d4..f5630993d43 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -150,10 +150,18 @@ typedef struct _REPARSE_DATA_BUFFER {
} DUMMYUNIONNAME;
} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
+#ifndef FILE_DEVICE_FILE_SYSTEM
#define FILE_DEVICE_FILE_SYSTEM 9
+#endif
+#ifndef METHOD_BUFFERED
#define METHOD_BUFFERED 0
+#endif
+#ifndef FILE_ANY_ACCESS
#define FILE_ANY_ACCESS 0x00000000
+#endif
+#ifndef CTL_CODE
#define CTL_CODE(t,f,m,a) (((t)<<16)|((a)<<14)|((f)<<2)|(m))
+#endif
#define FSCTL_GET_REPARSE_POINT \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS)
#endif
diff --git a/src/w32common.h b/src/w32common.h
index 50724e5553c..5e9b61824ae 100644
--- a/src/w32common.h
+++ b/src/w32common.h
@@ -34,7 +34,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
extern SYSTEM_INFO sysinfo_cache;
extern OSVERSIONINFO osinfo_cache;
-extern unsigned long syspage_mask;
+extern DWORD_PTR syspage_mask;
extern int w32_major_version;
extern int w32_minor_version;
diff --git a/src/w32fns.c b/src/w32fns.c
index d598d66b3a5..8e1ecc1cb00 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -80,7 +80,6 @@ void syms_of_w32fns (void);
void globals_of_w32fns (void);
extern void free_frame_menubar (struct frame *);
-extern double atof (const char *);
extern int w32_console_toggle_lock_key (int, Lisp_Object);
extern void w32_menu_display_help (HWND, HMENU, UINT, UINT);
extern void w32_free_menu_strings (HWND);
@@ -221,7 +220,7 @@ SYSTEM_INFO sysinfo_cache;
/* This gives us version, build, and platform identification. */
OSVERSIONINFO osinfo_cache;
-unsigned long syspage_mask = 0;
+DWORD_PTR syspage_mask = 0;
/* The major and minor versions of NT. */
int w32_major_version;
@@ -6019,7 +6018,7 @@ typedef char guichar_t;
read-only when "Directories" is selected in the filter. This
allows us to work around the fact that the standard Open File
dialog does not support directories. */
-static UINT CALLBACK
+static UINT_PTR CALLBACK
file_dialog_callback (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
if (msg == WM_NOTIFY)