DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24287>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24287

CygwinTransService::compareIString gives different results

           Summary: CygwinTransService::compareIString gives different
                    results
           Product: Xerces-C++
           Version: 2.3.0
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: Minor
          Priority: Other
         Component: Utilities
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


The Cygwin transcoding service gives different results when comparing XMLCh*
strings than the other transcoders i'm using. (Iconv, Win32).
It is called from XMLString::compareIString which says:

  "The return value indicates the relation of str1 to str2 as follows 
   Less than 0 means str1 is less than str2 ..."

If str1 is "A" and str2 is "B", I'd expect a value less than 0. This is what the
Iconv and Win32 transcoders give.
The Cygwin transcoder gives a value greater than zero.

The problem seems to be down to CygwinTransService::auxCompareString(). This
effectively returns "str2[n] - str1[n]" rather than "str1[n] - str2[n]" that the
other transcoders (and other string comparison functions) return.

N.B. I'm using the pre-built cygxerces-c23.dll distributed by Cygwin.

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

Reply via email to