Clean up assorted issues in ALTER SYSTEM coding.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 138a5c4a909dc96c0f3a95123639ee7e014c7f38
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2015-01-26T01:19:07Z
Releases: 9.4.1
Clean up assorted issues in ALTER SYSTEM coding.

Fix unsafe use of a non-volatile variable in PG_TRY/PG_CATCH in
AlterSystemSetConfigFile().  While at it, clean up a bundle of other
infelicities and outright bugs, including corner-case-incorrect linked list
manipulation, a poorly designed and worse documented parse-and-validate
function (which even included some randomly chosen hard-wired substitutes
for the specified elevel in one code path ... wtf?), direct use of open()
instead of fd.c's facilities, inadequate checking of write()'s return
value, and generally poorly written commentary.

Files

PathChange+/−
src/backend/utils/misc/guc.c modified +298 −320
src/backend/utils/misc/guc-file.l modified +51 −87