Home
mc-dev
mc-dev@conference.jabber.ru
21.06.2011< ^ >

Тема: http://www.midnight-commander.org | Latest stable release: 4.7.5.2
[06:33:27] andrew_b зашёл в конференцию
[06:46:40] il.smind зашёл в конференцию
[06:47:24] <il.smind > repolainen: нет такого
[07:00:55] repolainen зашёл в конференцию
[08:12:03] theMIROn зашёл в конференцию
[08:12:56] <theMIROn> видели? http://habrahabr.ru/company/selectel/blog/122027/
[08:14:00] <andrew_b> > MC, как самом старинном (и не зависящем от ncurses) приложении.
Дальше можно не читать?
[08:14:16] <theMIROn> это не единственное
[08:14:24] <theMIROn> ага )
[08:14:40] <andrew_b> Всё же прочту. Чисто поржать.
[08:16:36] repolainen вышел из конференции
[08:19:00] theMIROn вышел из конференции
[08:20:25] theMIROn зашёл в конференцию
[08:22:51] <andrew_b> Нучо. Поржать не пришлось.
[08:23:12] <andrew_b> Занятно написано.
[08:24:22] <theMIROn> подключаюсь по ssh к девайсу в котором 100% нет ни video ни v* устройств, и консэйвер работает
[08:24:26] <theMIROn> вай?
[08:25:49] <andrew_b> В TERM что?
[08:26:05] <theMIROn> xterm
[08:26:13] <andrew_b> Ну вот.
[08:26:27] <theMIROn> угу, уж сам уже...
[08:27:21] <andrew_b> http://habrahabr.ru/company/selectel/blog/122027/#comment_4001775
[08:59:09] <slavazanko/w> всем привет
[08:59:27] <andrew_b> Привет.
[09:06:10] <slavazanko/w> andrew_b: посмотрел твой патч в 2361_vfs_uri
намана :) У меня многое на допущениях было, у тебя более точно.
ну что, пора бы энтот бранч того... в мастер. Пока я на свободе :)
[09:06:52] <andrew_b> Оззи?
[09:07:22] <slavazanko/w> Пусть ревьювает. Он только критиковать мастер. А так он не голосует
[09:07:45] <andrew_b> Да, про мой патч. Там можно немного соптимизировать, чтобы не делать много раз канонизацию. А то долго всё это.
[09:08:55] <slavazanko/w> не, я спецом сделал такое. потому что если будет mc_build_filename("file:/", "/path") то оно превратится в "file://path" и потом того... подумается. что это vfsprefix
[09:09:11] <slavazanko/w> поэтому канонизировал как каждый элемент. так и потом в целом
[09:09:43] <andrew_b> Например, в последней итерации не добавляьть / в конец. Тогда последняя канонизация вроде и не нужна.
[09:11:09] <andrew_b> Да, и ещё.
[09:11:11] <slavazanko/w> mc_build_filename("path1", "path2/..", "path3") превратится в "path1/./path3"
желательно канонизировать
[09:11:43] <andrew_b> Не.
[09:11:47] <slavazanko/w> ?
[09:12:19] <andrew_b> 1051 if (tmp_element[len - 1] != PATH_SEP)
1052 g_string_append_c (path, PATH_SEP);

Если element -- последний, то можно не делать.
[09:13:42] <slavazanko/w> можно и так
[09:14:06] il.smind вышел из конференции
[09:14:10] <andrew_b> --- a/lib/utilunix.c
+++ b/lib/utilunix.c
@@ -1040,6 +1040,9 @@ mc_build_filename (const char *first_element, ...)
char *tmp_element;
size_t len;
const char *start;
+ const char *next;
+
+ next = va_arg (args, char *);

tmp_element = g_strdup (element);

@@ -1048,12 +1051,12 @@ mc_build_filename (const char *first_element, ...)
start = (tmp_element[0] == PATH_SEP) ? tmp_element + 1 : tmp_element;

g_string_append (path, start);
- if (tmp_element[len - 1] != PATH_SEP)
+ if (tmp_element[len - 1] != PATH_SEP && next != NULL)
g_string_append_c (path, PATH_SEP);

g_free (tmp_element);

- element = va_arg (args, char *);
+ element = next;
}
while (element != NULL);
[09:14:46] il.smind зашёл в конференцию
[09:15:13] <slavazanko/w> вроде так проще:

diff --git a/lib/utilunix.c b/lib/utilunix.c
index 7e7cb5c..dfcb510 100644
--- a/lib/utilunix.c
+++ b/lib/utilunix.c
@@ -1048,12 +1048,13 @@ mc_build_filename (const char *first_element, ...)
start = (tmp_element[0] == PATH_SEP) ? tmp_element + 1 : tmp_element;

g_string_append (path, start);
- if (tmp_element[len - 1] != PATH_SEP)
+ element = va_arg (args, char *);
+
+ if (tmp_element[len - 1] != PATH_SEP && element != NULL)
g_string_append_c (path, PATH_SEP);

g_free (tmp_element);

