[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: What's the purpose of these parentheses in the #define's?
- From: Niccolo Medici <niccolomedici@...>
- Date: Sun, 25 Jan 2015 19:33:25 +0200
lauxlib.h has:
#define luaL_optstring(L,n,d) (luaL_optlstring(L, (n), (d), NULL))
#define luaL_typename(L,i) lua_typename(L, lua_type(L,(i)))
Why are there "(n)" / "(d)" / "(i)" instead of "n" / "d" / "i"? There
are commas around these letters so there shouldn't be a potential
precedence problem there, or am I wrong?
There are #define's there without parentheses:
#define luaL_loadbuffer(L,s,sz,n) luaL_loadbufferx(L,s,sz,n,NULL)
(Why am I asking this? Because I'll have to duplicate some of these
macros in my own code ('cos these macros aren't always present: not if
the various COMPAT macros aren't enabled), and I don't want them to
have a different style than my current code.)