X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/4388f060552cc537e71e957d32f35e9d75a61233..b801cf366c7671a99bdcef84d1e9c0ec64b36723:/icuSources/tools/genrb/wrtxml.cpp diff --git a/icuSources/tools/genrb/wrtxml.cpp b/icuSources/tools/genrb/wrtxml.cpp index 7e760534..1e9c5519 100644 --- a/icuSources/tools/genrb/wrtxml.cpp +++ b/icuSources/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" @@ -33,6 +43,8 @@ #include "ustr.h" #include "prscmnts.h" #include "unicode/unistr.h" +#include "unicode/utf8.h" +#include "unicode/utf16.h" #include U_NAMESPACE_USE @@ -251,7 +263,7 @@ static char* convertAndEscape(char** pDest, int32_t destCap, int32_t* destLength return NULL; } - if((destLen+UTF8_CHAR_LENGTH(c)) < destCap){ + if((destLen+U8_LENGTH(c)) < destCap){ /* ASCII Range */ if(c <=0x007F){ @@ -1119,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 */ @@ -1129,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"); @@ -1149,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"));