if (*is_zero)
{
*is_before = (value < 0);
- value = Abs(value);
+ value = i64abs(value);
}
else if (*is_before)
value = -value;
sprintf(cp, "%c%d-%d %c%lld %c%lld:%02d:",
year_sign, abs(year), abs(mon),
- day_sign, (long long) Abs(mday),
- sec_sign, (long long) Abs(hour), abs(min));
+ day_sign, (long long) i64abs(mday),
+ sec_sign, (long long) i64abs(hour), abs(min));
cp += strlen(cp);
cp = AppendSeconds(cp, sec, fsec, MAX_INTERVAL_PRECISION, true);
*cp = '\0';
sprintf(cp, "%s%s%02lld:%02d:",
is_zero ? "" : " ",
(minus ? "-" : (is_before ? "+" : "")),
- (long long) Abs(hour), abs(min));
+ (long long) i64abs(hour), abs(min));
cp += strlen(cp);
cp = AppendSeconds(cp, sec, fsec, MAX_INTERVAL_PRECISION, true);
*cp = '\0';
uint8 bits;
/* use this unit if there are no more units or we're below the limit */
- if (unit[1].name == NULL || Abs(size) < unit->limit)
+ if (unit[1].name == NULL || i64abs(size) < unit->limit)
{
if (unit->round)
size = half_rounded(size);
#define strtou64(str, endptr, base) ((uint64) strtoull(str, endptr, base))
#endif
+/*
+ * Similarly, wrappers around labs()/llabs() matching our int64.
+ */
+#ifdef HAVE_LONG_INT_64
+#define i64abs(i) labs(i)
+#else
+#define i64abs(i) llabs(i)
+#endif
+
/*
* Use "extern PGDLLIMPORT ..." to declare variables that are defined
* in the core backend and need to be accessible by loadable modules.