From 885d1d74a769b8d97ecb0b67fecdc810aaad9b93 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 24 Jun 2012 16:14:39 -0700 Subject: [PATCH] * xterm.c (x_term_init): Build proper-sized _XSETTINGS_Snnn string instead of truncating it to 63 (admittedly a generous limit). --- src/ChangeLog | 3 +++ src/xterm.c | 8 +++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 66ca8a3940f..7878a4d6f68 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,8 @@ 2012-06-24 Paul Eggert + * xterm.c (x_term_init): Build proper-sized _XSETTINGS_Snnn string + instead of truncating it to 63 (admittedly a generous limit). + * process.c: Fix spelling and caps in comments. 2012-06-24 Dan Nicolaescu diff --git a/src/xterm.c b/src/xterm.c index 9587a47f9bb..f398e4dbb20 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -10375,14 +10375,16 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name) const int total_atom_count = 1 + atom_count; Atom *atoms_return = xmalloc (sizeof (Atom) * total_atom_count); char **atom_names = xmalloc (sizeof (char *) * total_atom_count); - char xsettings_atom_name[64]; + static char const xsettings_fmt[] = "_XSETTINGS_S%d"; + char xsettings_atom_name[sizeof xsettings_fmt - 2 + + INT_STRLEN_BOUND (int)]; for (i = 0; i < atom_count; i++) atom_names[i] = (char *) atom_refs[i].name; /* Build _XSETTINGS_SN atom name */ - snprintf (xsettings_atom_name, sizeof (xsettings_atom_name), - "_XSETTINGS_S%d", XScreenNumberOfScreen (dpyinfo->screen)); + sprintf (xsettings_atom_name, xsettings_fmt, + XScreenNumberOfScreen (dpyinfo->screen)); atom_names[i] = xsettings_atom_name; XInternAtoms (dpyinfo->display, atom_names, total_atom_count, -- 2.39.2