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

Тема: http://www.midnight-commander.org | Latest release: 4.8.1 | Latest stable release: 4.7.5.6
[04:05:33] repolainen зашёл в конференцию
[04:50:49] repolainen вышел из конференции
[05:16:04] andrew_b зашёл в конференцию
[07:40:56] slavazanko/h вышел из конференции
[08:02:37] slavazanko/h зашёл в конференцию
[08:34:45] <Зося Синицкая> RSS: Новости для Midnight Commander
• Ticket #2695 (VFS reorganization: the vfs_path_t expansion to 'src/' subdirectory) updated
http://www.midnight-commander.org/ticket/2695#comment:9
[08:40:27] slavazanko/h вышел из конференции
[08:43:42] slavazanko/h зашёл в конференцию
[09:28:15] theMIROn зашёл в конференцию
[10:09:07] <slavazanko/h> http://cs5634.userapi.com/u165134271/-14/x_455ea923.jpg
[10:10:18] <iliamaslakov> неужели 5? врут поди
[10:10:35] <slavazanko/h> два?
[10:10:54] <iliamaslakov> когда вливать 2695 будем?
[10:11:41] <andrew_b> iliamaslakov: гота селл? Энд иф ай файнд?
[10:12:31] <slavazanko/h> я в процессе вливания
[10:13:10] <andrew_b> Потом предлагаю обсудить 2738.
[10:15:19] <slavazanko/h> давайте обсуждать
[10:15:43] <slavazanko/h> это выстрел в ногу или баг?
[10:16:12] <andrew_b> Картина какая? Вместо каталога .confug имеем одноимённый файл.
[10:16:19] <andrew_b> .config
[10:16:31] <andrew_b> Но это не повод сегфолтиться.
[10:16:32] <slavazanko/h> угу
[10:16:42] <andrew_b> Надо нормально обработать эту ситуацию.
[10:16:45] <slavazanko/h> значит. буду лечить
[10:16:52] <andrew_b> Погоди.
[10:17:00] <andrew_b> 2738_handle_startup_error
[10:17:06] <andrew_b> Кое-что я там сделал.
[10:17:15] <andrew_b> Ну и заодно ещё кое-что.
[10:17:29] <andrew_b> И кое-что хотелось бы ещё сделать.
[10:17:33] <slavazanko/h> гм. ща гляну
[10:17:42] <slavazanko/h> что ещё хотелось бы?
[10:18:43] <andrew_b> lib/mcconfig/paths.c

294 mc_config_str = mc_config_init_one_config_path (u_config_dir, MC_USERCONF_DIR, error);
295 mc_cache_str = mc_config_init_one_config_path (u_cache_dir, MC_USERCONF_DIR, error);
296 mc_data_str = mc_config_init_one_config_path (u_data_dir, MC_USERCONF_DIR, error);
[10:19:00] <andrew_b> Сдаётся мне, так делать неправильно.
[10:19:25] <andrew_b> Иначе происходит затирание предыдущей ошибки и мемлики.
[10:19:26] <slavazanko/h> а как по-другому?
[10:19:32] <slavazanko/h> а, error
[10:19:48] <andrew_b> Надо анализировать каждую ошибку и выходить, если она есть.
[10:20:01] <slavazanko/h> не, вроде там не будет затирания. Наоборот, последующие ошибки будут пропущены. потому что error!= NULL
[10:20:13] <Зося Синицкая> RSS: Новости для Midnight Commander
• Ticket #2695 (VFS reorganization: the vfs_path_t expansion to 'src/' subdirectory) updated
http://www.midnight-commander.org/ticket/2695#comment:10
• Ticket #2454 (Make reloading extfs contents possible) updated
http://www.midnight-commander.org/ticket/2454
• Ticket #62 (savannah: MC fail to notice when archive is replaced) updated
http://www.midnight-commander.org/ticket/62
[10:20:23] <slavazanko/h> и в последствии error не заполняется. Только в первый раз
[10:20:31] <andrew_b> Ща.
[10:21:29] <andrew_b> Гм. Да, действительно.
[10:21:39] <andrew_b> 284 if (*dest != NULL)
285 g_warning (ERROR_OVERWRITTEN_WARNING, src->message);
286 else
287 *dest = src;
[10:22:09] <andrew_b> Ну тогда ладно.
[10:23:04] <andrew_b> Тогда вот ещё. Там же:

