git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 03/14] Define SNPRINTF_SIZE_CORR=1 for Microsoft Visual C++

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 21, 2009, 22:11 UTC
Message-ID
<7vfxbkbyvw.fsf@alter.siamese.dyndns.org>
In-Reply-To
<200908212341.37531.j6t@kdbg.org>
Johannes Sixt <j6t@kdbg.org> writes:
> Not quite. The parameter *is* the size of the buffer and vsnprintf does not 
> write beyond the buffer. However, it has the awkward behavior that if the 
> buffer is too short by exactly one byte...
Thanks; I was fooled by the leading comment.  How about ...
 compat/snprintf.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/compat/snprintf.c b/compat/snprintf.c
index 6c0fb05..4d07087 100644
--- a/compat/snprintf.c
+++ b/compat/snprintf.c
@@ -3,7 +3,8 @@
 /*
  * The size parameter specifies the available space, i.e. includes
  * the trailing NUL byte; but Windows's vsnprintf expects the
- * number of characters to write without the trailing NUL.
+ * number of characters to write, and does not necessarily write the
+ * trailing NUL.
  */
 #ifndef SNPRINTF_SIZE_CORR
 #if defined(__MINGW32__) && defined(__GNUC__) && __GNUC__ < 4
Previous: Johannes SixtNext: Marius Storm-Olsen
Message 39 of 49 in “Build git with MSVC”
  1. 00/14 Build git with MSVCMarius Storm-Olsen, Aug 21, 2009
  2. 01/14 Fix non-constant array creationMarius Storm-Olsen, Aug 21, 2009
  3. 02/14 Avoid declaration after statementMarius Storm-Olsen, Aug 21, 2009
  4. 03/14 Define SNPRINTF_SIZE_CORR=1 for Microsoft Visual C++Marius Storm-Olsen, Aug 21, 2009
  5. 04/14 Add define guards to compat/win32.hMarius Storm-Olsen, Aug 21, 2009
  6. 05/14 Change regerror() declaration from K&R style to ANSI C (C89)Marius Storm-Olsen, Aug 21, 2009
  7. 06/14 mingw.c: Use the O_BINARY flag to open filesMarius Storm-Olsen, Aug 21, 2009
  8. 07/14 Fix __stdcall/WINAPI placement and function prototypeMarius Storm-Olsen, Aug 21, 2009
  9. 08/14 Test for WIN32 instead of __MINGW32_Marius Storm-Olsen, Aug 21, 2009
  10. 09/14 Avoid including windows.h in winansi.c for MSVC buildMarius Storm-Olsen, Aug 21, 2009
  11. 10/14 Add empty header files for MSVC portMarius Storm-Olsen, Aug 21, 2009
  12. 11/14 Add MinGW header files to build git with MSVCMarius Storm-Olsen, Aug 21, 2009
  13. 12/14 Add platform files for MSVC portingMarius Storm-Olsen, Aug 21, 2009
  14. 13/14 Add MSVC project filesMarius Storm-Olsen, Aug 21, 2009
  15. 14/14 Add README and gitignore file for MSVC buildMarius Storm-Olsen, Aug 21, 2009
  16. Thiago FarinaAug 23, 2009
  17. Reece DunnAug 23, 2009
  18. Marius Storm-OlsenAug 23, 2009
  19. Thiago FarinaAug 23, 2009
  20. Marius Storm-OlsenAug 24, 2009
  21. Frank LiAug 25, 2009
  22. Thiago FarinaAug 25, 2009
  23. Frank LiAug 27, 2009
  24. Thiago FarinaAug 27, 2009
  25. Erik Faye-LundSep 7, 2009
  26. Junio C HamanoAug 21, 2009
  27. Reece DunnAug 21, 2009
  28. Marius Storm-OlsenAug 22, 2009
  29. Paolo BonziniAug 28, 2009
  30. Johannes SixtAug 21, 2009
  31. Marius Storm-OlsenAug 21, 2009
  32. Frank LiAug 21, 2009
  33. 05/14 Change regerror() definition from K&R style to ANSI C (C89)Marius Storm-Olsen, Aug 21, 2009
  34. Frank LiAug 22, 2009
  35. Erik Faye-LundAug 24, 2009
  36. Junio C HamanoAug 21, 2009
  37. Johan 't HartAug 21, 2009
  38. Johannes SixtAug 21, 2009
  39. Junio C HamanoAug 21, 2009
  40. Marius Storm-OlsenAug 22, 2009
  41. Marius Storm-OlsenAug 22, 2009
  42. Erik Faye-LundAug 21, 2009
  43. Marius Storm-OlsenAug 21, 2009
  44. Janos LaubeAug 21, 2009
  45. Marius Storm-OlsenAug 21, 2009
  46. Johan 't HartAug 21, 2009
  47. Erik Faye-LundAug 22, 2009
  48. Junio C HamanoAug 21, 2009
  49. Junio C HamanoAug 21, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.