[*] its always this one incompetent issue
This commit is contained in:
parent
7910db6d3d
commit
ae1eb37ad9
@ -111,13 +111,9 @@ static u_atomic_int32_t gHaveTriedToLoadCommonData {0}; // See extendICUData()
|
|||||||
static UHashtable *gCommonDataCache = NULL; /* Global hash table of opened ICU data files. */
|
static UHashtable *gCommonDataCache = NULL; /* Global hash table of opened ICU data files. */
|
||||||
static icu::UInitOnce gCommonDataCacheInitOnce {};
|
static icu::UInitOnce gCommonDataCacheInitOnce {};
|
||||||
|
|
||||||
#if !defined(ICU_DATA_DIR_WINDOWS)
|
|
||||||
static UDataFileAccess gDataFileAccess = UDATA_DEFAULT_ACCESS; // Access not synchronized.
|
static UDataFileAccess gDataFileAccess = UDATA_DEFAULT_ACCESS; // Access not synchronized.
|
||||||
// Modifying is documented as thread-unsafe.
|
// Modifying is documented as thread-unsafe.
|
||||||
#else
|
|
||||||
// If we are using the Windows data directory, then look in one spot only.
|
|
||||||
static UDataFileAccess gDataFileAccess = UDATA_NO_FILES;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static UBool U_CALLCONV
|
static UBool U_CALLCONV
|
||||||
udata_cleanup(void)
|
udata_cleanup(void)
|
||||||
@ -208,8 +204,6 @@ setCommonICUData(UDataMemory *pData, /* The new common data. Belongs to ca
|
|||||||
return didUpdate;
|
return didUpdate;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(ICU_DATA_DIR_WINDOWS)
|
|
||||||
|
|
||||||
static UBool
|
static UBool
|
||||||
setCommonICUDataPointer(const void *pData, UBool /*warn*/, UErrorCode *pErrorCode) {
|
setCommonICUDataPointer(const void *pData, UBool /*warn*/, UErrorCode *pErrorCode) {
|
||||||
UDataMemory tData;
|
UDataMemory tData;
|
||||||
@ -219,8 +213,6 @@ setCommonICUDataPointer(const void *pData, UBool /*warn*/, UErrorCode *pErrorCod
|
|||||||
return setCommonICUData(&tData, false, pErrorCode);
|
return setCommonICUData(&tData, false, pErrorCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static const char *
|
static const char *
|
||||||
findBasename(const char *path) {
|
findBasename(const char *path) {
|
||||||
const char *basename=uprv_strrchr(path, U_FILE_SEP_CHAR);
|
const char *basename=uprv_strrchr(path, U_FILE_SEP_CHAR);
|
||||||
@ -641,10 +633,7 @@ U_NAMESPACE_END
|
|||||||
* our common data. *
|
* our common data. *
|
||||||
* *
|
* *
|
||||||
*----------------------------------------------------------------------*/
|
*----------------------------------------------------------------------*/
|
||||||
#if !defined(ICU_DATA_DIR_WINDOWS)
|
|
||||||
// When using the Windows system data, we expect only a single data file.
|
|
||||||
extern "C" const DataHeader U_DATA_API U_ICUDATA_ENTRY_POINT;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This would be a good place for weak-linkage declarations of
|
* This would be a good place for weak-linkage declarations of
|
||||||
@ -692,16 +681,7 @@ openCommonData(const char *path, /* Path from OpenChoice? */
|
|||||||
if(gCommonICUDataArray[commonDataIndex] != NULL) {
|
if(gCommonICUDataArray[commonDataIndex] != NULL) {
|
||||||
return gCommonICUDataArray[commonDataIndex];
|
return gCommonICUDataArray[commonDataIndex];
|
||||||
}
|
}
|
||||||
#if !defined(ICU_DATA_DIR_WINDOWS)
|
|
||||||
// When using the Windows system data, we expect only a single data file.
|
|
||||||
int32_t i;
|
|
||||||
for(i = 0; i < commonDataIndex; ++i) {
|
|
||||||
if(gCommonICUDataArray[i]->pHeader == &U_ICUDATA_ENTRY_POINT) {
|
|
||||||
/* The linked-in data is already in the list. */
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add the linked-in data to the list. */
|
/* Add the linked-in data to the list. */
|
||||||
@ -717,14 +697,7 @@ openCommonData(const char *path, /* Path from OpenChoice? */
|
|||||||
setCommonICUDataPointer(uprv_getICUData_conversion(), false, pErrorCode);
|
setCommonICUDataPointer(uprv_getICUData_conversion(), false, pErrorCode);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
#if !defined(ICU_DATA_DIR_WINDOWS)
|
|
||||||
// When using the Windows system data, we expect only a single data file.
|
|
||||||
setCommonICUDataPointer(&U_ICUDATA_ENTRY_POINT, false, pErrorCode);
|
|
||||||
{
|
|
||||||
Mutex lock;
|
|
||||||
return gCommonICUDataArray[commonDataIndex];
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user