- element = va_arg (args, char *);
}
while (element != NULL);
[09:16:16] <andrew_b> Ну или так.
[09:16:22] <andrew_b> Теперь такой вопрос.
[09:17:22] <andrew_b> А как у нас урлы для сетевых систем выглядят?
/ftp://host/foo
[09:17:42] <andrew_b> В комстроке
cd /ftp://host/foo
[09:17:48] <slavazanko/w> ftp://user:pass@host/path
[09:17:59] <slavazanko/w> первый слэш не обязательно
[09:18:10] <andrew_b> Понял.
[09:18:35] <slavazanko/w> он всего лишь показывает в куда выйти после выхода из vfs по нажатию на ".."
[09:23:10] <andrew_b> slavazanko/w: раз ты на свободе, посмотри http://www.midnight-commander.org/ticket/2541.
[09:23:30] <slavazanko/w> ок, ща
[09:23:31] BanderOS зашёл в конференцию
[09:24:34] <andrew_b> Обрати внимание на коммент #8.
[09:27:50] <slavazanko/w> видел уже раньше. Его мнение - это его мнение. А кэш - это данные из памяти, сохранённые на диск. То есть, они воостанавливаются между запусками mc в памяти опять. Если стереть, то всё. Кирдык. Это как удалить файл hibernate.sys (или как там его в венде звать) и потом попробовать воостановиться из хибернейта. Получим простую загрузку. хотя это в чистом виде кэш. Пасан не прав. короче.
А красиво и художественно расписать всё это по-английски мне лениво :)
[09:29:01] <slavazanko/w> ну или второстепенные настройки там хранятся.
[09:29:24] <slavazanko/w> короче, девушка (то бишь mc) наша, как хотим так и танцуем её
[09:30:25] <andrew_b> ok
[09:36:28] <andrew_b> А что у нас со стейблом? По идее, в июне надо было релизить. Два месяца прошло.
[09:36:51] <slavazanko/w> в июле жахнем вместе с 4.8.0-pre1
[09:37:45] <andrew_b> В http://www.midnight-commander.org/wiki/NEWS-4.7.5.3 кот наплакал.
[09:38:23] <slavazanko/w> потому что основные силы были на мастере
[09:48:00] <andrew_b> Я подпушил оптимизацию.
[09:48:08] <andrew_b> Ещё раз проверю и проголосую.
[09:48:58] <slavazanko/w> ок
[10:12:29] <slavazanko/w> по 2541
имеет смысл вынести static int max (int a, int b) в библиотеку и сделать публичной?
[10:26:36] il.smind вышел из конференции: Компьютер вошёл в спящий режим
[10:38:38] <slavazanko/w> /home/slavaz/work/mc-devel/git/lib/widget/input.c: In function 'input_load_history':
/home/slavaz/work/mc-devel/git/lib/widget/input.c:777:18: error: assignment discards 'const' qualifier from pointer target type [-Werror]
/home/slavaz/work/mc-devel/git/lib/widget/input.c:783:22: error: assignment discards 'const' qualifier from pointer target type [-Werror]
/home/slavaz/work/mc-devel/git/lib/widget/input.c:793:20: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
cc1: all warnings being treated as errors
[10:39:38] <andrew_b> Ну у нас же нет шаблонов. :) Это будет функция только для int. Есть макрос max lib/global.h, он для всех типов.
[10:39:52] <andrew_b> Варнинги поправлю.
[10:40:37] <slavazanko/w> а какой смысл делать функции только для int в обход дефайна?
[10:43:28] <andrew_b> Когда ты пишешь
len = max (len, str_term_width (foo));
то с макросом полчаешь
len = len > str_term_width (foo) ? len : str_term_width (foo);

str_term_width (foo) может вычислиться 2 раза. Конечно, компилятор может соптимизировать, но лучше перебдить.
[10:44:20] <andrew_b> А с функцией max str_term_width будет вызвана один раз.
[10:46:13] <andrew_b> slavazanko/w: что-то не понял.
/home/slavaz/work/mc-devel/git/lib/widget/input.c: In function 'input_load_history':
/home/slavaz/work/mc-devel/git/lib/widget/input.c:777:18

777 строка -- это не функция input_load_history. Это input_destroy.
[10:46:56] <andrew_b> input_load_history вообще нет.
[10:49:50] <slavazanko/w> $ git pull
Already up-to-date.
$ git describe
4.7.5-228-gde28e73
$autogen.sh
...
CC libmcwidget_la-input.lo
/home/slavaz/work/mc-devel/git/lib/widget/input.c: In function 'input_load_history':
/home/slavaz/work/mc-devel/git/lib/widget/input.c:777:18: error: assignment discards 'const' qualifier from pointer target type [-Werror]
/home/slavaz/work/mc-devel/git/lib/widget/input.c:783:22: error: assignment discards 'const' qualifier from pointer target type [-Werror]
/home/slavaz/work/mc-devel/git/lib/widget/input.c:793:20: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
cc1: all warnings being treated as errors
[10:50:12] <slavazanko/w> $ git st
# On branch 2541_save_setup
[10:50:55] <andrew_b> 4.7.5-222-g27f72fa
[10:50:59] <andrew_b> Ща.
[10:55:01] <andrew_b> Исправил.
[11:38:43] <andrew_b> slavazanko/w: тут?
[11:38:50] <slavazanko/w> тут
[11:40:22] <andrew_b> F9 -> Shell-соединение.

Пишу: /#sh:localhost/home/borodin
Всё оk.

