Taylor Blau <me@xxxxxxxxxxxx> writes: >> + struct config_parse_options opts = CP_OPTS_INIT(CONFIG_ERROR_ERROR); > > I'm nit-picking, but I find this parameterized initializer macro to be a > little unusual w.r.t our usual conventions. > > In terms of "usual conventions," I'm thinking about STRING_LIST_INIT_DUP > versus STRING_LIST_INIT_NODUP (as opposed to something like > STRING_LIST_INIT(DUP) or STRING_LIST_INIT(NODUP)). FWIW, I have always felt that the way STRING_LIST_INIT* was done was quite ugly. The new pattern does look superiour, as long as (1) it does not involve voodoo like token pasting, and (2) the parameters passed does not grow. The latter is especially important as there is no equivalent to designated initializers in C preprocessor macros. Thanks.