Index: src/backend/utils/misc/guc.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v
retrieving revision 1.339
retrieving revision 1.340
diff -c -r1.339 -r1.340
*** src/backend/utils/misc/guc.c	13 Aug 2006 02:22:24 -0000	1.339
--- src/backend/utils/misc/guc.c	13 Aug 2006 15:37:02 -0000	1.340
***************
*** 10,16 ****
   * Written by Peter Eisentraut <peter_e@gmx.net>.
   *
   * IDENTIFICATION
!  *	  $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.339 2006/08/13 02:22:24 momjian Exp $
   *
   *--------------------------------------------------------------------
   */
--- 10,16 ----
   * Written by Peter Eisentraut <peter_e@gmx.net>.
   *
   * IDENTIFICATION
!  *	  $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.340 2006/08/13 15:37:02 momjian Exp $
   *
   *--------------------------------------------------------------------
   */
***************
*** 4082,4090 ****
  	if (parse_value(elevel, record, value, &source, false, NULL))
  	{
  		/*
! 		 * Mark record like presented in the config file. Be carefull if
  		 * you use this function for another purpose than config file 
! 		 * verification. It causes confusion configfile parser.
  		 */
  		record->status |= GUC_IN_CONFFILE;
  
--- 4082,4090 ----
  	if (parse_value(elevel, record, value, &source, false, NULL))
  	{
  		/*
! 		 * Mark record as present in the config file. Be carefull if
  		 * you use this function for another purpose than config file 
! 		 * verification. It causes confusion in the config file parser.
  		 */
  		record->status |= GUC_IN_CONFFILE;
  
***************
*** 5512,5518 ****
  		{
  			struct config_string *conf = (struct config_string *) record;
  
! 			return strcmp(*conf->variable, newvalue) == 0;
  		}
  	}
  
--- 5512,5521 ----
  		{
  			struct config_string *conf = (struct config_string *) record;
  
! 			if (!*conf->variable)	/* custom variable with no value yet */
! 				return false;
! 			else
! 				return strcmp(*conf->variable, newvalue) == 0;
  		}
  	}
  