Пишу: sh://localhost/home/borodin
Получаю: Невозможно перейти в "/#sh:sh://localhost/home/borodin"
[11:40:39] <slavazanko/w> понял
[11:40:51] <andrew_b> Где-то в районе nice_cd.
[11:41:26] <slavazanko/w> то есть. ты ы строке ввода прямо лупишь с префиксом?
[11:41:38] <andrew_b> Да.
[11:41:42] <slavazanko/w> ок
[11:42:04] <andrew_b> С ftp наверняка то же самое. Мне не на чем проверить.
[11:42:15] <slavazanko/w> проверю
[11:42:41] <slavazanko/w> вероятно, оно тупо добавляет /#sh
[11:42:47] <slavazanko/w> после строки ввода
[11:43:14] <andrew_b> Да.
[11:43:36] <andrew_b> В nice_cd.
[11:44:56] <slavazanko/w> option.c:75
if (sender != NULL && sender->id == 17)
17 - это что за константа? порядковый номер элемента в диалоге?
[11:45:11] <slavazanko/w> src/filemanager/option.c
[11:45:17] <andrew_b> id
[11:45:33] <andrew_b> Да, по сути порядковый.
[11:46:11] <slavazanko/w> ок
[11:55:57] <slavazanko/w> может. в nice_cd два префикса передавать?...
[11:58:09] <andrew_b> Зачем?
[11:58:30] <slavazanko/w> чтобы или один. или второй сработал
[12:00:58] <andrew_b> Была такая функция vfs_translate_url, которую ты изничтожил. Вот она и делала замену префиксов.
[12:01:43] <slavazanko/w> ну значит появится рядом с nice_cd функция transform_prefix :)
[12:02:44] <andrew_b> 34a4af18ed7c83845725a4f6584c7714773de226
[12:03:52] <slavazanko/w> не-не. оно топорное. Преобразовать #vfsprefix в vfsprefix:// и обратно - дело нехитрое
[12:38:10] <slavazanko/w> запушил
[12:38:16] <slavazanko/w> по 2361_vfs_uri
[12:42:03] <andrew_b> strcpy (buffer + 1, prefix + 2);
[12:42:08] <andrew_b> Почему 2?
[12:42:17] <slavazanko/w> # и :
[12:42:39] <slavazanko/w> в префиксе три лишних символа: /# и :
/ мы уже скопировали...
[12:42:52] BanderOS вышел из конференции
[12:43:07] <andrew_b> Не понял.
[12:43:41] <slavazanko/w> prefix = "/:ftp:"
buffer = prefix+2 = "ftp:"
[12:43:43] <Зося Синицкая> slavazanko/w: Префикс команд: = "/:ftp:"
buffer = prefix+2 = "ftp:"
[12:43:59] <slavazanko/w> вот дура. ещё и что-то запомнила
[12:44:09] <andrew_b> prefix
[12:44:25] <andrew_b> help prefix
[12:44:26] <mc_log> andrew_b: не найдено (prefix)
[12:44:40] <slavazanko/w> чудеса
[12:45:47] <andrew_b> Всё равно не понял. Откуда в /:ftp: первое двоеточие?
[12:46:01] <slavazanko/w> не двоеточие. я ошибся. решётка. #
[12:46:19] <slavazanko/w> решётку пропускаем
[12:48:54] <slavazanko/w> неполный вариант, блин
[12:51:17] <andrew_b> Напиши заодно комментарий про 2.
[12:53:37] <slavazanko/w> там никаких проверок не надо.
[12:53:40] <slavazanko/w> запушел
[12:55:56] <andrew_b> http://kalinin.ru/programming/
[12:57:14] <andrew_b> Старые статьи.
[12:57:21] <slavazanko/w> угу
[12:57:22] <andrew_b> 10-летней давности.
[13:10:51] <slavazanko/w> по мотивам 2541_save_setup и по ранне сделанному независимому разделению кода на lib и src: нужно где-то описывать названия событий, что они означают, какие параметры принимают...
в Вике или в doc где-нить?
[13:29:19] <slavazanko/w> http://midnight-commander.org/wiki/doc-devel
[13:58:42] <andrew_b> slavazanko/w: недолечил.
[13:58:54] <slavazanko/w> ?
[13:59:21] <andrew_b> Захожу по sh://localhost/home/borodin.
[13:59:27] <andrew_b> Удачно.
[13:59:50] <andrew_b> В заголовке панели /sh:/sh://localhost/home/borodin
[14:00:06] <slavazanko/w> понял
[14:02:42] <slavazanko/w> 2541 апрувед. Вот только как оно будет стейбл-кандидатом я не знаю :)
[14:03:50] <slavazanko/w> http://midnight-commander.org/wiki/doc-devel/events/reference
уже так накопилось событий...
[14:07:12] <andrew_b> Подожём пока. Там всё на стейбл перенести не получится из-за событий.
[14:07:29] <slavazanko/w> да
[14:11:11] <Зося Синицкая> RSS: Новости для Midnight Commander
• Ticket #2541 (mc quits with excessive audible I/O loads) updated
http://www.midnight-commander.org/ticket/2541#comment:9
[14:11:12] il.smind зашёл в конференцию
[14:11:51] <il.smind > привет!
[14:12:02] <andrew_b> !
[14:12:15] <slavazanko/w> привет
[14:12:22] <il.smind > ездил арматутру привёз
[14:12:35] <il.smind > арматуру
[14:15:03] <slavazanko/w> andrew_b: запушил. Надеюсь. последний :)
[14:35:38] <il.smind > чопочём?
[14:36:22] <slavazanko/w> 2361_vfs_uri
[14:41:48] <il.smind > slavazanko/w: главным ворчуном проверено?
[14:42:12] <slavazanko/w> слай давно не появлялся
[14:42:52] <il.smind > ))
[14:43:01] <il.smind > не тот
[14:43:36] <slavazanko/w> Андрюха ворчун штоле? Не :)
он добрый. нежный и ласковый.
[14:44:43] <slavazanko/w> проверка в процессе ещё. ты того... параллельно тоже. Выявляй недостатки, говори про них. от сегодня ещё один недостаток зафиксили...
[15:03:19] <andrew_b> slavazanko/w: в манах осталось ~/.local/share/mc/bindings
[15:03:36] <andrew_b> А надо ~/.local/share/mc/mc.ext
[15:05:49] <andrew_b> Кстати, при переносе конфигурации из ~/.mc переименуется ли ~/.mc/bindings в ~/.local/share/mc/mc.ext? Чо-то кажется, что нет.
[15:09:03] <slavazanko/w> нет. И не нужно
[15:09:20] <andrew_b> Точно?
[15:11:08] <slavazanko/w> точно. Нужна ручная обработка
[15:13:07] <slavazanko/w> изменения по докам запушил
[15:22:14] <andrew_b> slavazanko/w: а теперь перелечил. :)
[15:22:35] <slavazanko/w> ?
[15:22:37] <andrew_b> В заголовке панели ...c/mc/mc-2361_vfs_uri/sh://localhost/home/borodin
[15:22:52] <andrew_b> Ты сам-то проверяешь? :))
[15:23:15] <slavazanko/w> ну да. После выхода попадаем в текущий каталог. Сейчас проверял. Мне текущий каталог больше нравится, чем вылет в корень
[15:24:04] <andrew_b> Я захожу в sh://localhost/home/borodin.
[15:24:17] <andrew_b> А на панели написано вон что.
[15:24:29] <andrew_b> ...c/mc/mc-2361_vfs_uri причём тут?
[15:26:39] <andrew_b> Из-за
- buffer[0] = PATH_SEP;
[15:27:04] <andrew_b> Корня нет, вот оно и слепливается.
[15:27:47] <slavazanko/w> ща
[15:27:49] <il.smind > я снова тут
[15:28:04] <andrew_b> il.smind : а толку-то?
[15:28:13] <andrew_b> Тут он...
[15:28:24] <il.smind > andrew_b: да, согласен
[15:28:39] <il.smind > тут еще 2-е сзади нудяят
[15:28:40] <andrew_b> Когда отдыхать закончишь?
[15:28:57] <il.smind > одному шарик надуть второй вообще непоми чо надо
[15:29:01] <andrew_b> Народил -- терпи.
[15:29:34] <andrew_b> Всё, пошёл я.
[15:29:34] <slavazanko/w> запушил
[15:29:45] <slavazanko/w> ну иди. Я пожалуй тоже домой рвану
[15:29:47] <il.smind > andrew_b: куда?
[15:29:49] <slavazanko/w> надоело работать
[15:30:00] <il.smind > а...
[15:30:06] <andrew_b> il.smind : домой. Рабочий день того, закончен.
[15:30:11] andrew_b вышел из конференции: конец рабочего дня
[15:30:15] <il.smind > что я могу сделать?
[15:30:40] <slavazanko/w> если не сильно занят, то поревьювай. Хотя бы по одному коммиту
[15:30:49] <slavazanko/w> между детьми :)
[15:31:09] <il.smind > тяжко
[15:31:19] <il.smind > а помельче есть работа?
[15:31:21] <slavazanko/w> gjнимаю
[15:31:28] <slavazanko/w> помельче.. гм. Есть
[15:31:30] <il.smind > я пробовал ревьювить
[15:31:31] <slavazanko/w> завоевать мир
[15:31:36] <il.smind > вфс
[15:31:41] <il.smind > но сложно
[15:32:02] <slavazanko/w> Ладно, тогда такая просьба: скомпили и поставь в качестве рабочего
[15:32:13] <slavazanko/w> обо всех недочётах сразу отписуйся
[16:03:14] <il.smind > слав
[16:03:22] <slavazanko/w> ?
[16:03:55] <il.smind > как тебе нравится вот это
[16:04:30] <il.smind > http://adoxa.110mb.com/tde/tde.png
[16:04:53] <il.smind > пункты меню видишь как обозначены
[16:05:05] <il.smind > a)
b)
c)
[16:05:31] <slavazanko/w> типа, быстрого доступа?
[16:05:47] <il.smind > да
[16:05:53] <slavazanko/w> мне на этом вкриншоте больше тень нравиццо :)
[16:06:08] <il.smind > я просто от этих русских хоткеев
[16:06:20] <il.smind > незнаю как избавиться
[16:06:27] <il.smind > жутко неудобно
[16:06:28] <slavazanko/w> лечить надо tty/key
[16:06:48] <slavazanko/w> это больше к Андрею. Он виджетных дел мастер
[16:07:03] <il.smind > slavazanko/w: лечить чтобы что?
[16:07:29] <il.smind > мне идея национальных хоткеев не нравится
[16:07:48] <il.smind > надо все время язык переключать
[16:07:56] <il.smind > потом возвращать
[16:09:11] <il.smind > ты просто посмотри на них и всё... ну на скриншоте я имею ввиду
[16:09:20] <il.smind > я не требую решения
[16:09:31] <il.smind > просто мнение твоё интересно
[16:11:07] <slavazanko/w> нормально выглядит
[16:11:16] <il.smind > ок
[16:59:56] <il.smind > slavazanko/w:
CC ftpfs.lo
ftpfs.c: In function 'ftpfs_open_socket':
ftpfs.c:819:10: error: incompatible types when assigning to type 'char[8]' from type 'void *'
[17:31:19] slyfox^w зашёл в конференцию
[17:31:38] <slyfox^w> в ubuntu Ctrl+O в редакторе из mc до сих пор не работает, прально?
[17:43:06] slyfox^w вышел из конференции
[18:26:47] <il.smind > slyfox^w: Слай
[18:26:59] <il.smind > Ты чего партизанишь чтоле?
[18:35:28] andrew_b зашёл в конференцию
[18:44:45] repolainen зашёл в конференцию
[18:46:51] <repolainen> ы?
[18:47:07] <repolainen> студик на работе попросил настроить Ctrl+o на убунте и я сфейлил
[18:49:19] <andrew_b> http://habrahabr.ru/company/selectel/blog/122027/
[18:51:43] <andrew_b> Грят, надо cons.saver установит sgid для группы tty.
[18:51:56] <andrew_b> Точнее, так в Дебиане.
[18:52:22] <andrew_b> В Убунте тоже должно быть также по идее.
[18:56:35] <repolainen> оно даже под рутом неработает
[18:56:45] <repolainen> с правами баловался. не помогло
[18:57:08] theMIROn вышел из конференции: Miranda IM. Menshe. Pushche. Proshhe!
[18:57:17] <andrew_b> А сам cons.saver есть?
[18:58:23] <andrew_b> У меня так:

