Fix ICU bug 13192
diff --git a/README.chromium b/README.chromium
index 676c53b..6b1850e 100644
--- a/README.chromium
+++ b/README.chromium
@@ -278,3 +278,12 @@
http://www.icu-project.org/trac/ticket/13030
- patches/msvc4229.patch
+
+7. C++ 11 does not allow a string literal to be assigned to a variable
+ of char*.
+
+ http://www.icu-project.org/trac/ticket/13192
+
+ - patches/string_literal_charptr.patch
+
+
diff --git a/patches/string_literal_charptr.patch b/patches/string_literal_charptr.patch
new file mode 100644
index 0000000..f9e29d7
--- /dev/null
+++ b/patches/string_literal_charptr.patch
@@ -0,0 +1,22 @@
+diff --git a/source/common/putil.cpp b/source/common/putil.cpp
+index 023186c8..9af0bb3c 100644
+--- a/source/common/putil.cpp
++++ b/source/common/putil.cpp
+@@ -1228,7 +1228,7 @@ UInitOnce gTimeZoneFilesInitOnce = U_INITONCE_INITIALIZER;
+ static CharString *gTimeZoneFilesDirectory = NULL;
+
+ #if U_POSIX_LOCALE || U_PLATFORM_USES_ONLY_WIN32_API
+- static char *gCorrectedPOSIXLocale = NULL; /* Sometimes heap allocated */
++ static const char *gCorrectedPOSIXLocale = NULL; /* Sometimes heap allocated */
+ static bool gCorrectedPOSIXLocaleHeapAllocated = false;
+ #endif
+
+@@ -1251,7 +1251,7 @@ static UBool U_CALLCONV putil_cleanup(void)
+
+ #if U_POSIX_LOCALE || U_PLATFORM_USES_ONLY_WIN32_API
+ if (gCorrectedPOSIXLocale && gCorrectedPOSIXLocaleHeapAllocated) {
+- uprv_free(gCorrectedPOSIXLocale);
++ uprv_free(const_cast<char *>(gCorrectedPOSIXLocale));
+ gCorrectedPOSIXLocale = NULL;
+ gCorrectedPOSIXLocaleHeapAllocated = false;
+ }
diff --git a/source/common/putil.cpp b/source/common/putil.cpp
index 023186c..9af0bb3 100644
--- a/source/common/putil.cpp
+++ b/source/common/putil.cpp
@@ -1228,7 +1228,7 @@
static CharString *gTimeZoneFilesDirectory = NULL;
#if U_POSIX_LOCALE || U_PLATFORM_USES_ONLY_WIN32_API
- static char *gCorrectedPOSIXLocale = NULL; /* Sometimes heap allocated */
+ static const char *gCorrectedPOSIXLocale = NULL; /* Sometimes heap allocated */
static bool gCorrectedPOSIXLocaleHeapAllocated = false;
#endif
@@ -1251,7 +1251,7 @@
#if U_POSIX_LOCALE || U_PLATFORM_USES_ONLY_WIN32_API
if (gCorrectedPOSIXLocale && gCorrectedPOSIXLocaleHeapAllocated) {
- uprv_free(gCorrectedPOSIXLocale);
+ uprv_free(const_cast<char *>(gCorrectedPOSIXLocale));
gCorrectedPOSIXLocale = NULL;
gCorrectedPOSIXLocaleHeapAllocated = false;
}