always compare strings, don't try to convert to number (bnc #885653)

if/else construction is useless. Just

    return ( result < 0 );

will do the job. Or even

    return ( std::wcscoll ( w1.data(), w2.data() ) < 0 );

but that might be a bit `cryptic` at the end...