Suppress compiler warning about no function return value.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 17 Dec 2017 05:41:41 +0000 (00:41 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 17 Dec 2017 05:41:41 +0000 (00:41 -0500)
Compilers that don't know that ereport(ERROR) doesn't return
complained about the new coding in scanint8() introduced by
commit 101c7ee3e.  Tweak coding to avoid the warning.
Per buildfarm.

src/backend/utils/adt/int8.c

index a8e2200852564806966b296d4d79b74f892de8d7..24c9150893659db0b7c5881dcf403c69d755bbeb 100644 (file)
@@ -81,9 +81,7 @@ scanint8(const char *str, bool errorOK, int64 *result)
 
    /* require at least one digit */
    if (unlikely(!isdigit((unsigned char) *ptr)))
-   {
        goto invalid_syntax;
-   }
 
    /* process digits */
    while (*ptr && isdigit((unsigned char) *ptr))
@@ -108,26 +106,25 @@ scanint8(const char *str, bool errorOK, int64 *result)
            goto out_of_range;
        tmp = -tmp;
    }
-   *result = tmp;
 
+   *result = tmp;
    return true;
 
 out_of_range:
-   if (errorOK)
-       return false;
-   else
+   if (!errorOK)
        ereport(ERROR,
                (errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE),
                 errmsg("value \"%s\" is out of range for type %s",
                        str, "bigint")));
+   return false;
+
 invalid_syntax:
-   if (errorOK)
-       return false;
-   else
+   if (!errorOK)
        ereport(ERROR,
                (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
                 errmsg("invalid input syntax for integer: \"%s\"",
                        str)));
+   return false;
 }
 
 /* int8in()