From 82ef37c1405ff5ed16a6506d006ae3340c69e607 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 30 Sep 2012 18:43:28 -0700 Subject: [PATCH] * frame.c (x_report_frame_params): Port better to wider ints. Do not assume that EMACS_UINT is the same width as uprintmax_t, or that pointers can be printed in 15 decimal digits. Avoid GCC warnings if EMACS_UINT is wider than a pointer. --- src/ChangeLog | 7 +++++++ src/frame.c | 8 ++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 96f6eb07cd..9704c6d446 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2012-10-01 Paul Eggert + + * frame.c (x_report_frame_params): Port better to wider ints. + Do not assume that EMACS_UINT is the same width as uprintmax_t, + or that pointers can be printed in 15 decimal digits. + Avoid GCC warnings if EMACS_UINT is wider than a pointer. + 2012-09-30 Fabrice Popineau Support x64 build on MS-Windows. diff --git a/src/frame.c b/src/frame.c index 33bbe0ad70..0a12774098 100644 --- a/src/frame.c +++ b/src/frame.c @@ -3028,9 +3028,9 @@ x_set_frame_parameters (FRAME_PTR f, Lisp_Object alist) void x_report_frame_params (struct frame *f, Lisp_Object *alistptr) { - char buf[16]; Lisp_Object tem; - EMACS_UINT w; + uprintmax_t w; + char buf[INT_BUFSIZE_BOUND (w)]; /* Represent negative positions (off the top or left screen edge) in a way that Fmodify_frame_parameters will understand correctly. */ @@ -3067,7 +3067,7 @@ x_report_frame_params (struct frame *f, Lisp_Object *alistptr) MS-Windows it returns a value whose type is HANDLE, which is actually a pointer. Explicit casting avoids compiler warnings. */ - w = (EMACS_UINT) FRAME_X_WINDOW (f); + w = (uintptr_t) FRAME_X_WINDOW (f); store_in_alist (alistptr, Qwindow_id, make_formatted_string (buf, "%"pMu, w)); #ifdef HAVE_X_WINDOWS @@ -3075,7 +3075,7 @@ x_report_frame_params (struct frame *f, Lisp_Object *alistptr) /* Tooltip frame may not have this widget. */ if (FRAME_X_OUTPUT (f)->widget) #endif - w = (EMACS_UINT) FRAME_OUTER_WINDOW (f); + w = (uintptr_t) FRAME_OUTER_WINDOW (f); store_in_alist (alistptr, Qouter_window_id, make_formatted_string (buf, "%"pMu, w)); #endif -- 2.20.1