bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

new modules for Unicode string comparisons


From: Bruno Haible
Subject: new modules for Unicode string comparisons
Date: Fri, 6 Mar 2009 19:30:09 +0100
User-agent: KMail/1.9.9

I'm adding functions for comparing Unicode strings, while ignoring their
normalization form.


2009-03-06  Bruno Haible  <address@hidden>

        New module 'uninorm/u32-normcmp'.
        * lib/uninorm/u32-normcmp.c: New file.
        * modules/uninorm/u32-normcmp: New file.

        New module 'uninorm/u16-normcmp'.
        * lib/uninorm/u16-normcmp.c: New file.
        * modules/uninorm/u16-normcmp: New file.

        New module 'uninorm/u8-normcmp'.
        * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
        declarations.
        * lib/uninorm/u8-normcmp.c: New file.
        * lib/uninorm/u-normcmp.h: New file.
        * modules/uninorm/u8-normcmp: New file.

*** lib/uninorm.h.orig  2009-03-06 19:20:21.000000000 +0100
--- lib/uninorm.h       2009-03-06 19:01:38.000000000 +0100
***************
*** 145,150 ****
--- 145,165 ----
                      uint32_t *resultbuf, size_t *lengthp);
  
  
+ /* Compare S1 and S2, ignoring normalization.
+    NF must be either UNINORM_NFD or UNINORM_NFKD.
+    If successful, set *RESULT to -1 if S1 < S2, 0 if S1 = S2, 1 if S1 > S2, 
and
+    return 0.  Upon failure, return the error number.  */
+ extern int
+        u8_normcmp (const uint8_t *s1, size_t n1, const uint8_t *s2, size_t n2,
+                  uninorm_t nf, int *result);
+ extern int
+        u16_normcmp (const uint16_t *s1, size_t n1, const uint16_t *s2, size_t 
n2,
+                   uninorm_t nf, int *result);
+ extern int
+        u32_normcmp (const uint32_t *s1, size_t n1, const uint32_t *s2, size_t 
n2,
+                   uninorm_t nf, int *result);
+ 
+ 
  /* Normalization of a stream of Unicode characters.
  
     A "stream of Unicode characters" is essentially a function that accepts an




reply via email to

[Prev in Thread] Current Thread [Next in Thread]