Remove dead code in formatting.c
authorJohn Naylor <[email protected]>
Tue, 17 Jan 2023 06:52:11 +0000 (13:52 +0700)
committerJohn Naylor <[email protected]>
Tue, 17 Jan 2023 06:55:49 +0000 (13:55 +0700)
Remove some code guarded by IS_MINUS() or IS_PLUS(), where the entire
stanza is inside an else-block where both of these are false. This
should slightly improve test coverage.

While at it, remove coding that apparently assumes that unsetting a
bit is so expensive that we have to first check if it's already set
in the first place.

Per Coverity report from Ranier Vilela
Analysis and review by Justin Pryzby

Discussion: https://www.postgresql.org/message-id/20221223010818.GP1153%40telsasoft.com

src/backend/utils/adt/formatting.c

index a4b524ea3acf3862970c8f2433422171b0e97351..f3f4db5ef6066dc3d79fd5cd4cf78585c72d059e 100644 (file)
@@ -5664,13 +5664,9 @@ NUM_processor(FormatNode *node, NUMDesc *Num, char *inout,
        {
            if (Np->sign != '-')
            {
-               if (IS_BRACKET(Np->Num) && IS_FILLMODE(Np->Num))
+               if (IS_FILLMODE(Np->Num))
                    Np->Num->flag &= ~NUM_F_BRACKET;
-               if (IS_MINUS(Np->Num))
-                   Np->Num->flag &= ~NUM_F_MINUS;
            }
-           else if (Np->sign != '+' && IS_PLUS(Np->Num))
-               Np->Num->flag &= ~NUM_F_PLUS;
 
            if (Np->sign == '+' && IS_FILLMODE(Np->Num) && IS_LSIGN(Np->Num) == false)
                Np->sign_wrote = true;  /* needn't sign */