55 * command, configuration file, and command line options.
66 * See src/backend/utils/misc/README for more information.
77 *
8- * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.112 2003/01/27 23:55:38 momjian Exp $
8+ * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.113 2003/01/28 18:04:02 tgl Exp $
99 *
1010 * Copyright 2000 by PostgreSQL Global Development Group
1111 * Written by Peter Eisentraut <peter_e@gmx.net>.
@@ -2834,6 +2834,7 @@ ProcessGUCArray(ArrayType *array, GucSource source)
28342834ArrayType *
28352835GUCArrayAdd (ArrayType * array ,const char * name ,const char * value )
28362836{
2837+ const char * varname ;
28372838Datum datum ;
28382839char * newval ;
28392840ArrayType * a ;
@@ -2846,6 +2847,10 @@ GUCArrayAdd(ArrayType *array, const char *name, const char *value)
28462847superuser () ?PGC_SUSET :PGC_USERSET ,
28472848PGC_S_SESSION , false, false);
28482849
2850+ /* convert name to canonical spelling, so we can use plain strcmp */
2851+ (void )GetConfigOptionByName (name ,& varname );
2852+ name = varname ;
2853+
28492854newval = palloc (strlen (name )+ 1 + strlen (value )+ 1 );
28502855sprintf (newval ,"%s=%s" ,name ,value );
28512856datum = DirectFunctionCall1 (textin ,CStringGetDatum (newval ));
@@ -2909,6 +2914,7 @@ GUCArrayAdd(ArrayType *array, const char *name, const char *value)
29092914ArrayType *
29102915GUCArrayDelete (ArrayType * array ,const char * name )
29112916{
2917+ const char * varname ;
29122918ArrayType * newarray ;
29132919int i ;
29142920int index ;
@@ -2920,6 +2926,10 @@ GUCArrayDelete(ArrayType *array, const char *name)
29202926superuser () ?PGC_SUSET :PGC_USERSET ,
29212927PGC_S_SESSION , false, false);
29222928
2929+ /* convert name to canonical spelling, so we can use plain strcmp */
2930+ (void )GetConfigOptionByName (name ,& varname );
2931+ name = varname ;
2932+
29232933/* if array is currently null, then surely nothing to delete */
29242934if (!array )
29252935return NULL ;