VA_DECL/VA_END usage

Make the variadic functions look more like ordinary code rather than
have the function opening brace be hidden inside the VA_DECL() macro.
That brace is still there, but VA_DECL() now needs to be followed by
a visible brace (which introduces a nested block rather than the
start of the funciton).  VA_END() now provides a hidden closing brace
to end the nested block, and the existing closing brace still matches
the one in VA_DECL().

Sample usage:
void foo VA_DECL(int, arg)  --macro expansion has a hidden opening brace
{  --new, explicit opening brace (actually introduces a nested block)
  VA_START(bar);
  ...code for foo...
  VA_END();  --expansion now provides a closing brace for the nested block
}  --existing closing brace, still pairs with the hidden one in VA_DECL()

This should help if/when another round of reformatting ever takes place,
and also with editors or other tools that do brace/bracket/parenthesis
matching.

I had forgotten that there were variadic functions in sys/* and ended
up modifying a lot more files than intended.  The majority of changes
to those just inserted a new '{' line so that revised VA_END()'s '}'
won't introduce a syntax error.  A couple of them needed VA_END() moved
so that local variables wouldn't go out of scope too soon.  Only the
Unix ones have been tested.
This commit is contained in:
PatR
2015-05-15 17:45:21 -07:00
parent dd62a6831f
commit fabf9cd901
16 changed files with 8339 additions and 42 deletions

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 winhack.c $NHDT-Date: 1431192786 2015/05/09 17:33:06 $ $NHDT-Branch: master $:$NHDT-Revision: 1.16 $ */
/* NetHack 3.6 winhack.c $NHDT-Date: 1431737065 2015/05/16 00:44:25 $ $NHDT-Branch: master $:$NHDT-Revision: 1.17 $ */
/* NetHack 3.6 winhack.c $Date: 2009/10/22 02:59:35 $ $Revision: 1.11 $ */
/* Copyright (C) 2001 by Alex Kompel */
// winhack.cpp : Defines the entry point for the application.
@@ -240,6 +240,7 @@ gotlock:
/* misc functions */
void error
VA_DECL(const char *, s)
{
TCHAR wbuf[1024];
char buf[1024];
DWORD last_error = GetLastError();
@@ -269,10 +270,8 @@ VA_DECL(const char *, s)
LocalFree(lpMsgBuf);
}
}
VA_END();
MessageBox(NULL, wbuf, TEXT("Error"), MB_OK | MB_ICONERROR);
VA_END();
exit(EXIT_FAILURE);
}