From 14894c76f7cc341d4af37e48cff52ef8907e53a9 Mon Sep 17 00:00:00 2001 From: Rene Rebe Date: Fri, 14 Nov 2003 22:08:36 +0000 Subject: [PATCH] fixed screen's va_list useage (again - only visible on non-x86 system) git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@1766 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc --- Documentation/Developers/CHANGELOG-RENE | 1 + package/base/screen/correct_va_list.patch | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Documentation/Developers/CHANGELOG-RENE b/Documentation/Developers/CHANGELOG-RENE index 0487c7e62..f5b8d22cf 100644 --- a/Documentation/Developers/CHANGELOG-RENE +++ b/Documentation/Developers/CHANGELOG-RENE @@ -7,6 +7,7 @@ and python (2.3.2) - thanks to the security notification from Stefan Koerner - Michael Obster: updated popt (1.7) + - fixed screen's va_list useage (again - only visible on non-x86 system) *) 2003-11-13 (2.0.0-rc2 - 2.0.0-rc3) diff --git a/package/base/screen/correct_va_list.patch b/package/base/screen/correct_va_list.patch index 3108d0496..96c1f5f02 100644 --- a/package/base/screen/correct_va_list.patch +++ b/package/base/screen/correct_va_list.patch @@ -20,7 +20,6 @@ # # --- ROCK-COPYRIGHT-NOTE-END --- - On some architectures that either store the variable args as an array of pointers (of length 1) or they are passed in registers (see man va_arg) the macro va_copy is needed .... @@ -57,3 +56,22 @@ the macro va_copy is needed .... VA_END(ap); if (err) { +--- ./screen.c 2003-11-14 19:51:27.000000000 +0100 ++++ ./screen.c 2003-11-14 19:49:16.000000000 +0100 +@@ -1890,12 +1890,15 @@ + #endif + { + VA_LIST(ap) ++ VA_LIST(aq) + char buf[MAXPATHLEN*2]; + char *p = buf; + + VA_START(ap, fmt); + fmt = DoNLS(fmt); +- (void)vsnprintf(p, sizeof(buf) - 100, fmt, VA_ARGS(ap)); ++ va_copy (aq, ap); ++ (void)vsnprintf(p, sizeof(buf) - 100, fmt, aq); ++ VA_END(aq); + VA_END(ap); + if (err) + {