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) + {