diff --git a/src/backend/utils/adt/pg_locale.c b/src/backend/utils/adt/pg_locale.c index 07299dbc09..d4d1282dad 100644 --- a/src/backend/utils/adt/pg_locale.c +++ b/src/backend/utils/adt/pg_locale.c @@ -844,11 +844,17 @@ cache_locale_time(void) for (i = 0; i < 7; i++) { timeinfo->tm_wday = i; - if (strftime(bufptr, MAX_L10N_DATA, "%a", timeinfo) <= 0) + if (strftime(bufptr, MAX_L10N_DATA, "%a", timeinfo) == 0) + { strftimefail = true; + break; + } bufptr += MAX_L10N_DATA; - if (strftime(bufptr, MAX_L10N_DATA, "%A", timeinfo) <= 0) + if (strftime(bufptr, MAX_L10N_DATA, "%A", timeinfo) == 0) + { strftimefail = true; + break; + } bufptr += MAX_L10N_DATA; } @@ -857,11 +863,17 @@ cache_locale_time(void) { timeinfo->tm_mon = i; timeinfo->tm_mday = 1; /* make sure we don't have invalid date */ - if (strftime(bufptr, MAX_L10N_DATA, "%b", timeinfo) <= 0) + if (strftime(bufptr, MAX_L10N_DATA, "%b", timeinfo) == 0) + { strftimefail = true; + break; + } bufptr += MAX_L10N_DATA; - if (strftime(bufptr, MAX_L10N_DATA, "%B", timeinfo) <= 0) + if (strftime(bufptr, MAX_L10N_DATA, "%B", timeinfo) == 0) + { strftimefail = true; + break; + } bufptr += MAX_L10N_DATA; } @@ -1999,8 +2011,8 @@ wchar2char(char *to, const wchar_t *from, size_t tolen, pg_locale_t locale) result = WideCharToMultiByte(CP_UTF8, 0, from, -1, to, tolen, NULL, NULL); /* A zero return is failure */ - if (result <= 0) - result = -1; + if (result == 0) + return 0; else { Assert(result <= tolen);