Pasha Zubkov wrote:
+                                                       if (c > 127) {
+                                                               c = ((c ^ 192) 
<< 6) + (getc(p) ^ 128);
+                                                       } else if (c > 223) {
+                                                               c = ((c ^ 224) << 12) 
+ ((getc(p) ^ 128) << 6) + (getc(p) ^ 128);
+                                                       } else if (c > 239) {
+                                                               c = ((c ^ 240) << 18) + 
((getc(p) ^ 128) << 12) + ((getc(p) ^ 128) << 6) + (getc(p) ^ 128);
+                                                       }
+                                               } while (c != EOF && 
!iswprint(c)

As a general rule, you shouldn't implement UTF-8 support in such hard-coded way. Please look at mbrtowcs() function and its friends. They convert from the locale encoding (be it ru_RU.KOI8-R or ru_RU.UTF-8) to wchar_t.

--
Alexander E. Patrakov
Don't mail to [EMAIL PROTECTED]: the server is off until 2006-01-11
Use my GMail or linuxfromscratch address instead
--
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to