$ ll /usr/lib/mc/cons.saver
-rws--x--x 1 root root 9580 Янв 19 21:04 /usr/lib/mc/cons.saver
[18:58:52] <repolainen> сам есть
[18:59:43] <repolainen> у меня в gentoo sgid на tty, тоже работает
[19:02:11] <repolainen> завтра утром еще поизучаю
[19:07:09] repolainen вышел из конференции
[19:07:53] slavazanko/h зашёл в конференцию
[19:10:02] <il.smind > andrew_b: слушай
[19:10:04] <slavazanko/h> > ftpfs.c:819:10: error: incompatible types when assigning to type 'char[8]' from type 'void *'
какой бранч? в 2361_vfs_uri на этом номере пустая строка
[19:10:30] <il.smind > что там надо чтобы панели уменьшать в консоли linux
[19:10:31] theMIROn зашёл в конференцию
[19:10:48] <il.smind > slavazanko/h: это древнее что то
[19:10:55] <il.smind > я уже перепулил
[19:11:00] <slavazanko/h> откуда?
[19:11:06] <il.smind > с репа
[19:11:11] <il.smind > так что всё ок
[19:11:33] <slavazanko/h> а. Бранч проверял?
[19:11:43] <slavazanko/h> ревьювать-то надо. Хоть немного
[19:11:53] <slavazanko/h> и релизиться. А то уже до неприличия затянули
[19:11:57] <andrew_b> il.smind : Настройки/Внешний вид/Консольный вывод
[19:11:58] <il.smind > slavazanko/h: немного
[19:12:02] <il.smind > andrew_b: да
[19:12:12] <il.smind > недоступна настройка
[19:12:13] <andrew_b> А чо спрашиваешь?
[19:12:21] <il.smind > недоступна
[19:12:23] <andrew_b> Потому что не консоль.
[19:12:28] <il.smind > как узнать почему
[19:12:29] <slavazanko/h> хочет доступную настройку в xterm
[19:12:33] <il.smind > у меня консоль
[19:12:36] <slavazanko/h> думаю, что не получится
[19:12:48] <andrew_b> slavazanko/h: не xterm.
[19:12:52] <slavazanko/h> потому что в xterm переключаемся на альтернативный буфер
[19:12:54] <andrew_b> Только консоль.
[19:13:01] <il.smind > только консоль
[19:13:07] <il.smind > не xterm
[19:13:23] <slavazanko/h> угу, только в консоли. Причём у меня в голой консоли не работает. Но это из-за федоркиного фреймбуфера по дефолту
[19:13:43] <andrew_b> slavazanko/h: а вот такой неожиданный вопрос: 2361_vfs_uri под валгриндом запускал?
[19:13:44] <il.smind > чего мне не хватает в консоли
[19:13:53] <il.smind > что посмотреть
[19:13:55] <il.smind > ?
[19:14:05] <andrew_b> УМВР во фреймбуфере.
[19:14:11] <slavazanko/h> andrew_b: на непредсказуемый вопрос предсказуемый ответ: нет :)
ща погоняю
[19:15:44] <andrew_b> il.smind : у тебя бубунта?
[19:16:16] <slavazanko/h> andrew_b: УМНР, но мне монопениссуально. Я и так этой фичей не пользуюсь
[19:18:28] <il.smind > andrew_b: слако
[19:19:11] <il.smind > дело не в дистре
[19:19:21] <il.smind > а в проверках в mc
[19:19:54] <andrew_b> Ну код посмотри. Маленький, штоли?
[19:20:14] <il.smind > да там тогось
[19:20:18] <il.smind > я смотрел
[19:20:25] <il.smind > мы не поняли-с
[19:21:00] <il.smind > mc_global.tty.console_flag
[19:21:11] <il.smind > как оно назначается?
[19:22:00] theMIROn вышел из конференции: Miranda IM. Menshe. Pushche. Proshhe!
[19:23:00] <il.smind > мож у меня конс сервер не запущен?
[19:23:33] <il.smind > а должен?
[19:25:56] <il.smind > andrew_b: Андрей!
[19:26:31] theMIROn зашёл в конференцию
[19:26:43] <il.smind > Вы тут?!
[19:26:57] <slavazanko/h> кто?
[19:27:04] <il.smind > Они
[19:27:15] <andrew_b> il.smind : ХЗ
[19:27:33] <il.smind > тебе нравится как в TDE
[19:27:44] <il.smind > a)
b)
c)
[19:27:59] <andrew_b> Это ужас-ужас.
[19:28:58] <il.smind > да ну тя...
[19:29:15] <il.smind > я то думал тебе понравится...
[19:29:31] <andrew_b> Ни разу.
[19:29:57] <il.smind > ну тогда незнаю
[19:32:50] slavazanko/h вышел из конференции
[19:34:12] <il.smind > тогда никуда не деться ок русских хоткеев
[19:34:29] <andrew_b> LC_MESSAGES=C mc
[19:34:43] <andrew_b> И не будет тебе русских хоткеев.
[19:35:13] <il.smind > и русских пунктов меню
[19:35:27] <il.smind > а вот в фаре всё ок
[19:35:32] <il.smind > с этим
[19:35:57] slavazanko/h зашёл в конференцию
[19:37:07] <il.smind > там допустим если хоткей "в"
[19:37:21] <il.smind > то работает и "в" и "d"
[19:38:10] <andrew_b> Это не в Фаре, а в Венде, у которой полторы кодировки.
[19:39:20] <il.smind > ну может быть...
[19:39:29] <andrew_b> И тупая консоль.
[19:39:34] <il.smind > ))
[19:39:47] <il.smind > тупая но хорошая :)
[19:39:58] <il.smind > но я согласен
[19:42:00] <il.smind > как заспавить себя в этом вашем mc ковыряться...
[19:42:09] <il.smind > тут прички поют
[19:42:48] <il.smind > на улице...
[19:43:04] <il.smind > можно воздухом подышать
[19:43:16] <il.smind > на можно сходить...
[19:43:39] <il.smind > я же ничего этого 10 месяцев в году не вижу
[19:43:49] <il.smind > даже солнца не дают
[19:45:12] <il.smind > сын сказал - Одна тебе минута!
[19:49:02] <andrew_b> Да, я тоже пойду. Спать.
[19:49:08] andrew_b вышел из конференции
[19:58:15] slavazanko/h вышел из конференции
[20:00:15] slavazanko/h зашёл в конференцию
[20:00:24] <slavazanko/h> отдыхай, Илья. Если один раз за 10 месяцев, то это святое :)
[20:19:54] BanderOS зашёл в конференцию
[20:40:12] slavazanko/h вышел из конференции
[20:56:49] slavazanko/h зашёл в конференцию
[21:17:47] <il.smind > strcpy (buffer , prefix + 2);
[21:18:00] <il.smind > поправь пробел перед запятой
[21:18:07] <il.smind > slavazanko/h: Слав!
[21:20:54] <il.smind > buffer + strlen (prefix) - 3 не может быть отрицательным?
[21:21:39] <il.smind > prefix пустой и buffer < 3-х ?
[21:22:43] <il.smind > не не меньше трёх
[21:23:08] <il.smind > а раньше начала строки
[21:24:35] <il.smind > имхо надо проверить длину prefix
[21:34:40] <il.smind > lib/utilunix.c

