Аналогично форматам UTF-16 и UTF-32 в стандарте Юникода, стандарт ISO/IEC 10646 также имеет две основные формы кодирования символов: UCS-2 (2 байта на символ, аналогично UTF-16) и UCS-4 (4 байта на символ, аналогично UTF-32). UCS значит универсальный многооктетный (многобайтовый) кодированный набор символов (англ. Universal Multiple-Octet Coded Character Set). UCS-2 можно считать подмножеством UTF-16 (UTF-16 без суррогатных пар), а UCS-4 является синонимом для UTF-32.
Прочитал патч, зашевелились волосы на заднице. От ужаса.
Андрей, в современном мире вместо конструкции
a=malloc...
...
goto error
...
free(a)
return(0)
error:
free(a)
return -1
используется построение функции result, которое в обязательном
порядке освобождает память из-под а.
И что самое удивительное - ведь этот код могут принять в fuse,
а нас потом будут гнобить за то что linux плохо написан.
> FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive! > кстати, что это за косяк в ядерном vfat модуле? наблюдаю его уже не один год и когда его намереваются убрать?
его не собираются убирать. Таблица соответствий заглавных и прописных букв в UTF-8 слишком велика чтобы запихивать ее в память ядра.
BoBuk, вообще в ядре много goto, например, в фаерволе, но тут имхо действительно не надо этого. В общем пусть разработчики fuse на это посмотрят и сделают как надо :)
> BoBuk, вообще в ядре много goto, например, в фаерволе, но тут имхо действительно не надо этого. В общем пусть разработчики fuse на это посмотрят и сделают как надо :)
>>fuse это немножко ядерный модуль. По вашему ядерные модули - юзерспейс? О сколько нам открытий чудных...
fuse стал собираться исключительно как модуль ядра только с версии 2.6.0, так что прав и BoBuk (пот отношению к старым версиям) и вы (по отношению к новым)...