Use "true" not "TRUE" in one ICU function call.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 16 Nov 2020 20:16:39 +0000 (15:16 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 16 Nov 2020 20:16:39 +0000 (15:16 -0500)
This was evidently missed in commit 6337865f3, which generally did
s/TRUE/true/ everywhere.  It escaped notice up to now because ICU
versions before ICU 68 provided definitions of "TRUE" and "FALSE"
regardless.  With ICU 68, it fails to compile.

Per report from Condor.  Back-patch to v11 where 6337865f3 came in.
(I've not tested v10, where this call originated, but I imagine
it's fine since we defined TRUE in c.h back then.)

Discussion: https://postgr.es/m/7a6f3336165bfe3ca66abcda7966f9d0@stz-bg.com

src/backend/commands/collationcmds.c

index 7b31272734d06133f7170774c1bed5f8f31c8f11..32b2183598d8feb5fa9731d1712851e64955c55d 100644 (file)
@@ -365,7 +365,7 @@ get_icu_language_tag(const char *localename)
    UErrorCode  status;
 
    status = U_ZERO_ERROR;
-   uloc_toLanguageTag(localename, buf, sizeof(buf), TRUE, &status);
+   uloc_toLanguageTag(localename, buf, sizeof(buf), true, &status);
    if (U_FAILURE(status))
        ereport(ERROR,
                (errmsg("could not convert locale name \"%s\" to language tag: %s",