On Wed, Apr 10, 2013 at 01:48:03PM +0200, Stefan Sperling wrote:
> +  return 1;  // If not UTF8 then single byte encoding

No C++ comments, please!

The attached patch doens't have C++ comments.


--
Dios, gracias por tu amor infinito.
-- Vladimir Támara Patiño. http://vtamara.pasosdeJesus.org/
 http://www.pasosdejesus.org/dominio_publico_colombia.html

Common subdirectories: /usr/src-orig/lib/libc/citrus/CVS and 
/usr/src/lib/libc/citrus/CVS
diff -u -x *~ /usr/src-orig/lib/libc/citrus/citrus_ctype.c 
/usr/src/lib/libc/citrus/citrus_ctype.c
--- /usr/src-orig/lib/libc/citrus/citrus_ctype.c        Sat Feb  9 14:26:51 2013
+++ /usr/src/lib/libc/citrus/citrus_ctype.c     Wed Apr 10 07:36:58 2013
@@ -45,15 +45,24 @@
 };
 
 int
+_citrus_ctype_mb_cur_max(char const *encname)
+{
+       if (strcmp(encname, "UTF8") == 0) {
+               return _CITRUS_UTF8_MB_CUR_MAX;
+       }
+       return 1;  /* If not UTF8 then single byte encoding */
+}
+
+int
 _citrus_ctype_open(struct _citrus_ctype_rec **rcc, char const *encname)
 {
        if (!strcmp(encname, "NONE")) {
                *rcc = &_citrus_ctype_none;
-               __mb_cur_max = 1;
+               __mb_cur_max = _citrus_ctype_mb_cur_max(encname);
                return (0);
        } else if (!strcmp(encname, "UTF8")) {
                *rcc = &_citrus_ctype_utf8;
-               __mb_cur_max = _CITRUS_UTF8_MB_CUR_MAX;
+               __mb_cur_max = _citrus_ctype_mb_cur_max(encname);
                return (0);
        }
 
diff -u -x *~ /usr/src-orig/lib/libc/citrus/citrus_ctype.h 
/usr/src/lib/libc/citrus/citrus_ctype.h
--- /usr/src-orig/lib/libc/citrus/citrus_ctype.h        Mon Aug  2 13:05:22 2010
+++ /usr/src/lib/libc/citrus/citrus_ctype.h     Wed Apr 10 05:33:22 2013
@@ -35,6 +35,7 @@
 
 extern struct _citrus_ctype_rec _citrus_ctype_none;
 
+int _citrus_ctype_mb_cur_max(char const *);
 int _citrus_ctype_open(struct _citrus_ctype_rec **, char const *);
 
 #endif
--- /usr/src-orig/lib/libc/locale/setrunelocale.c       Sat Feb  9 14:26:52 2013
+++ /usr/src/lib/libc/locale/setrunelocale.c    Wed Apr 10 05:35:23 2013
@@ -100,6 +100,7 @@
 #include <unistd.h>
 #include <locale.h>
 #include <citrus/citrus_ctype.h>
+#include <citrus/citrus_utf8.h>
 #include "rune_local.h"
 
 struct localetable {
@@ -195,6 +196,7 @@
 
 found:
        _CurrentRuneLocale = rl;
+       __mb_cur_max = _citrus_ctype_mb_cur_max(rl->rl_encoding);
 
        return 0;
 }

Reply via email to