From 77d18d7cdf3c46a951bbe515b8cb042e49cb0c01 Mon Sep 17 00:00:00 2001
From: PeiYong Zhang <peiyongz@apache.org>
Date: Wed, 4 Dec 2002 18:11:23 +0000
Subject: [PATCH] use $XERCESCROOT to search for icu resource bundle if
 XERCESC_NLS_HOME undefined

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@174459 13f79535-47bb-0310-9956-ffa450edef68
---
 .../util/MsgLoaders/ICU/ICUMsgLoader.cpp      | 23 +++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)

diff --git a/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.cpp b/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.cpp
index 04d5f1f53..f08eeed60 100644
--- a/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.cpp
+++ b/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.cpp
@@ -56,6 +56,10 @@
 
 /*
  * $Log$
+ * Revision 1.9  2002/12/04 18:11:23  peiyongz
+ * use $XERCESCROOT to search for icu resource bundle if XERCESC_NLS_HOME
+ * undefined
+ *
  * Revision 1.8  2002/11/20 20:28:17  peiyongz
  * fix to warning C4018: '>' : signed/unsigned mismatch
  *
@@ -169,13 +173,24 @@ ICUMsgLoader::ICUMsgLoader(const XMLCh* const  msgDomain)
     ***/
     char locationBuf[1024];
     memset(locationBuf, 0, sizeof locationBuf);
-	char *nlsHome = getenv("XERCESC_NLS_HOME");
+    char *nlsHome = getenv("XERCESC_NLS_HOME");
 
     if (nlsHome)
-	{
-		strcpy(locationBuf, nlsHome);
+    {
+    	strcpy(locationBuf, nlsHome);
         strcat(locationBuf, U_FILE_SEP_STRING);
-	}
+    }
+    else
+    {
+        char *altHome = getenv("XERCESCROOT");
+        if (altHome)
+        {
+            strcpy(locationBuf, altHome);
+            strcat(locationBuf, U_FILE_SEP_STRING);
+            strcat(locationBuf, "lib");
+            strcat(locationBuf, U_FILE_SEP_STRING);                    
+        }
+    }    
 
     strcat(locationBuf, "XercescErrMsg");
 
-- 
GitLab