sprintf:
	This routine must exist on your system and must return
	the number of bytes of formatted output (excluding the
	terminating NUL character).

vsprintf:
	If this routine does not exist on your system or does
	not return the number of bytes of formatted output,
	then your "_printf" expression function will be incomplete.
	It will handle most "simple" format specs, but die
	miserably if you do things like putting argument specifiers
	into your format specification.  (e.g., "%2$s" says to
	take use the second argument as a char* address for this
	format.)  This also assumes all arguments consume
	sizeof(char*) bytes of stack space.  It is recommended that
	you find some way to install a proper "vsprintf()" routine
	in your libc library.  Good luck.


This is an analysis of every remaining allocation
at the end of a large run:

 
    Residual allocation list

String duplications from somewhere:

      32 bytes from autogen.c at 243
      32 bytes from autogen.c at 243
      64 bytes from autogen.c at 243

Somebody did not release the result of running a shell command:

      18 bytes from agShell.c at 347


Argument stack lists:

      32 bytes from stack.c at 134
      32 bytes from stack.c at 134

Definitions file:

   18076 bytes from agGetDef.c at 331

Template data:

    2485 bytes from agTempl.c at 469

Definition entry structures.
Each page is filled with tiny structs:

    4068 bytes from agReduce.c at 59
    4068 bytes from agReduce.c at 59
    4068 bytes from agReduce.c at 59
    4068 bytes from agReduce.c at 59
    4068 bytes from agReduce.c at 59

SETENV calls:

      27 bytes from agFunc.c at 542
      18 bytes from agFunc.c at 542
