LINUX.ORG.RU

[extfs.d] Обучение uarj кириллице в именах файлов


0

0

Под руку иногда попадаются архивы формата ARJ с кириллическими именами файлов внутри, которые mc отображает кракозябрами и поэтому обработать не может.

Данный патч добавляет возможность перекодировки таких имён из кодировки, которую можно указать в переменной окружения MC_UARJ_CP (если не определена, кодировка подразумевается cp866) в локальную.

Может ещё кому пригодится. Просто нет времени заморачиваться с тикетами к разработчикам.

--- uarj.orig	2011-11-01 10:41:10.579654146 +0200
+++ uarj	2011-11-01 11:47:44.193802602 +0200
@@ -10,13 +10,18 @@
 # - http://www.sourceforge.net/projects/arj/
 # - http://arj.sourceforge.net/

+CP=${MC_UARJ_CP=cp866}
+tocp () { echo "$1" | iconv -t $CP
+}
+fromcp () { iconv -f $CP
+}

 ARJ="arj -+ -ja1"


 mcarjfs_list ()
 {
- $ARJ v "$1" | gawk -v uuid=$(id -ru) '
+ $ARJ v "$1" | fromcp | gawk -v uuid=$(id -ru) '
   {
    if (($0 ~ /^[0-9]+\) .*/)||($0 ~ /^------------ ---------- ---------- -----/)){
     if (filestr ~ /^[0-9]+\) .*/) {
@@ -60,7 +65,7 @@

 mcarjfs_copyout ()
 {
-    $ARJ e -y "$1" "$2" -jw"$3" >/dev/null 2>/dev/null
+    $ARJ e -y "$1" "`tocp "$2"`" -jw"$3" | fromcp >/dev/null 2>/dev/null
 }


★★★★★
Ответ на: комментарий от akk

Работает, но лень каждый раз нажимать-выбирать.

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