- Fixed a problem reported by Derek where stack trashing
was happening once an EOF was reached. This was actually
only one example of a class of problems; any time __svfscanf
returned before filling all the requested arguments, va_arg
was left uncalled for some set of arguments. This has been
fixed by adding a "stack cleanup" section to the code where
va_arg is called once for each remaining argument.
- The __svfscanf routine still had large arrays on the stack.
These have been changed to static storage class. There is
currently an assert in place to assure that recursion isn't
happening since I didn't have the chance yet to verify in
detail the control flow here. This assert (and the related
use of the "recursing" variable) can be removed after such
a verification.
- specify files via SRCS vice OBJS. This eliminates an extraneous
".o" in the final OBJS value.
- don't attempt to attach a rez fork (leave it for the upper
level makefile)
and INCLUDE_GNO_ALT. The directories specified in 13/orcacdefs/defaults.h
are now assumed to be correct. When building lib/libc/stdio/vfprintf.o,
these directories have to explicitly stated the makefile for the moment.
- Use macros for -I flag values rather than explicit directories
- Use a text diversion rather than explicit shell redirection.
This avoids a gsh hang on some systems.