dbertoni    00/07/25 07:42:29

  Modified:    c/src/ICUBridge ICUBridgeCollationCompareFunctor.cpp
  Log:
  Added some code to work around DOMString issues.
  
  Revision  Changes    Path
  1.3       +19 -2     
xml-xalan/c/src/ICUBridge/ICUBridgeCollationCompareFunctor.cpp
  
  Index: ICUBridgeCollationCompareFunctor.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/ICUBridge/ICUBridgeCollationCompareFunctor.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ICUBridgeCollationCompareFunctor.cpp      2000/07/12 21:45:39     1.2
  +++ ICUBridgeCollationCompareFunctor.cpp      2000/07/25 14:42:29     1.3
  @@ -95,6 +95,10 @@
   
   
   
  +static UChar dummy = 0;
  +
  +
  +
   int
   ICUBridgeCollationCompareFunctor::operator()(
                        const XalanDOMChar*             theLHS,
  @@ -108,8 +112,21 @@
        {
                assert(m_collator != 0);
   
  +#if defined(XALAN_ICU_BRIDGE_UCHAR_MISMATCH)
  +             return m_collator->compare(
  +                                     
ICUBridge::XalanDOMCharStringToUnicodeString(lhs),
  +                                     
ICUBridge::XalanDOMCharStringToUnicodeString(rhs));
  +#else
  +             // $$$ ToDo: This code is necessary because DOMStrings can
  +             // have a null representation.
  +             const XalanDOMChar* const       lhs = theLHS == 0 ? &dummy : 
theLHS;
  +             const XalanDOMChar* const       rhs = theRHS == 0 ? &dummy : 
theRHS;
  +
                return m_collator->compare(
  -                                     
ICUBridge::XalanDOMCharStringToUnicodeString(theLHS),
  -                                     
ICUBridge::XalanDOMCharStringToUnicodeString(theRHS));
  +                                     lhs,
  +                                     length(lhs),
  +                                     rhs,
  +                                     length(rhs));
  +#endif
        }
   }
  
  
  

Reply via email to