summaryrefslogtreecommitdiff
path: root/tools/icu
diff options
context:
space:
mode:
Diffstat (limited to 'tools/icu')
-rw-r--r--tools/icu/iculslocs.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/tools/icu/iculslocs.cc b/tools/icu/iculslocs.cc
index 8b1fa527c2..e0de237745 100644
--- a/tools/icu/iculslocs.cc
+++ b/tools/icu/iculslocs.cc
@@ -209,7 +209,8 @@ int dumpAllButInstalledLocales(int lev,
} else {
printIndent(bf, lev);
fprintf(bf, "%s", key);
- switch (ures_getType(t.getAlias())) {
+ const UResType type = ures_getType(t.getAlias());
+ switch (type) {
case URES_STRING: {
int32_t len = 0;
const UChar* s = ures_getString(t.getAlias(), &len, status);
@@ -218,8 +219,16 @@ int dumpAllButInstalledLocales(int lev,
fwrite(s, len, 1, bf);
fprintf(bf, "\"}");
} break;
+ case URES_TABLE: {
+ fprintf(bf, ":table {\n");
+ dumpAllButInstalledLocales(lev+1, &t, bf, status);
+ printIndent(bf, lev);
+ fprintf(bf, "}\n");
+ } break;
default: {
- printf("ERROR: unhandled type in dumpAllButInstalledLocales().\n");
+ printf("ERROR: unhandled type %d for key %s "
+ "in dumpAllButInstalledLocales().\n",
+ static_cast<int>(type), key);
return 1;
} break;
}