163 fprintf (stderr, "%s %s\n", _("FATAL: not a directory:"), full_path);
164 exit (EXIT_FAILURE);
[10:23:27] <andrew_b> Лучше бы вынести наверх, а не файлурить из библиотеки.
[10:24:40] <andrew_b> Кстати, в это месте на фалй .config почему-то не ругается.
[10:24:51] <andrew_b> Хотя по идее должен.
[10:27:08] <slavazanko/h> да, надо вынести из библиотеки. Не ругается - это и есть косяк. Должно
[10:28:31] <andrew_b> В tty есть пара мест с exit(EXIT_FAILURE).
[10:30:44] <andrew_b> В 2738_handle_startup_errors добавил коммит.
[10:33:39] <andrew_b> Блин, я там неправильно сделал.
[10:34:07] <iliamaslakov> mc не должен отваливаться
[10:34:11] <iliamaslakov> так?
[10:35:06] <andrew_b> Я перенёс mc_args_handle до инициализации vfs, а в mc_args_handle вызывается mc_setctl
[10:35:30] <andrew_b> Но сама идея обработки ошибок, считаю, правильная.
[10:36:07] <slavazanko/h> > mc_args_handle вызывается mc_setctl
а оно там надо? может, просто setctl?
[10:36:15] <andrew_b> Не.
[10:36:32] <andrew_b> 430 if (mc_args__netfs_logfile != NULL)
431 {
432 #ifdef ENABLE_VFS_FTP
433 mc_setctl ("ftp://", VFS_SETCTL_LOGFILE, (void *) mc_args__netfs_logfile);
434 #endif /* ENABLE_VFS_FTP */
435 #ifdef ENABLE_VFS_SMB
436 mc_setctl ("smb://", VFS_SETCTL_LOGFILE, (void *) mc_args__netfs_logfile);
437 #endif /* ENABLE_VFS_SMB */
438 }
[10:37:37] <andrew_b> А что такое просто setctl?
[10:37:47] <andrew_b> $ man setctl
No manual entry for setctl
[10:37:47] <slavazanko/h> да, там надо
[10:38:21] <andrew_b> Ща поправлю.
[10:42:45] <andrew_b> Поправил.
[10:42:51] iliamaslakov вышел из конференции: Replaced by new connection
[10:42:53] iliamaslakov зашёл в конференцию
[10:44:20] <andrew_b> slavazanko/h: А чёй-та в таймлайне не видно мержа 2695? Не доехало с гитхаба ещё?
[10:45:12] <slavazanko/h> нет, это я, растяпа, забыл git push origin master
[10:45:47] <slavazanko/h> всё
[10:49:25] <slavazanko/h> Мужики, вот рассудите:
(многофото) bigpicture.ru/?p=233208

и кусок внутреннего корпоративного чата:
[12:42:06 FET] Slava Zanko: Идиот фотограф. Ничем не лучше тех, кто на месте аварии вместо помощи начинает снимать видео для ютьюба.
Бабушка, бьюсь об заклад, не понимает смысла плакатов, которые она держит. А внучок рад стараться ради красивой и прекольной картинки
[12:43:09 FET] Aliaksandr Vitkouski: Слава, ты не прав.
[12:43:24 FET] Slava Zanko: буду только рад, если окажусь неправ
[10:49:34] <slavazanko/h> я не прав?
[10:52:21] <andrew_b> Ну, бабаушка, может, и не понимает. Мне не понятно сравнение этого с аварией.
[11:01:33] <slavazanko/h> ну это всё те же фотографы, которые ради красивой картинки готовы накласть на других, лишь бы первыми в бложик выложить. В данном случае "накладено" на уважение к возрасту, к старости
[11:02:12] <andrew_b> Ну там вроде нет ничего оскорбительного для бабаушки.
[11:04:23] <slavazanko/h> ну хз. Меня это почему-то покоробило. Я представил на месте бабушки свою маму и себя за фотоаппаратом. Как-то это.. не по людски. Если бы мама стояла с плакатом, на котором был бы рецепт приготовления блюда - это понятно, шаг осознанный. А использовать человека, да ещё и преклонных готов, в качестве подставки под свои креативные плакаты...
[11:04:41] <slavazanko/h> готов == годов
[11:11:43] <slavazanko/h> + g_error_free (*error);
+ *error = error2;
Гм... обычное глибовское поведение при возникновении ошибки: проинициализировать GError в первый раз и потом игнорировать инициализацию, если ранее уже была заполнена GError. Это помогает, если ошибки нарастают лавинообразно и часто самая первая ошибка является наиболее правильной для обработки.
g_propagate_error() для этого и служит
[11:12:07] <slavazanko/h> а тут получается, что предыдущая ошибка грохается и вместо неё пишется следующая
[11:12:36] <andrew_b> Ща.
[11:13:31] <slavazanko/h> g_propagate_error (error, g_error_new (MC_ERROR, 0, _("SOME ERROR MESSAGE")));
[11:13:42] <andrew_b> Там у ошибки сообщение меняется.
[11:13:50] <andrew_b> Перекодируется.
[11:14:31] <andrew_b> Я твой нод немного изменил.
[11:15:03] <andrew_b> Раньше было сообщение в stderr, и ошибка грохалась.
[11:15:22] <slavazanko/h> а.. ну тогда пользуясь случаем
g_free((*error)->message);
(*error)->message = full_help_str;
[11:15:28] <slavazanko/h> кажись так будет правильнее
[11:16:04] <andrew_b> Вот не хотелось бы так лезть в поля стуктуры. Вдруг её завтра сделают закрытой?
[11:16:24] <slavazanko/h> тоже верно. Ладно, пусть будет
[11:22:23] <slavazanko/h> src/main.c

