peiyongz 2003/02/17 11:56:03
Modified: c/src/xercesc/util/MsgLoaders/ICU ICUMsgLoader.cpp
Log:
Re-prioritize search order for error message files.
Revision Changes Path
1.12 +35 -11 xml-xerces/c/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.cpp
Index: ICUMsgLoader.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- ICUMsgLoader.cpp 12 Dec 2002 16:53:25 -0000 1.11
+++ ICUMsgLoader.cpp 17 Feb 2003 19:56:03 -0000 1.12
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.12 2003/02/17 19:56:03 peiyongz
+ * Re-prioritize search order for error message files.
+ *
* Revision 1.11 2002/12/12 16:53:25 peiyongz
* Message file name changed.
*
@@ -171,15 +174,20 @@
ArrayJanitor<char> jan1(domainName);
/***
- Resolve location
+ Location resolution priority
+
+ 1. XMLMsgLoader::getNLSHome(), set by user through
+ XMLPlatformUtils::Initialize(), which provides user-specified
+ location where the message loader shall retrieve error messages.
+
+ 2. envrionment var: XERCESC_NLS_HOME
- REVISIT: another approach would be: through some system API
- which returns the directory of the XercescLib and
- that directory would be used to locate the resource bundle
+ 3. path $XERCESCROOT/msg
***/
+
char locationBuf[1024];
memset(locationBuf, 0, sizeof locationBuf);
- char *nlsHome = getenv("XERCESC_NLS_HOME");
+ const char const *nlsHome = XMLMsgLoader::getNLSHome();
if (nlsHome)
{
@@ -188,15 +196,31 @@
}
else
{
- char *altHome = getenv("XERCESCROOT");
- if (altHome)
+ nlsHome = getenv("XERCESC_NLS_HOME");
+ if (nlsHome)
{
- strcpy(locationBuf, altHome);
+ strcpy(locationBuf, nlsHome);
strcat(locationBuf, U_FILE_SEP_STRING);
- strcat(locationBuf, "msg");
- strcat(locationBuf, U_FILE_SEP_STRING);
}
- }
+ else
+ {
+ nlsHome = getenv("XERCESCROOT");
+ if (nlsHome)
+ {
+ strcpy(locationBuf, nlsHome);
+ strcat(locationBuf, U_FILE_SEP_STRING);
+ strcat(locationBuf, "msg");
+ strcat(locationBuf, U_FILE_SEP_STRING);
+ }
+ else
+ {
+ /***
+ leave it to ICU to decide where to search
+ for the error message.
+ ***/
+ }
+ }
+ }
/***
Open the locale-specific resource bundle
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]