peiyongz    2002/12/06 08:29:17

  Modified:    c/src/xercesc/util/MsgLoaders/ICU ICUMsgLoader.cpp
  Log:
  $XERCESCROOT/msg created as home directory for message files, and
  set default locale.
  
  Revision  Changes    Path
  1.10      +30 -27    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.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- ICUMsgLoader.cpp  4 Dec 2002 18:11:23 -0000       1.9
  +++ ICUMsgLoader.cpp  6 Dec 2002 16:29:17 -0000       1.10
  @@ -56,6 +56,10 @@
   
   /*
    * $Log$
  + * Revision 1.10  2002/12/06 16:29:17  peiyongz
  + * $XERCESCROOT/msg created as home directory for message files, and
  + * set default locale.
  + *
    * Revision 1.9  2002/12/04 18:11:23  peiyongz
    * use $XERCESCROOT to search for icu resource bundle if XERCESC_NLS_HOME
    * undefined
  @@ -127,7 +131,7 @@
   #include <xercesc/util/XMLUniDefs.hpp>
   #include <xercesc/util/Janitor.hpp>
   #include "ICUMsgLoader.hpp"
  -
  +#include "unicode/uloc.h"
   #include "string.h"
   #include <stdio.h>
   #include <stdlib.h>
  @@ -156,20 +160,19 @@
           XMLPlatformUtils::panic(XMLPlatformUtils::Panic_UnknownMsgDomain);
       }
   
  -     /***
  -          Resolve domainName
  -     ***/
  -     int          index = XMLString::lastIndexOf(msgDomain, chForwardSlash);
  -     char*   domainName = XMLString::transcode(&(msgDomain[index + 1]));
  +    /***
  +     Resolve domainName
  +    ***/
  +    int     index = XMLString::lastIndexOf(msgDomain, chForwardSlash);
  +    char*   domainName = XMLString::transcode(&(msgDomain[index + 1]));
       ArrayJanitor<char> jan1(domainName);
   
       /***
  -          Resolve location
  +     Resolve location
   
  -          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
  +     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
       ***/
       char locationBuf[1024];
       memset(locationBuf, 0, sizeof locationBuf);
  @@ -187,34 +190,34 @@
           {
               strcpy(locationBuf, altHome);
               strcat(locationBuf, U_FILE_SEP_STRING);
  -            strcat(locationBuf, "lib");
  +            strcat(locationBuf, "msg");
               strcat(locationBuf, U_FILE_SEP_STRING);                    
           }
       }    
   
  +    /***
  +     Open the locale-specific resource bundle
  +    ***/
       strcat(locationBuf, "XercescErrMsg");
  -
  -     /***
  -         Open the locale-specific resource bundle
  -     ***/
       UErrorCode err = U_ZERO_ERROR;
  +    uloc_setDefault("en_US", &err);   // in case user-specified locale unavailable
  +    err = U_ZERO_ERROR;
       fLocaleBundle = ures_open(locationBuf, XMLMsgLoader::getLocale(), &err);
       if (!U_SUCCESS(err) || fLocaleBundle == NULL)
       {
            XMLPlatformUtils::panic(XMLPlatformUtils::Panic_CantLoadMsgDomain);
       }
   
  -     /***
  -         Open the domain specific resource bundle within
  -             the locale-specific resource bundle
  -     ***/
  -     err = U_ZERO_ERROR;
  -     fDomainBundle = ures_getByKey(fLocaleBundle, domainName, NULL, &err);
  -
  -     if (!U_SUCCESS(err) || fDomainBundle == NULL)
  -     {
  -         XMLPlatformUtils::panic(XMLPlatformUtils::Panic_CantLoadMsgDomain);
  -     }
  +    /***
  +     Open the domain specific resource bundle within
  +     the locale-specific resource bundle
  +    ***/
  +    err = U_ZERO_ERROR;
  +    fDomainBundle = ures_getByKey(fLocaleBundle, domainName, NULL, &err);
  +    if (!U_SUCCESS(err) || fDomainBundle == NULL)
  +    {
  +        XMLPlatformUtils::panic(XMLPlatformUtils::Panic_CantLoadMsgDomain);
  +    }
   
   }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to