You can avoid duplicating the ereport like this:

+               ereport(ERROR,
+                               (errcode(ERRCODE_SYNTAX_ERROR),
+                                errmsg("option \"%s\" specified more than 
once", defel->defname),
+                                parser ? parser_errposition(pstate, 
defel->location) : 0));

... also, since e3a87b4991cc you can now elide the parens around the
auxiliary function calls:

+        ereport(ERROR,
+                errcode(ERRCODE_SYNTAX_ERROR),
+                errmsg("option \"%s\" specified more than once", 
defel->defname),
+                parser ? parser_errposition(pstate, defel->location) : 0));

Please do add a pg_attribute_noreturn() decorator.  I'm not sure if any
compilers will complain about the code flow if you have that, but I
expect many (all?) will if you don't.

-- 
Álvaro Herrera       Valdivia, Chile
"Java is clearly an example of money oriented programming"  (A. Stepanov)


Reply via email to