summaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg
diff options
context:
space:
mode:
authorBruce Momjian2021-05-01 14:42:44 +0000
committerBruce Momjian2021-05-01 14:42:44 +0000
commit651d005e76bc0b9542615f609b4d0d946035dc58 (patch)
tree091685dde4a23011030907d96d49b8749417cc78 /src/interfaces/ecpg
parente6f9539dc32473793c03cbe95bc099ee0a199c73 (diff)
Revert use singular for -1 (commits 9ee7d533da and 5da9868ed9
Turns out you can specify negative values using plurals: https://english.stackexchange.com/questions/9735/is-1-followed-by-a-singular-or-plural-noun so the previous code was correct enough, and consistent with other usage in our code. Also add comment in the two places where this could be confused. Reported-by: Noah Misch Diagnosed-by: 20210425115726.GA2353095@rfd.leadboat.com
Diffstat (limited to 'src/interfaces/ecpg')
-rw-r--r--src/interfaces/ecpg/pgtypeslib/interval.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/interfaces/ecpg/pgtypeslib/interval.c b/src/interfaces/ecpg/pgtypeslib/interval.c
index 4245016c8e8..02b3c472233 100644
--- a/src/interfaces/ecpg/pgtypeslib/interval.c
+++ b/src/interfaces/ecpg/pgtypeslib/interval.c
@@ -694,7 +694,7 @@ AddVerboseIntPart(char *cp, int value, const char *units,
}
else if (*is_before)
value = -value;
- sprintf(cp, " %d %s%s", value, units, (abs(value) == 1) ? "" : "s");
+ sprintf(cp, " %d %s%s", value, units, (value == 1) ? "" : "s");
*is_zero = false;
return cp + strlen(cp);
}
@@ -711,7 +711,7 @@ AddPostgresIntPart(char *cp, int value, const char *units,
(*is_before && value > 0) ? "+" : "",
value,
units,
- (abs(value) != 1) ? "s" : "");
+ (value != 1) ? "s" : "");
/*
* Each nonzero field sets is_before for (only) the next one. This is a
@@ -924,6 +924,7 @@ EncodeInterval(struct /* pg_ */ tm *tm, fsec_t fsec, int style, char *str)
*cp++ = '-';
AppendSeconds(cp, sec, fsec, MAX_INTERVAL_PRECISION, false);
cp += strlen(cp);
+ /* We output "ago", not negatives, so use abs(). */
sprintf(cp, " sec%s",
(abs(sec) != 1 || fsec != 0) ? "s" : "");
is_zero = false;