X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Flstrings.cpp;h=9eb9e43d5fbe975367e8b527f313db11f4fdee7e;hb=bf56e2c8e1afa857cd5e313c19948040e41b8227;hp=6d5f86672fda133b10f060ecd346e18bee01b4e4;hpb=d5f2bad461dc3fc783cbb1e1b205fa5c6543f8e7;p=lyx.git diff --git a/src/support/lstrings.cpp b/src/support/lstrings.cpp index 6d5f86672f..9eb9e43d5f 100644 --- a/src/support/lstrings.cpp +++ b/src/support/lstrings.cpp @@ -208,24 +208,7 @@ int compare_no_case(docstring const & s, docstring const & s2) int compare_locale(docstring const & s, docstring const & s2) { - // FIXME We have a report that this does not work on windows (bug 9030) - try - { - string const l = to_local8bit(s); - string const r = to_local8bit(s2); - return strcoll(l.c_str(), r.c_str()); - } - catch (bad_cast & e) - { - // fall back to builtin sorting - LYXERR0("Could not compare using the current locale: " - << e.what() << ", using fallback."); - if (s < s2) - return -1; - if (s > s2) - return 1; - return 0; - } + return QString::localeAwareCompare(toqstr(s), toqstr(s2)); } @@ -734,6 +717,12 @@ bool containsOnly(string const & s, string const & cset) } +bool containsOnly(docstring const & s, string const & cset) +{ + return s.find_first_not_of(from_ascii(cset)) == string::npos; +} + + // ale970405+lasgoutt-970425 // rewritten to use new string (Lgb) string const token(string const & a, char delim, int n)