From ca8eb03f3054033108eb2f3cbd72aa4013e35aa3 Mon Sep 17 00:00:00 2001 From: Jeff Genovy <29107334+jefgen@users.noreply.github.com> Date: Thu, 21 Feb 2019 21:48:23 -0800 Subject: [PATCH] ICU-20438 BRS64RC Fix Clang compiler warnings in ICU4C samples --- icu4c/source/samples/datefmt/main.cpp | 4 +-- icu4c/source/samples/numfmt/util.cpp | 10 +++++++- icu4c/source/samples/props/props.cpp | 7 ++++-- icu4c/source/samples/udata/writer.c | 15 ++---------- icu4c/source/samples/ustring/ustring.cpp | 31 +++++++++++++----------- 5 files changed, 35 insertions(+), 32 deletions(-) diff --git a/icu4c/source/samples/datefmt/main.cpp b/icu4c/source/samples/datefmt/main.cpp index dd1796a9896..9fb22e50530 100644 --- a/icu4c/source/samples/datefmt/main.cpp +++ b/icu4c/source/samples/datefmt/main.cpp @@ -48,13 +48,13 @@ int main(int argc, char **argv) { UDate date; // The languages in which we will display the date - static char* LANGUAGE[] = { + static const char* LANGUAGE[] = { "en", "de", "fr" }; static const int32_t N_LANGUAGE = sizeof(LANGUAGE)/sizeof(LANGUAGE[0]); // The time zones in which we will display the time - static char* TIMEZONE[] = { + static const char* TIMEZONE[] = { "America/Los_Angeles", "America/New_York", "Europe/Paris", diff --git a/icu4c/source/samples/numfmt/util.cpp b/icu4c/source/samples/numfmt/util.cpp index ad6f008b7ee..f6e405bdd73 100644 --- a/icu4c/source/samples/numfmt/util.cpp +++ b/icu4c/source/samples/numfmt/util.cpp @@ -8,6 +8,9 @@ * others. All Rights Reserved. *************************************************************************/ +#define __STDC_FORMAT_MACROS 1 +#include + #include "unicode/unistr.h" #include "unicode/fmtable.h" #include @@ -95,10 +98,15 @@ UnicodeString formattableToString(const Formattable& f) { return UnicodeString(buf, ""); } case Formattable::kLong: + { + char buf[256]; + sprintf(buf, "%" PRId32 "L", f.getLong()); + return UnicodeString(buf, ""); + } case Formattable::kInt64: { char buf[256]; - sprintf(buf, "%ldL", f.getLong()); + sprintf(buf, "%" PRId64 "L", f.getInt64()); return UnicodeString(buf, ""); } case Formattable::kString: diff --git a/icu4c/source/samples/props/props.cpp b/icu4c/source/samples/props/props.cpp index da9408dee50..f1a148651cd 100644 --- a/icu4c/source/samples/props/props.cpp +++ b/icu4c/source/samples/props/props.cpp @@ -23,6 +23,9 @@ * for Unicode character properties. */ +#define __STDC_FORMAT_MACROS 1 +#include + #include #include "unicode/utypes.h" #include "unicode/uchar.h" @@ -38,13 +41,13 @@ printProps(UChar32 codePoint) { u_charName(codePoint, U_UNICODE_CHAR_NAME, buffer, sizeof(buffer), &errorCode); /* print the code point and the character name */ - printf("U+%04lx\t%s\n", codePoint, buffer); + printf("U+%04" PRId32 "\t%s\n", codePoint, buffer); /* print some properties */ printf(" general category (numeric enum value): %u\n", u_charType(codePoint)); /* note: these APIs do not provide the data from SpecialCasing.txt */ - printf(" is lowercase: %d uppercase: U+%04lx\n", u_islower(codePoint), u_toupper(codePoint)); + printf(" is lowercase: %d uppercase: U+%04" PRId32 "\n", u_islower(codePoint), u_toupper(codePoint)); printf(" is digit: %d decimal digit value: %d\n", u_isdigit(codePoint), u_charDigitValue(codePoint)); diff --git a/icu4c/source/samples/udata/writer.c b/icu4c/source/samples/udata/writer.c index 47348222238..ba81e462957 100644 --- a/icu4c/source/samples/udata/writer.c +++ b/icu4c/source/samples/udata/writer.c @@ -70,7 +70,7 @@ main(int argc, const char *argv[]) { uint16_t intValue=2000; long dataLength; - uint32_t size; + size_t size; #ifdef WIN32 char *currdir = _getcwd(NULL, 0); #else @@ -107,19 +107,8 @@ main(int argc, const char *argv[]) { if(dataLength!=(long)size) { - fprintf(stderr, "Error: data length %ld != calculated size %lu\n", dataLength, size); + fprintf(stderr, "Error: data length %ld != calculated size %zu\n", dataLength, size); exit(U_INTERNAL_PROGRAM_ERROR); } return 0; } - - - - - - - - - - - diff --git a/icu4c/source/samples/ustring/ustring.cpp b/icu4c/source/samples/ustring/ustring.cpp index 4f0101d5edb..a123c832a54 100644 --- a/icu4c/source/samples/ustring/ustring.cpp +++ b/icu4c/source/samples/ustring/ustring.cpp @@ -23,6 +23,9 @@ * with ICU. */ +#define __STDC_FORMAT_MACROS 1 +#include + #include #include "unicode/utypes.h" #include "unicode/uchar.h" @@ -299,7 +302,7 @@ static void demoCaseMapInC() { if(U_SUCCESS(errorCode)) { printUString("full-lowercased/en: ", buffer, length); } else { - printf("error in u_strToLower(en)=%ld error=%s\n", length, u_errorName(errorCode)); + printf("error in u_strToLower(en)=%" PRId32 " error=%s\n", length, u_errorName(errorCode)); } /* lowercase/Turkish */ errorCode=U_ZERO_ERROR; @@ -307,7 +310,7 @@ static void demoCaseMapInC() { if(U_SUCCESS(errorCode)) { printUString("full-lowercased/tr: ", buffer, length); } else { - printf("error in u_strToLower(tr)=%ld error=%s\n", length, u_errorName(errorCode)); + printf("error in u_strToLower(tr)=%" PRId32 " error=%s\n", length, u_errorName(errorCode)); } /* uppercase/English */ errorCode=U_ZERO_ERROR; @@ -315,7 +318,7 @@ static void demoCaseMapInC() { if(U_SUCCESS(errorCode)) { printUString("full-uppercased/en: ", buffer, length); } else { - printf("error in u_strToUpper(en)=%ld error=%s\n", length, u_errorName(errorCode)); + printf("error in u_strToUpper(en)=%" PRId32 " error=%s\n", length, u_errorName(errorCode)); } /* uppercase/Turkish */ errorCode=U_ZERO_ERROR; @@ -323,7 +326,7 @@ static void demoCaseMapInC() { if(U_SUCCESS(errorCode)) { printUString("full-uppercased/tr: ", buffer, length); } else { - printf("error in u_strToUpper(tr)=%ld error=%s\n", length, u_errorName(errorCode)); + printf("error in u_strToUpper(tr)=%" PRId32 " error=%s\n", length, u_errorName(errorCode)); } /* titlecase/English */ errorCode=U_ZERO_ERROR; @@ -331,7 +334,7 @@ static void demoCaseMapInC() { if(U_SUCCESS(errorCode)) { printUString("full-titlecased/en: ", buffer, length); } else { - printf("error in u_strToTitle(en)=%ld error=%s\n", length, u_errorName(errorCode)); + printf("error in u_strToTitle(en)=%" PRId32 " error=%s\n", length, u_errorName(errorCode)); } /* titlecase/Turkish */ errorCode=U_ZERO_ERROR; @@ -339,7 +342,7 @@ static void demoCaseMapInC() { if(U_SUCCESS(errorCode)) { printUString("full-titlecased/tr: ", buffer, length); } else { - printf("error in u_strToTitle(tr)=%ld error=%s\n", length, u_errorName(errorCode)); + printf("error in u_strToTitle(tr)=%" PRId32 " error=%s\n", length, u_errorName(errorCode)); } /* case-fold/default */ errorCode=U_ZERO_ERROR; @@ -347,7 +350,7 @@ static void demoCaseMapInC() { if(U_SUCCESS(errorCode)) { printUString("full-case-folded/default: ", buffer, length); } else { - printf("error in u_strFoldCase(default)=%ld error=%s\n", length, u_errorName(errorCode)); + printf("error in u_strFoldCase(default)=%" PRId32 " error=%s\n", length, u_errorName(errorCode)); } /* case-fold/Turkic */ errorCode=U_ZERO_ERROR; @@ -355,7 +358,7 @@ static void demoCaseMapInC() { if(U_SUCCESS(errorCode)) { printUString("full-case-folded/Turkic: ", buffer, length); } else { - printf("error in u_strFoldCase(Turkic)=%ld error=%s\n", length, u_errorName(errorCode)); + printf("error in u_strFoldCase(Turkic)=%" PRId32 " error=%s\n", length, u_errorName(errorCode)); } } @@ -461,7 +464,7 @@ demoUnicodeStringStorage() { printUnicodeString("readonly-aliasing string after modification: ", three); // the aliased array is not modified for(i=0; i