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

[04:13:49] andrew_b зашёл в конференцию
[05:51:18] ASM зашёл в конференцию
[06:10:24] slavazanko/h зашёл в конференцию
[06:31:31] <andrew_b> slavazanko/h: нашёл ещё один баг из-за vfs_path_as_str.
[06:31:43] <slavazanko/h> говори
[06:31:53] <andrew_b> Ща. Тут долго.
[06:33:08] <andrew_b> panel.c: _do_panel_cd
3046 if (mc_chdir (new_dir_vpath) == -1)
3047 {
3048 panel_set_cwd (panel, vfs_path_as_str (panel->cwd_vpath));

panel.c:
3971 panel_set_cwd (WPanel * panel, const char *path_str)
3972 {
3973 vfs_path_free (panel->cwd_vpath);
3974 panel->cwd_vpath = vfs_path_from_str (path_str);
3975 }
[06:33:14] <andrew_b> Не так долго.
[06:33:35] <andrew_b> В panel->cwd_vpath оказывается мусор.
[06:34:07] <andrew_b> Потому что уже разрушили panel->cwd_vpath, а path_str указывал в него.
[06:34:28] <slavazanko/h> гм. в клинапе исправлю
[06:40:27] <andrew_b> 3048 panel_set_cwd (panel, vfs_path_as_str (panel->cwd_vpath));
наверное, не нужно. Зачем из пустого в порожнее переливать?
[06:41:49] <andrew_b> Хм, а тут раньше когда-то было
2918 panel_set_cwd (panel, olddir);
[06:43:54] <andrew_b> Гм, что-то тут не то стало.

@@ -3038,10 +3031,7 @@ subshell_chdir (const vfs_path_t * vpath)
static gboolean
_do_panel_cd (WPanel * panel, const vfs_path_t * new_dir_vpath, enum cd_enum cd_type)
{
- char *olddir;
-
- olddir = vfs_path_to_str (panel->cwd_vpath);
-
+ vfs_path_t *olddir_vpath;
/* Convert *new_path to a suitable pathname, handle ~user */
if (cd_type == cd_parse_command)
{
@@ -3054,43 +3044,39 @@ _do_panel_cd (WPanel * panel, const vfs_path_t * new_dir_vpath, enum cd_enum cd_

if (mc_chdir (new_dir_vpath) == -1)
{
- panel_set_cwd (panel, olddir);
- g_free (olddir);
+ panel_set_cwd (panel, vfs_path_as_str (panel->cwd_vpath));
return FALSE;
}

/* Success: save previous directory, shutdown status of previous dir */
- panel_set_lwd (panel, olddir);
+ olddir_vpath = vfs_path_clone (panel->cwd_vpath);
+ panel_set_lwd (panel, vfs_path_as_str (panel->cwd_vpath));
input_free_completions (cmdline);

vfs_path_free (panel->cwd_vpath);
[06:48:20] <andrew_b> Не, нормально вроде. Надо просто убрать
3048 panel_set_cwd (panel, vfs_path_as_str (panel->cwd_vpath));
[06:50:35] <andrew_b> Ну и для страховки

@@ -3970,8 +3968,11 @@ panel_clean_dir (WPanel * panel)
void
panel_set_cwd (WPanel * panel, const char *path_str)
{
- vfs_path_free (panel->cwd_vpath);
- panel->cwd_vpath = vfs_path_from_str (path_str);
+ if (path_str != vfs_path_as_str (panel->cwd_vpath))
+ {
+ vfs_path_free (panel->cwd_vpath);
+ panel->cwd_vpath = vfs_path_from_str (path_str);
+ }
}

/* --------------------------------------------------------------------------------------------- */
@@ -3985,8 +3986,11 @@ panel_set_cwd (WPanel * panel, const char *path_str)
void
panel_set_lwd (WPanel * panel, const char *path_str)
{
- vfs_path_free (panel->lwd_vpath);
- panel->lwd_vpath = vfs_path_from_str (path_str);
+ if (path_str != vfs_path_as_str (panel->lwd_vpath))
+ {
+ vfs_path_free (panel->lwd_vpath);
+ panel->lwd_vpath = vfs_path_from_str (path_str);
+ }
}

/* --------------------------------------------------------------------------------------------- */
[06:59:32] <slavazanko/h> понял. Ща на работу заеду и поплотнее гляну. И 2923 займусь, вчера так и не довелось
[07:52:24] <andrew_b> Подкоммитил немного 2990
[08:22:02] slavazanko зашёл в конференцию
[09:17:29] <andrew_b> + if (path_str != vfs_path_as_str (panel->cwd_vpath))
наверное, не очень хорошо. Чтобы отвязаться от структуры vfs_path_t, надо сравнивать сами строки, а не указатели.
[10:08:11] <andrew_b> slavazanko: я 2990 мощно перепушил, туда по недосмотру недоделанный коммит попал.
[10:08:28] <slavazanko> ок, не вопрос
[10:08:44] <slavazanko> я пока 2923 вливаю, мы не пересекаемся
[10:12:17] slavazanko вышел из конференции
[10:53:02] slavazanko/h вышел из конференции
[10:56:53] slavazanko/h зашёл в конференцию
[11:33:26] slavazanko зашёл в конференцию
[11:54:46] iliamaslakov зашёл в конференцию
[11:56:29] slavazanko вышел из конференции
[11:59:22] <andrew_b> iliamaslakov: ну привет.
[11:59:34] slavazanko зашёл в конференцию
[11:59:37] <iliamaslakov> хорошо
[11:59:52] <iliamaslakov> что у нас плохого?
[11:59:58] <andrew_b> iliamaslakov: Лето, солнце, море, пряж?
[12:00:05] <andrew_b> пляж
[12:00:05] <iliamaslakov> andrew_b, да
[12:00:25] <iliamaslakov> ездил договор на воду переоформлять
[12:00:33] <iliamaslakov> в станицу
[12:00:47] <andrew_b> > что у нас плохого?
У нас масса напроголосованных тикетов.
[12:00:59] <iliamaslakov> жара пипец, чуть не сдох
[12:01:00] <iliamaslakov> отдыхаю вот
[12:01:19] <iliamaslakov> еще надо бетон намешать
[12:01:40] <andrew_b> У купить готовый там негде?
[12:02:05] <andrew_b> Скока кубов всего надо?
[12:07:45] <iliamaslakov> около куба
[12:08:09] <iliamaslakov> вроде немного
[12:08:41] <iliamaslakov> не, готовый возят но по немногу нельзя
[12:51:24] iliamaslakov вышел из конференции: Machine going to sleep
[13:08:53] imho2 вышел из конференции
[13:09:22] imho2 зашёл в конференцию
[13:27:04] andrew_b вышел из конференции
[14:16:35] imho2 вышел из конференции: Replaced by new connection
[14:16:35] imho2 зашёл в конференцию
[14:25:36] imho2 вышел из конференции: Replaced by new connection
[14:25:36] imho2 зашёл в конференцию
[14:25:44] imho2 вышел из конференции
[14:25:47] imho2 зашёл в конференцию
[14:42:10] imho2 вышел из конференции: Replaced by new connection
[14:42:10] imho2 зашёл в конференцию
[14:44:44] imho2 вышел из конференции: Replaced by new connection
[14:44:45] imho2 зашёл в конференцию
[16:27:57] andrew_b зашёл в конференцию
[17:24:42] imho2 вышел из конференции: Replaced by new connection
[17:24:43] imho2 зашёл в конференцию
[17:40:00] andrew_b вышел из конференции
[20:06:40] imho2 вышел из конференции: Replaced by new connection
[20:06:42] imho2 зашёл в конференцию
[20:28:17] D-ion вышел из конференции: Replaced by new connection
[20:28:18] D-ion зашёл в конференцию
[23:57:21] slavazanko/h вышел из конференции
Powered by freQ Powered by Python Valid XHTML 1.0 Transitional Valid CSS!