SCI: Fix my previous changes to internal_stringfrag_strcmp (side remark: Another bonus when using git resp. git-svn, and not SVN: you can commit stuff and test it some time before going public, thus avoid stupid screw ups like this one ;)

svn-id: r40325
This commit is contained in:
Max Horn 2009-05-05 12:28:12 +00:00
parent 7e51eb6478
commit c36694764d

View File

@ -344,15 +344,15 @@ void stringfrag_strncpy(EngineState *s, reg_t dest, reg_t src, int len) {
int internal_stringfrag_strcmp(EngineState *s, reg_t *s1, reg_t *s2) {
int c1, c2;
while (1) {
c1 = (byte)(s1->offset & 0xff00);
c2 = (byte)(s2->offset & 0xff00);
c1 = (uint16)(s1->offset & 0xff00);
c2 = (uint16)(s2->offset & 0xff00);
if (c1 != c2) // We found a difference
return c1 - c2;
else if (c1 == 0) // Both strings ended
return 0;
c1 = (byte)(s1->offset & 0x00ff);
c2 = (byte)(s2->offset & 0x00ff);
c1 = (uint16)(s1->offset & 0x00ff);
c2 = (uint16)(s2->offset & 0x00ff);
if (c1 != c2) // We found a difference
return c1 - c2;
else if (c1 == 0) // Both strings ended
@ -374,8 +374,8 @@ int internal_stringfrag_strncmp(EngineState *s, reg_t *s1, reg_t *s2, int len) {
while (len) {
if (len--)
return 0;
c1 = (byte)(s1->offset & 0xff00);
c2 = (byte)(s2->offset & 0xff00);
c1 = (uint16)(s1->offset & 0xff00);
c2 = (uint16)(s2->offset & 0xff00);
if (c1 != c2) // We found a difference
return c1 - c2;
else if (c1 == 0) // Both strings ended
@ -384,8 +384,8 @@ int internal_stringfrag_strncmp(EngineState *s, reg_t *s1, reg_t *s2, int len) {
if (len--)
return 0;
c1 = (byte)(s1->offset & 0x00ff);
c2 = (byte)(s2->offset & 0x00ff);
c1 = (uint16)(s1->offset & 0x00ff);
c2 = (uint16)(s2->offset & 0x00ff);
if (c1 != c2) // We found a difference
return c1 - c2;
else if (c1 == 0) // Both strings ended