startup_exit_falure
startup_exit_ok

может, это функциями сделать? типа

return startup_exit_falure(exit_code, error);
и
return startup_exit_ok();

А то как-то немного запутанный код получается, как по мне
[11:22:45] <slavazanko/h> а хотя...
[11:22:49] <slavazanko/h> что так, что этак
[11:23:02] <slavazanko/h> разве что сразу будет виден return, а не goro
[11:33:03] <slavazanko/h> оформляй 2738
[11:34:27] <andrew_b> Так не доделано же ещё.
[11:35:18] <slavazanko/h> ну вроде работает :)
[11:35:23] <slavazanko/h> заявленно в тикете работает
[11:35:49] <andrew_b> Я хотел exit (EXIT_FAILURE) из либ убрать.
[11:36:04] <slavazanko/h> а.. ок, тогда ждём
[11:36:33] <andrew_b> А ты посмотри, почему fprintf (stderr, "%s %s\n", _("FATAL: not a directory:"), full_path); не срабатывает.
[11:42:27] <slavazanko/h> у меня срабатывает
[11:42:30] <slavazanko/h> с переводом даже
[11:42:50] <slavazanko/h> КРИТИЧЕСКАЯ ОШИБКА: не является каталогом: /home/slavaz/.config/.mc2
[11:43:17] <andrew_b> А...
[11:44:22] <iliamaslakov> >КРИТИЧЕСКАЯ ОШИБКА: не является каталогом: /home/slavaz/.config/.mc2
почему критическая?
[11:44:36] <slavazanko/h> а какая?
[11:44:49] <slavazanko/h> ошибка, несовместимая с продолжением работы.
[11:45:18] <slavazanko/h> просто ошибка - это "невозможно удалить .."
[11:45:26] <slavazanko/h> можно продолжать работу. хоть и ошибка
[11:45:32] <slavazanko/h> или ты к переводу цепляешься?
[11:48:05] <iliamaslakov> slavazanko/h: ошибка, несовместимая с продолжением работы.
да с какого перепугу то?
[11:48:43] <iliamaslakov> я говорю о том что эта ошибка не критичная и позволяет дальше работать
[11:48:47] <iliamaslakov> так?
[11:48:57] <andrew_b> Не так.
[11:52:39] <iliamaslakov> поясни свою позицию
[11:54:48] <iliamaslakov> у нас дефолты для чего в коде забиты, именно для таких ситуаций
[11:55:00] <andrew_b> Он не может созать каталог при запуске. Он также не сможет создать каталог при завершении, чтобы записать туда конфиги, историю, и т. д.
[11:55:13] <iliamaslakov> ну и чего
[11:55:36] <iliamaslakov> ну не может, что такого страшного?
[11:55:51] <andrew_b> Точнее, историю он пишет при закрытии любого диалога.
[12:04:24] <iliamaslakov> чего притихли то?
[12:06:01] <andrew_b> Ваши предложения?
[12:18:05] <slavazanko/h> чего притих то?
[12:18:12] <slavazanko/h> iliamaslakov: тык
[12:21:13] <iliamaslakov> да
[12:21:27] <slavazanko/h> ваши предложения?
[12:21:29] <iliamaslakov> мои такие работаем дальше
[12:21:51] <iliamaslakov> пофигу что не создаётся
[12:21:58] <slavazanko/h> не, техосмотр не пройдёт. Это как с отвалившимися тормозами ехать
[12:22:11] <iliamaslakov> slavazanko/h, враньё
[12:22:28] <iliamaslakov> это как ехать без работающего бардачка
[12:22:38] <slavazanko/h> то есть, ты предлагаешь работать на R/O файловых системах?
[12:22:44] <iliamaslakov> да
[12:22:54] <iliamaslakov> что такого:
[12:22:55] <iliamaslakov> ?
[12:23:06] <slavazanko/h> всё гуд. переделывать везде надо
[12:23:17] <iliamaslakov> поясни
[12:24:01] <slavazanko/h> ну искать места, где может быть потенциальный сегфолт или нарушение нормального хода выполнения из-за невозможности записать конфиги
[12:24:17] <slavazanko/h> или прочитать конфигиъ
[12:24:30] <iliamaslakov> скажите
[12:24:37] <slavazanko/h> ?
[12:24:45] <iliamaslakov> вы со мной принципиально не согласны что надо работать
[12:25:01] <iliamaslakov> или только от того что переделывать не охота?
[12:25:10] <slavazanko/h> второе.
[12:25:18] <slavazanko/h> не то, чтобы переделывать - это легко
[12:25:25] <slavazanko/h> искать, гед надо переделать...
[12:25:34] <slavazanko/h> это уже сложнее и муторнее
[12:25:40] <iliamaslakov> это понятно
[12:25:59] <slavazanko/h> проще выплюнуть критическую ошибку
[12:26:51] <andrew_b> iliamaslakov: тебя не будет доставать, что при закрытии каждого каталога будет вылезать сообщение: "Не согу сохранить историю"?
[12:27:03] <andrew_b> закрытии каждого диалога
[12:27:32] <iliamaslakov> нене
[12:27:40] <iliamaslakov> пусть в консоль спамит
[12:27:46] <slavazanko/h> нене
[12:27:48] <slavazanko/h> в лог
[12:27:58] <slavazanko/h> mc --fatal-errors-to-log
[12:28:09] <slavazanko/h> но
[12:28:12] <slavazanko/h> это же надо сделать
[12:28:21] <slavazanko/h> а у нас и так релиз на месяц просран
[12:32:46] <andrew_b> slavazanko/h: кто эти логи читает?
[12:33:46] <slavazanko/h> никто. Даже более того: на R/O системе логи вестись не будут. но всё же --fatal-errors-to-log мне показалось более правильным, чем --ignore-fatal-errors
[12:34:04] <slavazanko/h> короче. лично я пока что против таких переделок под работу на R/O
[12:34:40] <slavazanko/h> если есть желание, то можно создать новый тематический тикет по этому поводу и задвинуть его на future releases полку.
[12:35:04] <slavazanko/h> и тикет будет task, а не bug
[12:43:06] <slavazanko/h> в библиотеке exit остался в
utilunix.c:254
widget/input.c:871
tty/key.c: 1949
tty/tty.c:98
tty-slang.c:292,471
mcconfig/paths.c:164
vfs/utilvfs.c:340
Андрей добивает эти exit
[12:43:11] <slavazanko/h> и голосуем
[12:43:16] <slavazanko/h> без выебонов с r/o
[12:44:08] <andrew_b> widget/input.c:871 убрать. Он там как не пришей рукав. В других виджетах такого нет.
[12:44:33] <andrew_b> tty/key.c: 1949 слишком глубоко. Думаю, можно оставить.
[12:44:40] <andrew_b> vfs/utilvfs.c:340 хз
[12:44:54] <slavazanko/h> ну если что-то и останется. то не страшно
[12:45:04] <slavazanko/h> мать его ети, жили с этим - и ещё проживём
[13:20:58] iliamaslakov вышел из конференции
[14:28:09] andrew_b вышел из конференции
[14:29:31] iliamaslakov зашёл в конференцию
[14:32:33] <iliamaslakov> кстати чот не слышу поздравлений нифуя
[14:36:01] <iliamaslakov> ДР как ни как
[16:43:27] andrew_b зашёл в конференцию
[17:32:45] andrew_b вышел из конференции
[18:43:17] theMIROn вышел из конференции: Miranda IM. Menshe. Pushche. Proshhe!
[18:43:38] theMIROn зашёл в конференцию
[20:54:16] monkey зашёл в конференцию
[21:51:16] monkey вышел из конференции
[23:09:26] <Зося Синицкая> RSS: Новости для Midnight Commander
• Ticket #2736 (MC deletes the wrong file) updated
http://www.midnight-commander.org/ticket/2736#comment:5
[23:24:28] <Зося Синицкая> RSS: Новости для Midnight Commander
• Ticket #2736 (MC deletes the wrong file) updated
http://www.midnight-commander.org/ticket/2736#comment:6
Powered by freQ Powered by Python Valid XHTML 1.0 Transitional Valid CSS!