568 while (*p)
569 {
570 if (p[0] == PATH_SEP && p[1] == PATH_SEP && (p == lpath || *(p - 1) != ':'))
571 {
572 s = p + 1;
573 while (*(++s) == PATH_SEP);
574 str_move (p + 1, s);
575 }
576 p++;
577 }
[21:35:28] <il.smind > зачем в цикле проверять p[0] == PATH_SEP && p[1] == PATH_SEP
[21:36:07] <slavazanko/h> 576 p++;
[21:36:24] <il.smind > да... сижу вот думаю...
[21:36:33] <il.smind > как
[21:36:45] <slavazanko/h> меняется указатель при каждой итерации цикла. пэтому надо проверять
[21:36:48] <il.smind > если за цикл вынести
[21:36:58] <il.smind > а...
[21:37:16] <il.smind > ну да
[21:37:36] <il.smind > такие вещи *(p - 1)
[21:37:46] <il.smind > меня всегда напрягают
[21:38:17] <slavazanko/h> ну... это p[-1]
[21:38:21] <slavazanko/h> другая запись
[21:38:28] <il.smind > и?
[21:38:34] <slavazanko/h> то же самое
[21:38:44] <il.smind > а где гарантия валидности?
[21:39:30] <il.smind > ну понятно что p указывает не на NULL
[21:40:17] <slavazanko/h> (p == lpath || *(p - 1) != ':')
если p равно lpath(он же - начало строки) ИЛИ предыдущий символ не равен двоеточию
[21:40:54] <slavazanko/h> то есть. сравнение *(p - 1) != ':' никогда не будет проверяться. если p равно началу строки
[21:41:02] <il.smind > я понимаю что или
[21:41:05] <slavazanko/h> тут и есть гарантия валидности
[21:41:34] <slavazanko/h> второе условие не выполняется. если первое условие валидно. Это стандарт Си
[21:41:53] <il.smind > да
[21:42:20] <il.smind > p != lpath
[21:42:41] <il.smind > оно может быть меньше
[21:42:50] <il.smind > не только больше
[21:43:20] <slavazanko/h> в каких условиях оно может быть меньше?
[21:43:58] <il.smind > при условии что перед циклом p = lpath
[21:44:00] <il.smind > да?
[21:44:10] <il.smind > наверное ни при каких
[21:44:17] <slavazanko/h> угу
[21:44:57] <il.smind > ок
[21:45:13] <il.smind > пробел уберёшь? :)
[21:45:23] <slavazanko/h> где?
[21:45:40] <il.smind > [23:17:53] <il.smind > strcpy (buffer , prefix + 2);
[23:18:05] <il.smind > поправь пробел перед запятой
[21:46:02] <il.smind > cmd.c вроде
[21:46:29] <slavazanko/h> номер строки какой?
[21:46:54] <il.smind > 494
[21:46:56] <slavazanko/h> а. вижу
[21:47:45] <slavazanko/h> поправил :)
[21:49:14] <il.smind > про il.smind > имхо надо проверить длину prefix
[21:49:26] <slavazanko/h> в каком файле?
[21:49:32] <il.smind > можешь сказать?
[21:49:34] <il.smind > ща
[21:49:45] <il.smind > там же
[21:49:55] <il.smind > где и пробел
[21:51:52] <slavazanko/h> а. Не. там префик не может быть меньше 3-х символов. Все вызова функции nice_cd строго прописаны. В смысле. с захардкоденными префиксами. Префикс не вводится пользователем. а добавляется из функции. например. ввода FISH-строки для соединения. Самый короткий префикс /#sh:
он пять символов
[21:52:06] <il.smind > ну и что
[21:52:24] <il.smind > а вдруг кто то будет писать новое
[21:52:48] <il.smind > и сделает /#:
[21:53:29] <slavazanko/h> между 4.8.0 и 4.9.0? сомневаюсь :)
А после 4.9.0 поддержка старых путей будет убрана и эта функция перестанет существование. Это временный костыль на период существования двух форм строки пути
[21:55:57] <il.smind > 1 проверочку, а?
[21:56:22] theMIROn вышел из конференции
[21:56:24] <il.smind > нет ничего более постоянного чем временное
[21:56:28] theMIROn зашёл в конференцию
[21:58:29] <slavazanko/h> запушел твоё пожелание
[22:00:05] <il.smind > 10 коммитов отсмотрел
[22:00:11] <il.smind > осталось 100500
[22:01:06] <il.smind > под рукой нет соляры
[22:01:17] <il.smind > ты уверен в этом
118 return g_strdup_printf ("%c%" PRIuMAX SRLZ_DELIM_S "%s", prefix, strlen (data), data);
116 return g_strdup_printf ("%c%zd" SRLZ_DELIM_S "%s", prefix, strlen (data), data);
[22:02:10] <il.smind > вроде как патчили мы по итогам компиляции под солярой %zd
[22:02:52] <slavazanko/h> это мы с Андрюхой выстрадали. У меня гуд. у него нет. от он и предложил так
[22:02:53] <il.smind > а нет
[22:03:03] <il.smind > %zd есть
[22:03:12] <il.smind > в 4-х местах
[22:03:14] <slavazanko/h> угу
[22:03:15] <il.smind > ну ок
[22:03:25] <il.smind > мне просто не проверить пока
[22:03:34] <il.smind > на солярке
[22:03:39] <slavazanko/h> поверь на слово. что всё гуд :)
[22:03:51] <il.smind > я верю
[22:03:54] <slavazanko/h> я вот только пару мямликов пофикшу ещё...
[22:04:04] <il.smind > просто как приеду проверю )
[22:04:21] <il.smind > под валгриндом погонял?
[22:04:24] <slavazanko/h> угу. тогда переоткроешь 2361 :)
[22:04:39] <il.smind > ах ты...
[22:04:44] <slavazanko/h> гоняю. И фикшу memory leaks. показал сразу. зараза
[22:05:05] <slavazanko/h> немного. но есть. в рёх местах пока что
[22:05:05] <il.smind > Понаберут по объявлению...
[22:05:25] <slavazanko/h> по объявлению про мопеды?
[22:05:36] <il.smind > ))
[22:06:07] <slavazanko/h> не. там настолько глубокие изменения были. что в принципе я доволен количеством мемликов.
[22:06:14] <slavazanko/h> думал. что быдет больше
[22:06:24] <il.smind > я понимаю
[22:06:37] <il.smind > я думал вообще никогда не родится
[22:06:54] <il.smind > это я еще только фиксы на фиксы смотрю
[22:07:10] <il.smind > еще до настоящих коммитов не добрался )
[22:07:11] <slavazanko/h> не родится кто?
[22:07:22] <slavazanko/h> а. ты сверху смотришь :)
[22:07:25] <il.smind > новая vfs
[22:07:37] <slavazanko/h> я обычно начинаю с первых коммитов по хронологии
[22:07:39] <il.smind > я смотрю по разному
[22:08:00] <slavazanko/h> а новой vfs ещё нету. Это первые шаги. Конечная цель: полноценные плагины с API
[22:08:10] <il.smind > я смотрю патч а потом смотрю разницы между мастером и бранчем
[22:08:17] <il.smind > по одному файлу
[22:08:19] <slavazanko/h> а
[22:08:24] <il.smind > в diffview
[22:09:41] <il.smind > нашел когда приехал письмо из налоговой
[22:09:49] <il.smind > отправленное моей маме
[22:09:58] <il.smind > о том что она снята с учета
[22:10:06] <il.smind > в связи со смертью
[22:10:43] <slavazanko/h> то есть. письмо в никуда?
[22:11:06] <il.smind > больные люди на голову
[22:11:14] <slavazanko/h> угу
[22:13:32] <il.smind > украл
path_magic (const char *path)
[22:13:39] <il.smind > из vfs.c
[22:13:45] <il.smind > в свой
[22:13:55] <il.smind > path.с
[22:14:34] <il.smind > и цопирайты перебил
Written by:
Slava Zanko <slavazanko@gmail.com>, 2011
[22:14:46] <il.smind > оох..
[22:15:09] <il.smind > и сидит ровно
[22:15:15] <slavazanko/h> ну не тебе одному код тырить...
[22:16:45] <il.smind > ээх хорошая вещь diffview :)
[22:19:48] <il.smind > #define PREFIX \
[22:19:57] <il.smind > тогось?
[22:20:03] <il.smind > упразднил?
[22:21:36] <slavazanko/h> угу
[22:21:39] <slavazanko/h> он не нужен
[22:21:46] <slavazanko/h> пофиксил мемлики
[22:21:49] <il.smind > а уж квк я то рад
[22:22:02] <slavazanko/h> уродство было какое-то
[22:22:06] <il.smind > что ты снёс этот #define PREFIX \
[22:22:14] <il.smind > да ваще
[22:23:07] <il.smind > т.е. у нас скоро будет релиз?
[22:23:12] <il.smind > 4.8 ?
[22:23:20] <slavazanko/h> да. Если ты отревьюваешь :)
[22:23:26] <slavazanko/h> с Анлрюхой
[22:23:39] <il.smind > а sftp ?
[22:23:52] <il.smind > вы туда возьмёте?
[22:23:56] <slavazanko/h> оно готово уже? С диалогом настроек?
[22:24:28] <il.smind > да диалог настроек это для тренировки
[22:25:23] <il.smind > а это...
[22:25:49] <il.smind > помнишь про систему событий я говорил когда начинал делать sftp
[22:26:15] <il.smind > там мне нехватало кое каких событий
[22:26:30] <il.smind > и их мне приходитлось руками генерить
[22:26:59] <il.smind > или пока с эим не приставать
[22:27:16] <il.smind > ща скажу каких событий нехватало
[22:27:33] <slavazanko/h> говори
[22:31:23] <il.smind > open_archive
[22:31:57] <slavazanko/h> напомни, что там за события нужны?
[22:31:57] <il.smind > free_archive
[22:32:14] <il.smind > ща буду вспоминать
[22:32:16] <slavazanko/h> они откуда должны вызываться? кому посылаться?
[22:32:21] <il.smind > ща
[22:33:03] <il.smind > _open_archive
[22:33:11] <il.smind > это инициализация
[22:33:33] <il.smind > т.е. там я разбираю путь
[22:33:59] <il.smind > делаю super->data = g_new0 (sftpfs_super_data_t, 1);
[22:34:17] <il.smind > иициализирую супер
[22:35:03] <il.smind > и запускаю процедуру установки соединения
[22:36:06] <il.smind > сейчас мне приходится запускать ее руками через вызов vfs_s_get_path_mangle
[22:36:25] <il.smind > внутри _chdir
[22:37:33] <slavazanko/h> а как надо?
[22:37:39] <il.smind > ytpyf.
[22:37:42] <il.smind > незнаю
[22:37:53] <il.smind > хотелось
[22:38:06] <il.smind > бы чтобы само возбуждалось
[22:38:26] <il.smind > в момент _chdir
[22:38:49] <il.smind > или перед
[22:39:37] <slavazanko/h> вроде есть вызов open_archive. Тот же FISH его поддерживает. по аналогии никак?
[22:40:08] <il.smind > там везде понатыканы вызовы
[22:40:18] <il.smind > vfs_s_get_path_mangle
[22:40:59] <slavazanko/h> subclass->open_archive есть, да
[22:41:03] <slavazanko/h> и что?
[22:41:08] <slavazanko/h> не устраивает?
[22:42:15] <il.smind > ну надо знать что надо впендюривать этот самый vfs_s_get_path_mangle
[22:42:30] <slavazanko/h> дык оно автоматом вызывается
[22:42:36] <il.smind > как то несколько неочевидно
[22:42:39] <slavazanko/h> где надо
[22:42:52] <il.smind > оно это кто?
[22:43:04] <il.smind > open_archive?
[22:43:16] <il.smind > да при вызове vfs_s_get_path_mangle
[22:43:20] <slavazanko/h> vfs_s_get_path_mangle
[22:43:26] <il.smind > нет
[22:43:29] <slavazanko/h> vfs_s_open
[22:43:34] <slavazanko/h> вызывает
[22:43:34] <il.smind > его надо звать
[22:43:39] <slavazanko/h> не надо
[22:46:43] <il.smind > а кто позовёт vfs_s_open
[22:46:48] <il.smind > ?
[22:46:54] <il.smind > что то ниасилил
[22:47:36] <slavazanko/h> vfs_s_init_class
[22:48:00] <slavazanko/h> если после этого не переопределить vclass->open
[22:48:07] <slavazanko/h> иначе вручную
[22:48:30] <il.smind > дык
[22:48:33] <slavazanko/h> а vclass->open будет вызван из mc_open...
[22:48:52] <il.smind > а не вручную
[22:50:19] <slavazanko/h> fish_open, например, потом вызывает vfs_s_open
[22:50:31] <slavazanko/h> то есть, в конечном итоге всё работает как надо
[22:50:41] <il.smind > я вот смотрю в рыбе этот vfs_s_open в
fish_open
[22:50:43] <slavazanko/h> и тебе надо в sftp_open вызывать её
[22:50:51] <slavazanko/h> угу
[22:50:53] <il.smind > возможно
[22:51:06] <slavazanko/h> ну и всё. будет телемаркет
[22:51:12] <il.smind > но меня же этому не учили...
[22:51:22] <il.smind > будет то будет
[22:51:34] <slavazanko/h> и меня тоже :) Я сейчас, пока с тобой общаюсь, по коду ищу и выясняю
[22:51:41] <il.smind > но нельзя ли как то поочевиднее
[22:51:51] <slavazanko/h> как?
[22:52:13] <il.smind > незнаю
[22:52:26] <il.smind > написать в доке
[22:52:43] <il.smind > Вставьте вызов vfs_s_open
[22:53:00] <il.smind > в sftp_open
[22:53:08] <il.smind > в _open
[22:53:18] <il.smind > или еще проще
[22:53:22] <slavazanko/h> http://www.midnight-commander.org/wiki/doc-devel
пиши там, если хошь
[22:53:27] <il.smind > проверить не вызывался ли он
[22:53:37] <il.smind > если не вызывался то вызвать
[22:54:21] <il.smind > есть же место откуда можно позвать vfs_s_open
[22:55:44] <slavazanko/h> если был переопределён вызов open, то vfs_s_open точно не вызывался ранее. потому что функция vfs_s_open вешается на вызов open как дефолтная. А тут ты перебиваешь её и вешаешь вместо неё свою sftp_open. Естественно, что надо потом вызвать из твоей функции оригинальную vfs_s_open
[22:56:10] <il.smind > ок
[22:56:58] <slavazanko/h> http://demotivators.ru/posters/572177/lezhachaya-politsejskaya-.htm
[22:58:37] <il.smind > )
[22:59:50] <il.smind > ладно завтра сложный день...
[23:00:01] <il.smind > пойду спать
[23:00:08] <slavazanko/h> угу. Давай. Доревьювай - и спать :)
[23:00:10] <il.smind > но я честно пытаюсь
[23:00:17] BanderOS вышел из конференции: Этого участника выгнали из комнаты за то, что он послал сообщение об ошибке другому участнику: service-unavailable
[23:04:06] BanderOS зашёл в конференцию
[23:04:58] BanderOS вышел из конференции
[23:56:36] il.smind вышел из конференции
Powered by freQ Powered by Python Valid XHTML 1.0 Transitional Valid CSS!