Copyright Digital Equipment Corp. All rights reserved.

Description

   The vsnprintf function is the same as the snprintf function, but
   instead of being called with a variable number of arguments, it
   is called with an argument list that has been initialized by va_
   start (and possibly with subsequent va_arg calls).

   This function does not invoke the va_end macro. Because the
   function invokes the va_arg macro, the value of ap after the
   return is unspecified.

   Applications using vsnprintf should call va_end(ap) afterwards to
   clean up.