]> granicus.if.org Git - icu/commitdiff
ICU-9437 genuca permit UCA version != UCD version for boot-strapping
authorMarkus Scherer <markus.icu@gmail.com>
Tue, 24 Jul 2012 21:10:23 +0000 (21:10 +0000)
committerMarkus Scherer <markus.icu@gmail.com>
Tue, 24 Jul 2012 21:10:23 +0000 (21:10 +0000)
X-SVN-Rev: 32061

tools/unicode/c/genuca/genuca.cpp

index ea6eeaa12793448fe34a6fe0eabb42e15e74a4a7..f14b0f7c7050431a748f07408a632b91514f858b 100644 (file)
@@ -459,7 +459,7 @@ static void writeOutInverseData(InverseUCATableHeader *data,
 
     UDataInfo invUcaInfo;
     uprv_memcpy(&invUcaInfo, &invUcaDataInfo, sizeof(UDataInfo));
-    u_getUnicodeVersion(invUcaInfo.dataVersion);
+    uprv_memcpy(invUcaInfo.dataVersion, UCAVersion, U_MAX_VERSION_LENGTH);
 
     pData=udata_create(outputDir, INVC_DATA_TYPE, INVC_DATA_NAME, &invUcaInfo,
                        copyright, status);
@@ -704,9 +704,10 @@ UCAElements *readAnElement(FILE *data, tempUCATable *t, UCAConstants *consts, Le
                 char ucd[U_MAX_VERSION_STRING_LENGTH];
                 u_versionToString(UCAVersion, uca);
                 u_versionToString(UCDVersion, ucd);
-                fprintf(stderr, "error: UCA version %s != UCD version %s (temporarily change the FractionalUCA.txt UCA version during Unicode version upgrade)\n", uca, ucd);
-                *status = U_INVALID_FORMAT_ERROR;
-                return NULL;
+                // Warning, not error, to permit bootstrapping during a version upgrade.
+                fprintf(stderr, "warning: UCA version %s != UCD version %s (temporarily change the FractionalUCA.txt UCA version during Unicode version upgrade)\n", uca, ucd);
+                // *status = U_INVALID_FORMAT_ERROR;
+                // return NULL;
               }
             } else if (what_to_do == READLEADBYTETOSCRIPTS) { //vt[cnt].what_to_do == READLEADBYTETOSCRIPTS
                 pointer = buffer + vtLen;
@@ -1072,7 +1073,7 @@ void writeOutData(UCATableHeader *data,
     long dataLength;
     UDataInfo ucaInfo;
     uprv_memcpy(&ucaInfo, &ucaDataInfo, sizeof(UDataInfo));
-    u_getUnicodeVersion(ucaInfo.dataVersion);
+    uprv_memcpy(ucaInfo.dataVersion, UCAVersion, U_MAX_VERSION_LENGTH);
 
     pData=udata_create(outputDir, UCA_DATA_TYPE, UCA_DATA_NAME, &ucaInfo,
                        copyright, status);