Index: source/tools/genrb/wrtxml.cpp |
diff --git a/source/tools/genrb/wrtxml.cpp b/source/tools/genrb/wrtxml.cpp |
index 4a642b9eb8715806a9c3c3602223bb1613062a79..1e9c5519d2e7e10b9cdc356bbe0baa30c30c4514 100644 |
--- a/source/tools/genrb/wrtxml.cpp |
+++ b/source/tools/genrb/wrtxml.cpp |
@@ -1,7 +1,7 @@ |
/* |
******************************************************************************* |
* |
-* Copyright (C) 2002-2012, International Business Machines |
+* Copyright (C) 2002-2014, International Business Machines |
* Corporation and others. All Rights Reserved. |
* |
******************************************************************************* |
@@ -16,6 +16,17 @@ |
* |
******************************************************************************* |
*/ |
+ |
+// Safer use of UnicodeString. |
+#ifndef UNISTR_FROM_CHAR_EXPLICIT |
+# define UNISTR_FROM_CHAR_EXPLICIT explicit |
+#endif |
+ |
+// Less important, but still a good idea. |
+#ifndef UNISTR_FROM_STRING_EXPLICIT |
+# define UNISTR_FROM_STRING_EXPLICIT explicit |
+#endif |
+ |
#include "reslist.h" |
#include "unewdata.h" |
#include "unicode/ures.h" |
@@ -25,7 +36,6 @@ |
#include "unicode/ucnv.h" |
#include "genrb.h" |
#include "rle.h" |
-#include "ucol_tok.h" |
#include "uhash.h" |
#include "uresimp.h" |
#include "unicode/ustring.h" |
@@ -1121,7 +1131,7 @@ bundle_write_xml(struct SRBRoot *bundle, const char *outputDir,const char* outpu |
*status = U_FILE_ACCESS_ERROR; |
goto cleanup_bundle_write_xml; |
} |
- write_utf8_file(out, xmlHeader); |
+ write_utf8_file(out, UnicodeString(xmlHeader)); |
if(outputEnc && *outputEnc!='\0'){ |
/* store the output encoding */ |
@@ -1131,9 +1141,9 @@ bundle_write_xml(struct SRBRoot *bundle, const char *outputDir,const char* outpu |
goto cleanup_bundle_write_xml; |
} |
} |
- write_utf8_file(out, bundleStart); |
+ write_utf8_file(out, UnicodeString(bundleStart)); |
write_tabs(out); |
- write_utf8_file(out, fileStart); |
+ write_utf8_file(out, UnicodeString(fileStart)); |
/* check if lang and language are the same */ |
if(language != NULL && uprv_strcmp(lang, srBundle->fLocale)!=0){ |
fprintf(stderr,"Warning: The top level tag in the resource and language specified are not the same. Please check the input.\n"); |
@@ -1151,12 +1161,12 @@ bundle_write_xml(struct SRBRoot *bundle, const char *outputDir,const char* outpu |
tabCount += 1; |
write_tabs(out); |
- write_utf8_file(out, headerStart); |
+ write_utf8_file(out, UnicodeString(headerStart)); |
tabCount += 1; |
write_tabs(out); |
- write_utf8_file(out, tool_start); |
+ write_utf8_file(out, UnicodeString(tool_start)); |
printAttribute("tool-id", tool_id, (int32_t) uprv_strlen(tool_id)); |
printAttribute("tool-name", tool_name, (int32_t) uprv_strlen(tool_name)); |
write_utf8_file(out, UnicodeString("/>\n")); |