Thread: Fix for compiler warning in reloptions.c

Fix for compiler warning in reloptions.c

From
Bruce Momjian
Date:
The attached applied patch prevents a compiler warning;  the compiler
doesn't know about our elog(ERROR) exit case.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +
Index: src/backend/access/common/reloptions.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/access/common/reloptions.c,v
retrieving revision 1.13
diff -c -c -r1.13 reloptions.c
*** src/backend/access/common/reloptions.c    5 Jan 2009 17:14:28 -0000    1.13
--- src/backend/access/common/reloptions.c    6 Jan 2009 02:35:32 -0000
***************
*** 667,673 ****
  {
      char       *value;
      int            value_len;
!     bool        parsed;
      bool        nofree = false;

      if (option->isset && validate)
--- 667,673 ----
  {
      char       *value;
      int            value_len;
!     bool        parsed = true;  /* quiet compiler */
      bool        nofree = false;

      if (option->isset && validate)

Re: Fix for compiler warning in reloptions.c

From
Alvaro Herrera
Date:
Bruce Momjian wrote:
> The attached applied patch prevents a compiler warning;  the compiler
> doesn't know about our elog(ERROR) exit case.

Hmm, I don't like your fix; ISTM it would be better to set the variable
only in the default: case (or maybe change the "break" for a "return").

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


Re: Fix for compiler warning in reloptions.c

From
Bruce Momjian
Date:
Alvaro Herrera wrote:
> Bruce Momjian wrote:
> > The attached applied patch prevents a compiler warning;  the compiler
> > doesn't know about our elog(ERROR) exit case.
>
> Hmm, I don't like your fix; ISTM it would be better to set the variable
> only in the default: case (or maybe change the "break" for a "return").

Agreed, I used the 'default' idea, attached, applied.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +
Index: src/backend/access/common/reloptions.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/access/common/reloptions.c,v
retrieving revision 1.14
diff -c -c -r1.14 reloptions.c
*** src/backend/access/common/reloptions.c    6 Jan 2009 02:44:17 -0000    1.14
--- src/backend/access/common/reloptions.c    6 Jan 2009 03:10:36 -0000
***************
*** 667,673 ****
  {
      char       *value;
      int            value_len;
!     bool        parsed = true;  /* quiet compiler */
      bool        nofree = false;

      if (option->isset && validate)
--- 667,673 ----
  {
      char       *value;
      int            value_len;
!     bool        parsed;
      bool        nofree = false;

      if (option->isset && validate)
***************
*** 736,741 ****
--- 736,742 ----
              break;
          default:
              elog(ERROR, "unsupported reloption type %d", option->gen->type);
+             parsed = true; /* quiet compiler */
              break;
      }