Ignore:
Timestamp:
May 29, 2007, 4:07:02 PM (18 years ago)
Author:
weinig
Message:

Reviewed by Adam Roben.

Cleanup function and fix to match comparison API.

  • kjs/string_object.cpp: (KJS::substituteBackreferences): (KJS::localeCompare):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/string_object.cpp

    r21806 r21867  
    286286  return substitutedReplacement;
    287287}
    288 
     288static inline int localeCompare(const UString& a, const UString& b)
     289{
    289290#if PLATFORM(WIN_OS)
    290 static inline int localeCompare(const UString& a, const UString& b)
    291 {
    292     return CompareStringW(LOCALE_USER_DEFAULT, 0,
    293                           reinterpret_cast<LPCWSTR>(a.data()), a.size(),
    294                           reinterpret_cast<LPCWSTR>(b.data()), b.size());
    295 }
     291    int retval = CompareStringW(LOCALE_USER_DEFAULT, 0,
     292                                reinterpret_cast<LPCWSTR>(a.data()), a.size(),
     293                                reinterpret_cast<LPCWSTR>(b.data()), b.size());
     294    return !retval ? retval : retval - 2;
    296295#elif PLATFORM(CF)
    297 static inline int localeCompare(const UString& a, const UString& b)
    298 {
    299296    CFStringRef sa = CFStringCreateWithCharactersNoCopy(kCFAllocatorDefault, reinterpret_cast<const UniChar*>(a.data()), a.size(), kCFAllocatorNull);
    300297    CFStringRef sb = CFStringCreateWithCharactersNoCopy(kCFAllocatorDefault, reinterpret_cast<const UniChar*>(b.data()), b.size(), kCFAllocatorNull);
    301    
     298
    302299    int retval = CFStringCompare(sa, sb, kCFCompareLocalized);
    303    
     300
    304301    CFRelease(sa);
    305302    CFRelease(sb);
    306    
     303
    307304    return retval;
    308 }
    309305#else
    310 static inline int localeCompare(const UString& a, const UString& b)
    311 {
    312306    return compare(a, b);
    313 }
    314307#endif
     308}
    315309
    316310static JSValue *replace(ExecState *exec, const UString &source, JSValue *pattern, JSValue *replacement)
Note: See TracChangeset for help on using the changeset viewer.