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

Re: [msysGit] [PATCH 07/17] Fix __stdcall/WINAPI placement and function prototype

From
Marius Storm-Olsen <mstormo@gmail.com>
Date
Sep 15, 2009, 05:59 UTC
Message-ID
<4AAF2D3E.3030706@gmail.com>
In-Reply-To
<alpine.DEB.1.00.0909150224010.8306@pacific.mpi-cbg.de>
Johannes Schindelin said the following on 15.09.2009 02:24:
Show 20 quoted lines
> Hi,
> 
> On Mon, 14 Sep 2009, Johannes Sixt wrote:
> 
>> On Montag, 14. September 2009, Marius Storm-Olsen wrote:
>>> WINAPI is a macro which translates into the proper calling convention, so
>>> replace __stdcall with that.
>> I've already pointed out elsewhere that the documentation of 
>> _beginthreadex explicitly says that the calling convention of the 
>> function pointer must be __stdcall. It does not mention WINAPI. 
>> Therefore, I think that these two changes are not correct:
>>
>>> -static __stdcall unsigned ticktack(void *dummy)
>>> +static unsigned WINAPI ticktack(void *dummy)
>>> -static __stdcall unsigned run_thread(void *data)
>>> +static unsigned WINAPI run_thread(void *data)
>> You should s/WINAPI/__stdcall/.
> 
> I don't think that comments by our most proficient MSys guy should be 
> disregarded as thee comments were.

I also pointed out that WINAPI is just a define for __stdcall (since _MSC_VER >= 800; VC 6.0 being _MSC_VER == 1200 and VC 2008 being _MSC_VER == 1500), and that's probably never going to change now. So, the change is not as bad as Hannes portrays it to be, and makes things less convoluted by using the same convention all over.

However, I'll cave for the pressure, and reroll the commit :)

-- .marius

Previous: Johannes SchindelinNext: Alexey Borzenkov
Message 28 of 35 in “Build Git with MSVC”
  1. 00/17 Build Git with MSVCMarius Storm-Olsen, Sep 14, 2009
  2. 01/17 Avoid declaration after statementMarius Storm-Olsen, Sep 14, 2009
  3. 02/17 boolean is a typedef under MSVC, so rename variable to 'i_boolean'Marius Storm-Olsen, Sep 14, 2009
  4. 03/17 Define SNPRINTF_SIZE_CORR=1 for Microsoft Visual C++Marius Storm-Olsen, Sep 14, 2009
  5. 04/17 Add define guards to compat/win32.hMarius Storm-Olsen, Sep 14, 2009
  6. 05/17 Change regerror() declaration from K&R style to ANSI C (C89)Marius Storm-Olsen, Sep 14, 2009
  7. 06/17 mingw.c: Use the O_BINARY flag to open filesMarius Storm-Olsen, Sep 14, 2009
  8. 07/17 Fix __stdcall/WINAPI placement and function prototypeMarius Storm-Olsen, Sep 14, 2009
  9. 08/17 Test for WIN32 instead of __MINGW32_Marius Storm-Olsen, Sep 14, 2009
  10. 09/17 Add empty header files for MSVC portMarius Storm-Olsen, Sep 14, 2009
  11. 10/17 Add MinGW header files to build git with MSVCMarius Storm-Olsen, Sep 14, 2009
  12. 11/17 Add platform files for MSVC portingMarius Storm-Olsen, Sep 14, 2009
  13. 12/17 Make usage of windows.h lean and meanMarius Storm-Olsen, Sep 14, 2009
  14. 13/17 Define strncasecmp as _strnicmp for MSVCMarius Storm-Olsen, Sep 14, 2009
  15. 14/17 Add ftruncate implementation for MSVCMarius Storm-Olsen, Sep 14, 2009
  16. 15/17 Add MSVC to MakefileMarius Storm-Olsen, Sep 14, 2009
  17. 16/17 Add README for MSVC buildMarius Storm-Olsen, Sep 14, 2009
  18. 17/17 Add scripts to generate projects for other buildsystems (MSVC vcproj, QMake)Marius Storm-Olsen, Sep 14, 2009
  19. Alex RiesenSep 14, 2009
  20. Marius Storm-OlsenSep 14, 2009
  21. Alex RiesenSep 14, 2009
  22. Marius Storm-OlsenSep 14, 2009
  23. Junio C HamanoSep 14, 2009
  24. Junio C HamanoSep 14, 2009
  25. Marius Storm-OlsenSep 14, 2009
  26. Johannes SixtSep 14, 2009
  27. Johannes SchindelinSep 15, 2009
  28. Marius Storm-OlsenSep 15, 2009
  29. Alexey BorzenkovSep 14, 2009
  30. Marius Storm-OlsenSep 14, 2009
  31. Alex RiesenSep 14, 2009
  32. Marius Storm-OlsenSep 14, 2009
  33. Frank LiSep 14, 2009
  34. Alex RiesenSep 14, 2009
  35. Marius Storm-OlsenSep 14, 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.