LINUX.ORG.RU

Выпущен патч для fuse для работы с разными кодировками


0

0

Andy Shevchenko анонсировал патч, который добавляет опцию charset, позволяющую указать в какой из кодировок удалённая ФС хранит имена файлов.

>>> Подробности



Проверено: Shaman007 ()

Спасибо пропатчили.

попробуем :)

anonymous
()
Ответ на: комментарий от anonymous

>Эх, интересно, сколько еще ждать светлого будущего только в UTF-8? :)

долго. и кто сказал, что utf-8 решает все проблемы? это ведь не utf32...

AVL2 ★★★★★
()
Ответ на: комментарий от anonymous

2030 год, аноним на ЛОре спрашивает:
как пропатчить fuse для поддержки utf-1024?

jedy ★★
()
Ответ на: комментарий от AVL2

> >Эх, интересно, сколько еще ждать светлого будущего только в UTF-8? :)

> долго. и кто сказал, что utf-8 решает все проблемы? это ведь не utf32...

А с каких пор utf8 не является многобайтной кодировкой?

Spinal
()
Ответ на: комментарий от Spinal

Светлое будущее только с (UC2|UC4), а (UTF8|UTF16 LE|UTF16 BE|UTF32 LE| UTF32 BE) дружно идут подальше, или хотя бы в в файлы man

Atlant ★★★★★
()
Ответ на: комментарий от troorl

+1
первая мысль была такая же, когда прочитал новость :)

cursed
()
Ответ на: комментарий от atrus

> Кто ещё будет утверждать, что ASPLinux безполезен. :)

а он таким и остается имхо :) полезны разработчики, а не дистр :)

isden ★★★★★
()
Ответ на: комментарий от anonymous

Аналогично форматам 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.

Darklight
()
Ответ на: комментарий от Darklight

Спасибо Darklight, а то лень было идти разбираться. Смущают демоны души невинные, а ты свет пролил )

ЗЫ. Без стёба.

AndreyKl ★★★★★
()
Ответ на: комментарий от Spinal

>А с каких пор utf8 не является многобайтной кодировкой?

А толку? Эта кодировка не работает с некоторымы азиатскими и арабскими языками. Поэтому и не является серебряной пулей для всего мира.

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

>А толку? Эта кодировка не работает с некоторымы азиатскими и арабскими языками.

/me переживает за Усаму Бен-Ладена :))

DIMON ★★★
()

интересно, есть ли модуль fuse для fat32 и будет ли он страдать такой же фигнёй, как и ядерный:

FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!

кстати, что это за косяк в ядерном vfat модуле? наблюдаю его уже не один год и когда его намереваются убрать?

swar0g ★★★★
()
Ответ на: комментарий от AVL2

>А толку? Эта кодировка не работает с некоторымы азиатскими и арабскими языками.

Э... И давно они перестали влезать в 2^31 символов??

KRoN73 ★★★★★
()

Прочитал патч, зашевелились волосы на заднице. От ужаса.
Андрей, в современном мире вместо конструкции
a=malloc...
...
goto error
...
   free(a)
   return(0)
error:
   free(a)
   return -1

используется построение функции result, которое в обязательном
порядке освобождает память из-под а.

И что самое удивительное - ведь этот код могут принять в fuse,
а нас потом будут гнобить за то что linux плохо написан.

BoBuk
()
Ответ на: комментарий от swar0g

> FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive! > кстати, что это за косяк в ядерном vfat модуле? наблюдаю его уже не один год и когда его намереваются убрать?

его не собираются убирать. Таблица соответствий заглавных и прописных букв в UTF-8 слишком велика чтобы запихивать ее в память ядра.

BoBuk
()
Ответ на: комментарий от AVL2

> А толку? Эта кодировка не работает с некоторымы азиатскими и арабскими языками. Поэтому и не является серебряной пулей для всего мира.

:) Неужели символов не хватает?

Spinal
()
Ответ на: комментарий от BoBuk

> Таблица соответствий заглавных и прописных букв в UTF-8 слишком велика чтобы запихивать ее в память ядра.

Максимум 65 килобайт. А можно и до 16 ужать. Так как не все юникодные символы являются буквами.

MS
()
Ответ на: комментарий от MS

> Максимум 65 килобайт.

Для UCS-2, естественно. А азиатские соответствия для символов не из UCS-2 можно устанавливать вместе с локалью.

MS
()
Ответ на: комментарий от BoBuk

BoBuk, вообще в ядре много goto, например, в фаерволе, но тут имхо действительно не надо этого. В общем пусть разработчики fuse на это посмотрят и сделают как надо :)

anonymous
()

Есть еще решение: fuse-convmvfs http://sourceforge.net/projects/fuse-convmvfs

Перекодирующая файловая система. Реализованы не все системные вызовы, но на крайний случай тоже может сгодиться.

Dimai
()
Ответ на: комментарий от BoBuk

> его не собираются убирать. Таблица соответствий заглавных и прописных букв в UTF-8 слишком велика чтобы запихивать ее в память ядра.

Это не так :)

Bacek
()
Ответ на: комментарий от AVL2

>>А с каких пор utf8 не является многобайтной кодировкой?

> А толку? Эта кодировка не работает с некоторымы азиатскими и арабскими языками. Поэтому и не является серебряной пулей для всего мира.

то AVL2

Серьезно? откуда такие сведенья? кому не хватает 6 байт?

Я думая что вы напутали что-то

fi ★★★
()
Ответ на: комментарий от Bacek

> Это не так :)

Бацек, это так! Было решение в LKML, еще в 2003ем чтоли, на тему того что никто не будет волочь за собой таблицу соответствий. Так и не волокут.

BoBuk
()
Ответ на: комментарий от anonymous

> BoBuk, вообще в ядре много goto, например, в фаерволе, но тут имхо действительно не надо этого. В общем пусть разработчики fuse на это посмотрят и сделают как надо :)

FUSE это немножко не ядро. Это уже юзерспейс.

BoBuk
()
Ответ на: комментарий от BoBuk

> FUSE это немножко не ядро. Это уже юзерспейс.

fuse это немножко ядерный модуль. По вашему ядерные модули - юзерспейс? О сколько нам открытий чудных...

anonymous
()
Ответ на: комментарий от BoBuk

В самом fuse таких косяков полно :(

anonymous
()
Ответ на: комментарий от anonymous

> FUSE это немножко не ядро. Это уже юзерспейс.

>>fuse это немножко ядерный модуль. По вашему ядерные модули - юзерспейс? О сколько нам открытий чудных...

fuse стал собираться исключительно как модуль ядра только с версии 2.6.0, так что прав и BoBuk (пот отношению к старым версиям) и вы (по отношению к новым)...

YagMort ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.