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

Тема: http://www.midnight-commander.org | Latest stable release: 4.7.5.1
[00:29:24] slavazanko/h вышел из конференции
[00:31:12] slavazanko/h зашёл в конференцию
[06:11:15] andrew_b зашёл в конференцию
[06:57:52] <il.smind > andrew_b привет
[06:58:07] <il.smind > смотри
[06:59:33] <il.smind > мне бы хотелось чтобы в vfs_class были open_conn/close_conn
[07:01:28] <andrew_b> Зачем?
[07:02:56] <il.smind > чтобы они выполнялись 1 раз
[07:03:08] <il.smind > при соединении и разсоединении
[07:03:44] <il.smind > сейчас таких нет
[07:04:11] <il.smind > есть опен и клосе но они незнаю в каких случаях работают
[07:15:25] iNode зашёл в конференцию
[07:50:38] <andrew_b> il.smind : open_archive?
[07:50:48] <il.smind > нет
[07:51:16] <il.smind > оно вызывается из vfs_s_get_path_mangle
[07:51:30] <andrew_b> 103 /*
104 * One of our subclasses (tar, cpio, fish, ftpfs) with data and methods.
105 * Extends vfs_class. Stored in the "data" field of vfs_class.
106 */
107 struct vfs_s_subclass
[07:51:32] <il.smind > слава вчера мне нашептал
[07:51:49] <andrew_b> Кто оно?
[07:52:28] <andrew_b> Ну вызывается. И что?
[07:52:40] <il.smind > само vfs_s_get_path_mangle вызывается из разных мест внутри ftpfs и fish
[07:53:20] <andrew_b> А в vfs_s_get_path_mangle() есть вызов archive_same().
[07:55:00] <il.smind > неудобно
[07:55:07] <il.smind > и черезжопно оно
[07:55:34] <il.smind > нужно чтобы оно нормально отрабатывало без вопросов
[07:55:51] <il.smind > этот самый open_conn
[07:59:00] <andrew_b> Мы же стваим цель избавиться от парсинга url, то есть от в итоге от vfs_s_get_path_mangle.
Может, есть смысл объединить vfs_class и vfs_s_subclass?
[08:26:25] andrew_b вышел из конференции
[08:38:10] <il.smind > и человек знал что первым методом будет open_conn
[08:38:28] <il.smind > andrew_b: есть смысл
[08:39:17] <il.smind > но имхо достаточно
gpointer *plugindata внутри vfs_class
[08:45:28] slavazanko/h вышел из конференции
[08:48:58] andrew_b зашёл в конференцию
[08:50:46] <andrew_b> il.smind : Внезапно vfs_class::data.
[08:50:57] <il.smind > я в курсе
[08:51:06] <andrew_b> И?
[08:51:15] <il.smind > оно так и употребляется
[08:51:22] <il.smind > в принципе
[08:51:23] <slavazanko> всем привет
[08:51:31] <andrew_b> il.smind : Жорик, в чём дело? Делов чём?
[08:51:42] <il.smind > для подцепки vfs_s_subclass
[08:51:56] <andrew_b> slavazanko/w: !
[08:52:32] <il.smind > я говорю о том что объединяем vfs_class и vfs_s_subclass и оставляем data
[08:52:47] <andrew_b> Зачем?
[08:52:48] <il.smind > для подцепки специфичных вещей из плагина
[08:53:06] <il.smind > andrew_b: зачем что?
[08:53:40] <andrew_b> > для подцепки специфичных вещей из плагина
[08:53:48] <andrew_b> Я уже понял.
[08:53:48] <il.smind > а как?
[08:54:31] <il.smind > мне надо подцепить например
typedef struct
{
LIBSSH2_SESSION *session;
LIBSSH2_SFTP *sftp_session;
LIBSSH2_SFTP_HANDLE *sftp_handle;
const char *fingerprint;
struct in_addr dest_ip;
char *outbuf;
char *inbuf;
int bufsize;
} cli_state_t;
[08:54:40] <il.smind > andrew_b> Я уже понял.
ок
[08:56:55] <il.smind > slavazanko: привет
[09:16:24] <il.smind > Слав
[09:16:27] <il.smind > 390 *next_char = *(curr_str + 1);
[09:16:37] <slavazanko> ну и?
[09:16:40] <il.smind > что то я проверки не вижу на
[09:17:42] <slavazanko> ?
[09:18:07] <il.smind > просто берётся первое попавшееся и никак не проверяется что там вообще
[09:18:28] <il.smind > может там curr_str длиной 0
[09:19:25] <slavazanko> гм. да, есть такое
[09:20:13] <il.smind > вообще сама процедура мне не нравится, я конечно вряд ли написал бы лучше
[09:20:40] <il.smind > но она как то очень похожа на говнокодовую, но может я и ошибаюсь
[09:21:16] <il.smind > я правильно понимаю что тут надо определить последовательность?
[09:21:23] <slavazanko> да
[09:21:47] <il.smind > почему не конечный автомат использован?
[09:22:26] <andrew_b> :)
[09:22:28] <slavazanko> ты меня спрашиваешь?
[09:22:32] <il.smind > да
[09:22:35] <slavazanko> хз
[09:22:46] <slavazanko> если есть желание - вперёд, правь
[09:22:58] <slavazanko> делай автоматы. пулемёты и прочие гаубицы
[09:23:14] <il.smind > нету желания :)
[09:23:19] <slavazanko> проверки, конечно, надо добавить
[09:23:29] <il.smind > но думал может у тебя есть :)
[09:23:51] <slavazanko> да я уже забыл, что такое "конечный автомат".
[09:24:00] <il.smind > есть пример
[09:24:09] <slavazanko> а ты меня про реализацию этого зверя спрашиваешь...
[09:24:20] <slavazanko> вроде там автомат, не?
[09:24:37] <il.smind > parse_define
[09:24:46] <il.smind > в etags.c
[09:25:05] <il.smind > у автомата должны быть состояния
[09:25:30] <il.smind > автомат перебирает последовательно каждый символ
[09:26:06] <slavazanko> ну... и тут также
[09:26:55] <il.smind > не вижу цикла по входному потоку
[09:27:03] <slavazanko> чё?
[09:27:13] <slavazanko> f
[09:27:15] <il.smind > смотри
[09:27:19] <slavazanko> а. уже понял
[09:27:38] <slavazanko> ща. есть мысля как переделать...
[09:27:47] <il.smind > автомат не перескакивает через байты
[09:28:07] <il.smind > не может обратиться к уже пропущенному
[09:28:21] <il.smind > он просто меняет состояния
[09:28:46] <il.smind > обрабатывая текущий элемент поступающий на входе
[09:36:42] <il.smind > еще вот это
707 if (charset != NULL && strncasecmp (charset, "utf-8", 6) != 0)
выглядит немного странно
[09:37:40] <andrew_b> Да.
[09:37:49] <andrew_b> Я тоже заметил.
[09:38:19] <slavazanko> угу. у нас есть флаг
[09:39:08] <il.smind > да
[09:39:33] dkostousov зашёл в конференцию
[09:43:02] <il.smind > 611 if (len == (gsize) - 1)
это так этот самый парсер пробел добавил?
[09:43:11] <il.smind > перед '1'
[09:43:38] <il.smind > интересно нет ли у нас готовой константы
[09:43:57] <andrew_b> -1 в скобки взять?
[09:44:43] <il.smind > в других местах вроде без скобок
[09:44:58] <il.smind > как тут например #define UP_KEEPSEL ((char *) -1)
[09:45:30] <andrew_b> Везде скобки добавить.
[09:46:39] <il.smind > мне больше утвердительные предложения нрявятся нежели вопросительные :)
[09:47:24] <andrew_b> Это было побудительное.
[09:55:02] <il.smind > больше вроде ничего...
[09:55:40] <il.smind > как же мне надо чтобы кто то из грамотных мне уделил минут 20-30...
[09:56:38] <il.smind > застопорился и не могу дальше двигаться
[10:32:39] BanderOS зашёл в конференцию
[10:42:27] <slavazanko> Илья, у емня к тебе вопрос: а автомат в парсере заменя нужен или ты его из веяний моду упомянул?
Я просто начал было сейчас переделывать под автомат, но вижу, что текущая реализация выглядит более лаконичной и как-то попроще для понимания
[10:43:00] <slavazanko> > Илья, у емня к тебе вопрос: а автомат в парсере заменя нужен или ты его из веяний моду упомянул?
вот русская языка.
Исправляюсь:
Илья, у меня к тебе вопрос: а автомат в парсере замены нужен или ты его из веяний моды упомянул?
[11:02:37] <slavazanko> поправил 1882_esc_seq_in_replace_field
[11:19:24] <il.smind > >Илья, у меня к тебе вопрос: а автомат в парсере замены нужен или ты его из веяний моды упомянул?
он нужен для упрощения, если твой алгоритм лучше я не настаиваю
[11:19:37] <il.smind > slavazanko: мода непричем
[11:19:50] <slavazanko> это не мой алгоритм
[11:19:57] <il.smind > я понимаю
[11:20:02] <slavazanko> там переделанный немного патч из тикета
[11:20:20] <il.smind > пы просто объяву дал
[11:20:26] <slavazanko> да
[11:21:34] <il.smind > почему if (len < 1)
а не как Андрей предлагал учитывая положительность
[11:21:59] <slavazanko> if (len < 1) быстрее работает чем if (len <= 0)
[11:22:16] <slavazanko> твоя фраза
[11:22:33] <il.smind > моя то моя
[11:23:07] <il.smind > а перед этим андрей сказал что len всегда больше или равен 0
[11:23:11] <il.smind > я не проверял
[11:23:19] <il.smind > просто уточняю у тебя
[11:23:22] <slavazanko> да
[11:23:25] <slavazanko> он беззнаковый
[11:24:04] <il.smind > тогда
if (len == 1)
[11:24:07] <il.smind > тогда
if (len == 0)
[11:24:15] <il.smind > ?
[11:24:16] <slavazanko> if ((ssize_t) len <= 0)
[11:24:28] <il.smind > ох...
[11:24:31] <andrew_b> нет.
[11:24:49] <slavazanko> сделал if (len == 0)
[11:25:34] <il.smind > в mc_search_regex__replace_handle_esc_seq
[11:25:40] <il.smind > что надо распознать?
[11:25:48] <slavazanko> ничего
[11:25:57] <il.smind > дану
[11:26:06] <il.smind > а куча кода там зачем?
[11:26:15] <slavazanko> а
[11:26:36] <il.smind > что на входе что на выходе?
[11:26:56] <slavazanko> распознать надо
\{<число>} - десятично
\x{число} или \x<число> - hex
[11:27:07] <il.smind > ок
[11:27:36] <il.smind > ща маленький парсер попробую сделать в приемлимое время
[11:29:18] <slavazanko> в дополнение: там ещё \n \b \t и прочие распознаются. и меняются на перевод строки, возврат каретки, табуляцию и т.д.
[11:29:54] <il.smind > if (strchr ("ntvbrfa", *next_char) != NULL) ?
[11:30:43] <slavazanko> да
[11:31:42] <slavazanko> mc_search_regex__replace_handle_esc_seq - это подготовка к замене. Просто определяется, сколько символов скипнуть для следующего этапа.
Сама замена происходит в mc_search_regex__process_escape_sequence
[11:31:47] <il.smind > т.е возможны варианты
\{число}
\x{число}
\xчисло
\Хчисло
\xчислоh
[11:32:00] <il.smind > \a
\b
\n
\t
[11:32:46] <slavazanko> \{число} - десятичное
\x{число} - HEX
\Хчисло - HEX, только два символа
\xчислоh - такого нет
[11:33:30] <il.smind > я понял надо принять строку и сказать сколько пропустить и надо ли?
[11:33:45] <slavazanko> да. Сколько пропустить и надо ли обрабатывать
[11:33:57] <il.smind > \\x
[11:34:01] <il.smind > \\n
[11:34:13] <il.smind > обрабатывается?
[11:34:24] <il.smind > и надо ли?
[11:34:33] <il.smind > есть экранирование?
[11:34:56] <slavazanko> экранирования нет, насколько я вижу по коду...
[11:35:05] <il.smind > это я тоже вижу
[11:35:12] <slavazanko> у меня есть там функция - проверить, не заэкранирован ли слэш...
[11:35:17] <il.smind > я имею ввиду в теории
[11:35:30] <slavazanko> в теории конечно надо проверить
[12:08:49] <Зося Синицкая> RSS: Новости для Midnight Commander
• Ticket #2531 (pascal syntax highlighting bug) created
http://www.midnight-commander.org/ticket/2531
• snapshot5.png attached to Ticket #2531
http://www.midnight-commander.org/attachment/ticket/2531/snapshot5.png
• Ticket #2531 (pascal syntax highlighting bug) updated
http://www.midnight-commander.org/ticket/2531#comment:1
• Ticket #2531 (pascal syntax highlighting bug) updated
http://www.midnight-commander.org/ticket/2531#comment:2
[12:18:36] <il.smind > slavazanko: я нарисовал автомат
[12:19:10] <il.smind > сможешь из теста сделать законченную функцию?
[12:19:49] <slavazanko> покажь
[12:21:02] <il.smind > куда закинуть?
[12:21:06] <il.smind > а ща...
[12:21:11] <slavazanko> в бранч. коммитом
[12:21:21] <andrew_b> В почту.
[12:21:32] <il.smind > не
[12:21:44] <il.smind > есть чудная вещь
[12:21:52] <il.smind > admin@darkstar:/home/projects/test$ cat par.c |fpaste
Uploading (3.8K)...
http://fpaste.org/Yg94/
[12:22:33] <il.smind > в файл macros засунь последовательность
[12:22:59] <il.smind > и запускай par
[12:23:21] <il.smind > по идее у меня там ДКА
[12:23:32] <andrew_b> Ужасно.
[12:23:35] <il.smind > в смысле детерминированный
[12:24:36] <il.smind > чо?
[12:25:01] <andrew_b> Где case (c), где if (c). Разброд и шатания.
[12:25:10] <il.smind > а...
[12:25:28] <slavazanko> сделай отдельную функцию. плиз.
При этом
[12:25:30] <il.smind > ну яж побыстрому писал, смысл то понятен и работает
[12:25:35] <slavazanko> case '\\': не нужен
[12:25:46] <slavazanko> оно уже так перед вызовом функции
[12:25:51] <il.smind > slavazanko: это вход в '\'
[12:26:19] <il.smind > ты не понял это не 2 слэша
[12:26:28] <il.smind > это экранируется слэш
[12:26:30] <slavazanko> и. кстати, это отличный просто повод для юниттеста.
Я ща нарисую для старого алгоритма тестик, потом подменю на твой и посмотрю, как он проходит тесты
[12:26:42] <il.smind > это и есть юнит тест
[12:26:50] <slavazanko> это алгоритм
[12:26:54] <il.smind > нет
[12:27:02] <il.smind > это писалось как юнит тест
[12:27:07] <slavazanko> а тест - это подсовывание ему входных данных и проверка выходных
[12:27:15] <il.smind > просто он незаконченные юниттест
[12:27:26] <il.smind > но писалось именно так
[12:28:23] <il.smind > просто работу такого автомата понять гораздо проще чем ту процедуру
[12:28:35] <il.smind > и это не ради моды
[12:28:42] <slavazanko> ок. понял
[12:29:03] <il.smind > сначала автомат в состоянии START
[12:30:20] <il.smind > как только он получил '\' он ждет '{' или 'x' или abnt (допиши по вкусу)
[12:30:28] <il.smind > если получил {
[12:31:14] BanderOS вышел из конференции
[12:31:51] <il.smind > переходит в состояние in_d_key (десятичное число)
[12:32:14] <il.smind > дальше ждет '}' или конца передачи
[12:32:52] <slavazanko> и опять статус "start"?
[12:33:00] <il.smind > если получил 'x' в состоянии START то переходит в состояние in_d_key
[12:33:17] <slavazanko> почему он скидывается опять в старт?
[12:33:25] <il.smind > slavazanko> и опять статус "start"? да но если не т больше данных то не надо переходить в start
[12:33:58] <il.smind > это чтобы считать много всяких полей
[12:34:07] <il.smind > последовательностей
[12:34:26] <il.smind > если последовательность одна то надо просто выходить их процедуры
[12:35:07] <il.smind > т.е. если заведома одна всегда передаётся то переход в start не нужен
[12:40:34] BanderOS зашёл в конференцию
[13:07:35] <andrew_b> Когда релиз?
[13:08:04] <andrew_b> 2520_ctrlg_closes_panels_stable вливать?
[13:08:41] <slavazanko> да. вольём
[13:08:50] <slavazanko> релиз... давайте послезавтра
[13:09:23] <andrew_b> Я про 4.7.5.2, есличо.
[13:10:03] <slavazanko> да
[13:12:24] <andrew_b> slavazanko: послезавтра? Хорошо бы 2516 в релизе исправить.
[13:12:46] <andrew_b> Только я не уверен, как корректно это сделать.
[13:13:47] <slavazanko> может, так как в патче? с пометкой TODO
[13:13:55] <andrew_b> Не.
[13:14:02] <andrew_b> Зачем нам полумеры?
[13:16:42] BanderOS вышел из конференции
[13:19:05] <il.smind > а с 2516 какие варианты?
[13:22:15] <andrew_b> Так?

--- a/lib/fs.h
+++ b/lib/fs.h
@@ -67,12 +67,13 @@
#define NLENGTH(dirent) (strlen ((dirent)->d_name))
#define DIRENT_LENGTH_COMPUTED 1

+/* DragonFlyBSD doesn't provide MAXNAMLEN macro */
#ifndef MAXNAMLEN
-#define MC_MAXFILENAMELEN 256
-#else
-#define MC_MAXFILENAMELEN MAXNAMLEN
+#define MAXNAMLEN 256
#endif

+#define MC_MAXFILENAMELEN MAXNAMLEN
+
/*** enums ***************************************************************************************/

/*** structures declarations (and typedefs of structures)*****************************************/
[13:24:22] <il.smind > ну мне казалось что как то так
[13:25:56] <andrew_b> Ок, так и запишем.
[13:37:29] <andrew_b> Please review 2516.
[13:39:32] <Зося Синицкая> RSS: Новости для Midnight Commander
• Ticket #2516 (mc fails to build on DragonFlyBSD) updated
http://www.midnight-commander.org/ticket/2516#comment:7
[13:56:28] <slavazanko> словил сегфайулт на 2501
/path/to/#iso9660/CentOS/openoffice.org-langpack-af_ZA-3.1.1-19.5.el5.x86_64.rpm#rpm/CONTENTS.cpio
пробую зайти в CONTENTS.cpio - сегфолт
[13:58:12] <andrew_b> Не воспроизводится.
[13:58:20] <andrew_b> Надо iso создать?
[13:59:31] <slavazanko> гм... у меня скачанный от Центоси
[13:59:57] <andrew_b> Завернул rpm в iso.
[14:00:05] <andrew_b> Всё равно не сегфолтится.
[14:00:30] <slavazanko> ща корку изучу
[14:00:47] <andrew_b> slavazanko: а если зайти в простой cpio?
[14:01:04] dkostousov вышел из конференции
[14:01:10] <andrew_b> О.
[14:01:14] <andrew_b> Упало.
[14:01:23] <andrew_b> Но не при заходе.
[14:01:32] <slavazanko> в простой упало
[14:02:02] <slavazanko> есть. стабильно падает на cpio у меня. Я просто скопировал CONTENTS.cpio из rpm
[14:02:21] <andrew_b> Хорошо.
[14:02:51] <andrew_b> У меня, похоже, падает, когда таймаут истекает.
[14:03:42] <andrew_b> Не, не похоже.
[14:04:12] <slavazanko> cpio_defer_find (struct defer_inode *l, struct defer_inode *i)
строка 159.
про переменную l пишет Cannot access memory at address 0x8cd182d1b5d0
[14:05:07] <slavazanko> предыдущая функция в стеке cpio_create_entry():401
[14:05:27] <andrew_b> Есно.
[14:05:37] <andrew_b> Там один вызов.
[14:06:12] <slavazanko> cpio_read_crc_head ():713
[14:21:09] <andrew_b> У меня падает тут:

#0 0x0805c953 in cpio_free_archive (me=0x8133960, super=0x8220850)
at /home/borodin/work/work.c/mc/mc-2501_vfs_split/src/vfs/cpio/cpio.c:203
#1 0x08074bbe in vfs_s_free_super (me=0x8133960, super=0x8220850)
at /home/borodin/work/work.c/mc/mc-2501_vfs_split/lib/vfs/direntry.c:386
#2 0x08075872 in vfs_s_free (id=0x8220850) at /home/borodin/work/work.c/mc/mc-2501_vfs_split/lib/vfs/direntry.c:860
#3 0x08080aa6 in vfs_expire (now=0) at /home/borodin/work/work.c/mc/mc-2501_vfs_split/lib/vfs/gc.c:227
[14:21:53] <slavazanko> значит, где-то ещё раньше... повторный free?
[14:22:09] <andrew_b> ХЗ.
[14:22:41] <andrew_b> У меня падает позже, чем у тебя. У тебя при заходе, а у меня после выхода.
[14:29:24] <andrew_b> slavazanko: попробуй так:

--- a/src/vfs/cpio/cpio.c
+++ b/src/vfs/cpio/cpio.c
@@ -227,7 +227,7 @@ cpio_open_cpio_file (struct vfs_class *me, struct vfs_s_super *super, const char
}

super->name = g_strdup (name);
- super->data = g_new (cpio_super_data_t, 1);
+ super->data = g_new0 (cpio_super_data_t, 1);
arch = (cpio_super_data_t *) super->data;
arch->fd = -1; /* for now */
mc_stat (name, &arch->st);
[14:29:47] <andrew_b> В next иногда мусор попадает.
[14:29:54] <slavazanko> ща
[14:31:17] <andrew_b> Вообще, надо тут GSList применить.
[14:32:50] <il.smind > вы такие умные...
[14:33:04] <slavazanko> бывает
[14:33:40] <il.smind > случайно получилось?
[14:34:16] <andrew_b> slavazanko/w: лучше так:

--- a/src/vfs/cpio/cpio.c
+++ b/src/vfs/cpio/cpio.c
@@ -232,6 +232,7 @@ cpio_open_cpio_file (struct vfs_class *me, struct vfs_s_super *super, const char
arch->fd = -1; /* for now */
mc_stat (name, &arch->st);
arch->type = CPIO_UNKNOWN;
+ arch->deferred = NULL;

type = get_compression_type (fd, name);
if (type != COMPRESSION_NONE)
[14:34:30] <slavazanko> g_new0 помог
[14:34:58] <andrew_b> Все поля, кроме deffered, инициализируются. Всё обнулять не обязательно.
[14:35:04] <slavazanko> но после выхода из mc - сегфолт
[14:35:17] <andrew_b> :)
[14:35:33] <il.smind > slavazanko> g_new0 помог
вот я и говорю "вы такие умные..."
[14:37:19] <andrew_b> slavazanko/w: а при выходе где?
[14:39:38] <slavazanko> src/filemanager.c
check_panel_timestamp():495
при этом panel==NULL
[14:39:51] <slavazanko> vclass->data == NULL
[14:39:58] <slavazanko> vclass->prefix == NULL
[14:40:03] <andrew_b> Гм.
[14:40:13] <slavazanko> vclass->name = 'axtfs'
[14:40:28] <andrew_b> Это после g_free.
[14:40:33] <andrew_b> Нормально.
[14:41:03] <slavazanko> там главное, что panel == NULL
[14:41:19] <andrew_b> Видимо, да.
[14:42:38] theMIROn зашёл в конференцию
[14:44:48] <slavazanko> extfs_close():973
extfs_ungetlocalcopy():1519
extfs_free_archive():371
extfs_free():1478
[14:44:59] <slavazanko> это выдержки из стека стек
[14:55:56] <andrew_b> Это, похоже, ивент возникает, когда панелей уже нет.
[14:56:01] <slavazanko> https://bugzilla.redhat.com/show_bug.cgi?id=694042
автодополнение команд пропало. причём если жмакнуть esc-tab в пустой комстроке, то нарисует список всех команд. Если ввести первую букву команды и esc-tab. то нуль реакции
[14:57:00] <andrew_b> After some update (can't exactly say version)
[14:57:08] <andrew_b> Я ж это исправлял.
[14:57:26] <slavazanko> да, сорри
[14:57:34] <slavazanko> я погорячился, не на мастере проверил
[14:58:06] <il.smind > ты знаешь что с паникёрами во время войны делают?
[14:58:39] <slavazanko> бегут за ними
[14:59:06] <andrew_b> http://www.midnight-commander.org/ticket/2458
[15:00:55] <il.smind > slavazanko: понял
[15:01:15] <il.smind > вот так своим дружкам из редхэта и передай
[15:01:22] <slavazanko> уже
[15:02:18] <slavazanko> > Это, похоже, ивент возникает, когда панелей уже нет.
может, просто грохать обработчик ивента?
[15:02:38] <slavazanko> или просто проверять panel != NULL
[15:02:40] <andrew_b> Надо уточнить.
[15:03:39] <andrew_b> Какой обработчик грохать? vfs_timestamp?
[15:03:58] <andrew_b> 644 mc_event_add (MCEVENT_GROUP_CORE, "vfs_timestamp", check_other_panel_timestamp, NULL, NULL);
645 mc_event_add (MCEVENT_GROUP_CORE, "vfs_timestamp", check_current_panel_timestamp, NULL, NULL);
[15:04:11] <slavazanko> угу
[15:04:43] <slavazanko> mc_event_destroy(MCEVENT_GROUP_CORE, "vfs_timestamp")
[15:08:51] <andrew_b> Попроьуй тут:

1737 }
[15:09:01] <andrew_b> Перед скобкой.
[15:09:05] <andrew_b> midnight.c
[15:09:44] <slavazanko> ща
[15:16:12] andrew_b вышел из конференции
[15:21:53] <slavazanko> не падает
[15:22:03] <slavazanko> а блин. Андрюха домой.
[15:22:29] <slavazanko> Короче. влуплю все изменения в бранч, пусть засквошивает сам, куда посчитает нужным :)
[15:23:54] iNode вышел из конференции
[16:02:01] <slavazanko> http://asplinux.ru/
R.I.P
[16:02:54] <il.smind > не сожалею, не скорблю
[17:07:48] theMIROn вышел из конференции
[17:08:02] theMIROn зашёл в конференцию
[17:12:17] theMIROn вышел из конференции
[17:13:06] il.smind вышел из конференции
[17:19:42] andrew_b зашёл в конференцию
[18:42:02] andrew_b вышел из конференции
[20:13:33] il.smind зашёл в конференцию
[20:43:07] il.smind вышел из конференции
[20:43:15] il.smind зашёл в конференцию
[21:38:55] BanderOS зашёл в конференцию
[22:57:38] il.smind вышел из конференции: Компьютер вошёл в спящий режим
[23:42:25] BanderOS вышел из конференции
Powered by freQ Powered by Python Valid XHTML 1.0 Transitional Valid CSS!