I'm adding new modules for comparison of Unicode strings, similar to memcmp2.
2009-04-05 Bruno Haible <br...@clisp.org> * lib/unicase.h: Mention u*_cmp2. * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP. * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp. * lib/unicase/ulc-casecmp.c: Likewise. * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp. * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp. * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove unistr/u8-cmp. * modules/unicase/ulc-casecmp (Depends-on): Likewise. * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove unistr/u16-cmp. * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove unistr/u32-cmp. * lib/uninorm.h: Mention u*_cmp2. * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP. * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp. * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp. * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp. * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove unistr/u8-cmp. * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove unistr/u16-cmp. * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove unistr/u32-cmp. New module 'unistr/u32-cmp2'. * lib/unistr/u32-cmp2.c: New file. * modules/unistr/u32-cmp2: New file. New module 'unistr/u16-cmp2'. * lib/unistr/u16-cmp2.c: New file. * modules/unistr/u16-cmp2: New file. New module 'unistr/u8-cmp2'. * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations. * lib/unistr/u8-cmp2.c: New file. * lib/unistr/u-cmp2.h: New file. * modules/unistr/u8-cmp2: New file. --- lib/unistr.h.orig 2009-04-05 12:33:50.000000000 +0200 +++ lib/unistr.h 2009-04-05 12:22:17.000000000 +0200 @@ -402,6 +402,15 @@ extern int u32_cmp (const uint32_t *s1, const uint32_t *s2, size_t n); +/* Compare S1 and S2. */ +/* Similar to memcmp2(). */ +extern int + u8_cmp2 (const uint8_t *s1, size_t n1, const uint8_t *s2, size_t n2); +extern int + u16_cmp2 (const uint16_t *s1, size_t n1, const uint16_t *s2, size_t n2); +extern int + u32_cmp2 (const uint32_t *s1, size_t n1, const uint32_t *s2, size_t n2); + /* Search the string at S for UC. */ /* Similar to memchr(). */ extern uint8_t *