Mercurial > hg > xemacs-beta
comparison src/text.c @ 4962:e813cf16c015
merge
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Mon, 01 Feb 2010 05:29:05 -0600 |
parents | 304aebb79cd3 6ef8256a020a |
children | 0d4c9d0f6a8d |
comparison
equal
deleted
inserted
replaced
4961:b90f8cf474e0 | 4962:e813cf16c015 |
---|---|
1420 int | 1420 int |
1421 qxestrcasecmp_i18n (const Ibyte *s1, const Ibyte *s2) | 1421 qxestrcasecmp_i18n (const Ibyte *s1, const Ibyte *s2) |
1422 { | 1422 { |
1423 while (*s1 && *s2) | 1423 while (*s1 && *s2) |
1424 { | 1424 { |
1425 if (DOWNCASE (0, itext_ichar (s1)) != | 1425 if (CANONCASE (0, itext_ichar (s1)) != |
1426 DOWNCASE (0, itext_ichar (s2))) | 1426 CANONCASE (0, itext_ichar (s2))) |
1427 break; | 1427 break; |
1428 INC_IBYTEPTR (s1); | 1428 INC_IBYTEPTR (s1); |
1429 INC_IBYTEPTR (s2); | 1429 INC_IBYTEPTR (s2); |
1430 } | 1430 } |
1431 | 1431 |
1432 return (DOWNCASE (0, itext_ichar (s1)) - | 1432 return (CANONCASE (0, itext_ichar (s1)) - |
1433 DOWNCASE (0, itext_ichar (s2))); | 1433 CANONCASE (0, itext_ichar (s2))); |
1434 } | 1434 } |
1435 | 1435 |
1436 /* The only difference between these next two and | 1436 /* The only difference between these next two and |
1437 qxememcasecmp()/qxememcasecmp_i18n() is that these two will stop if | 1437 qxememcasecmp()/qxememcasecmp_i18n() is that these two will stop if |
1438 both strings are equal and less than LEN in length, while | 1438 both strings are equal and less than LEN in length, while |
1479 Bytecount len_from_s1) | 1479 Bytecount len_from_s1) |
1480 { | 1480 { |
1481 while (len_from_s1 > 0) | 1481 while (len_from_s1 > 0) |
1482 { | 1482 { |
1483 const Ibyte *old_s1 = s1; | 1483 const Ibyte *old_s1 = s1; |
1484 int diff = (DOWNCASE (0, itext_ichar (s1)) - | 1484 int diff = (CANONCASE (0, itext_ichar (s1)) - |
1485 DOWNCASE (0, itext_ichar (s2))); | 1485 CANONCASE (0, itext_ichar (s2))); |
1486 if (diff != 0) | 1486 if (diff != 0) |
1487 return diff; | 1487 return diff; |
1488 if (!*s1) | 1488 if (!*s1) |
1489 return 0; | 1489 return 0; |
1490 INC_IBYTEPTR (s1); | 1490 INC_IBYTEPTR (s1); |
1602 { | 1602 { |
1603 while (len1 > 0 && len2 > 0) | 1603 while (len1 > 0 && len2 > 0) |
1604 { | 1604 { |
1605 const Ibyte *old_s1 = s1; | 1605 const Ibyte *old_s1 = s1; |
1606 const Ibyte *old_s2 = s2; | 1606 const Ibyte *old_s2 = s2; |
1607 int diff = (DOWNCASE (0, itext_ichar (s1)) - | 1607 int diff = (CANONCASE (0, itext_ichar (s1)) - |
1608 DOWNCASE (0, itext_ichar (s2))); | 1608 CANONCASE (0, itext_ichar (s2))); |
1609 if (diff != 0) | 1609 if (diff != 0) |
1610 return diff; | 1610 return diff; |
1611 INC_IBYTEPTR (s1); | 1611 INC_IBYTEPTR (s1); |
1612 INC_IBYTEPTR (s2); | 1612 INC_IBYTEPTR (s2); |
1613 len1 -= s1 - old_s1; | 1613 len1 -= s1 - old_s1; |
1629 *matching = 0; | 1629 *matching = 0; |
1630 while (len1 > 0 && len2 > 0) | 1630 while (len1 > 0 && len2 > 0) |
1631 { | 1631 { |
1632 const Ibyte *old_s1 = s1; | 1632 const Ibyte *old_s1 = s1; |
1633 const Ibyte *old_s2 = s2; | 1633 const Ibyte *old_s2 = s2; |
1634 int diff = (DOWNCASE (0, itext_ichar (s1)) - | 1634 int diff = (CANONCASE (0, itext_ichar (s1)) - |
1635 DOWNCASE (0, itext_ichar (s2))); | 1635 CANONCASE (0, itext_ichar (s2))); |
1636 if (diff != 0) | 1636 if (diff != 0) |
1637 return diff; | 1637 return diff; |
1638 INC_IBYTEPTR (s1); | 1638 INC_IBYTEPTR (s1); |
1639 INC_IBYTEPTR (s2); | 1639 INC_IBYTEPTR (s2); |
1640 len1 -= s1 - old_s1; | 1640 len1 -= s1 - old_s1; |
1645 assert (len1 >= 0 && len2 >= 0); | 1645 assert (len1 >= 0 && len2 >= 0); |
1646 return len1 - len2; | 1646 return len1 - len2; |
1647 } | 1647 } |
1648 | 1648 |
1649 int | 1649 int |
1650 lisp_strcasecmp (Lisp_Object s1, Lisp_Object s2) | 1650 lisp_strcasecmp_ascii (Lisp_Object s1, Lisp_Object s2) |
1651 { | 1651 { |
1652 Ibyte *cm = strcasecmp_charmap; | 1652 Ibyte *cm = strcasecmp_charmap; |
1653 Ibyte *p1 = XSTRING_DATA (s1); | 1653 Ibyte *p1 = XSTRING_DATA (s1); |
1654 Ibyte *p2 = XSTRING_DATA (s2); | 1654 Ibyte *p2 = XSTRING_DATA (s2); |
1655 Ibyte *e1 = p1 + XSTRING_LENGTH (s1); | 1655 Ibyte *e1 = p1 + XSTRING_LENGTH (s1); |