cygwin_intenral va_arg bugs
Igor Pechtchanski
pechtcha@cs.nyu.edu
Thu Nov 21 20:45:00 GMT 2002
Hi,
This patch fixes two bugs in va_arg handling in cygwin_internal.
Igor
ChangeLog:
2002-11-21 Igor Pechtchanski <pechtcha@cs.nyu.edu>
* external.cc: (cygwin_internal) Fix va_arg references.
--
http://cs.nyu.edu/~pechtcha/
|\ _,,,---,,_ pechtcha@cs.nyu.edu
ZZZzz /,`.-'`' -. ;-;;,_ igor@watson.ibm.com
|,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
"Water molecules expand as they grow warmer" (C) Popular Science, Oct'02, p.51
-------------- next part --------------
Index: winsup/cygwin/external.cc
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/external.cc,v
retrieving revision 1.45
diff -u -p -r1.45 external.cc
--- winsup/cygwin/external.cc 30 Oct 2002 21:05:17 -0000 1.45
+++ winsup/cygwin/external.cc 22 Nov 2002 04:29:57 -0000
@@ -182,7 +182,7 @@ cygwin_internal (cygwin_getinfo_types t,
return (DWORD) fillout_pinfo (va_arg (arg, pid_t), 1);
case CW_INIT_EXCEPTIONS:
- init_exceptions ((exception_list *) arg);
+ init_exceptions (va_arg (arg, exception_list *));
return 0;
case CW_GET_CYGDRIVE_INFO:
@@ -196,16 +196,15 @@ cygwin_internal (cygwin_getinfo_types t,
case CW_SET_CYGWIN_REGISTRY_NAME:
{
-# define cr ((char *) arg)
+ const char *cr = va_arg (arg, char *);
if (check_null_empty_str_errno (cr))
return (DWORD) NULL;
cygheap->cygwin_regname = (char *) crealloc (cygheap->cygwin_regname,
strlen (cr) + 1);
strcpy (cygheap->cygwin_regname, cr);
+ }
case CW_GET_CYGWIN_REGISTRY_NAME:
return (DWORD) cygheap->cygwin_regname;
-# undef cr
- }
case CW_STRACE_TOGGLE:
{
More information about the Cygwin-patches
mailing list