title: _vsnwprintf_s not working as desired
body: <p>Writing a module to convert the unnamed argument list to string
  output is not as desired.</p>
  
  <pre><code>void FormatOutput(wchar_t* formatstring, ...)
  {
      wchar_t buffer[1024];
      memset(buffer, 0, sizeof(buffer));
      size_t size = lstrlenW(formatstring);
      va_list args;
      va_start(args, formatstring);
      size = _vsnwprintf_s(buffer, _countof(buffer), _TRUNCATE, formatstring, args);
      buffer[size] = L'\0';
      if (size &lt; 0)
          __debugbreak();
      printf("size: %d, buff: %ls\n", size, buffer);
  }
  </code></pre>
  
  <p>Invoking the module as below</p>
  
  <pre><code>FormatOutput(L"%s %d %d %f %c", "34", 23,34,10.23,'c');
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>size: 19, buff :
  </code></pre>
  
  <p>What is missing in the implementation ?</p>