--- gtkdiskfree-1.9.3/src/mount.c 2002-11-17 15:08:27.000000000 +0000 +++ gtkdiskfree-1.9.3/src/mount.c 2005-09-02 13:05:25.636363128 +0100 @@ -31,41 +31,21 @@ void open_cmd_tube (const gchar *cmd, const gchar *mount_point) { - gint status; - gchar error[MAXLINE], *line; - FILE *sh, *tmp; + gchar error[MAXLINE], *line, *status; + FILE *sh; setbuf(stdout, error); - line = g_strconcat(cmd, " ", mount_point, " &> ", TUBE_NAME, NULL); + line = g_strconcat(cmd, " ", mount_point, " 2>&1", NULL); sh = popen(line, "r"); g_free(line); - status = pclose(sh); - - if (status == 0) { - remove(TUBE_NAME); - gui_list_main_update(GTK_TREE_VIEW(list_treeview)); - - return; - } else { - if ((tmp = fopen(TUBE_NAME, "r")) == NULL) { - gui_list_main_update(GTK_TREE_VIEW(list_treeview)); - - return; - } - if (fgets(error, MAXLINE-1, tmp) == NULL) { - fclose(tmp); - remove(TUBE_NAME); - gui_list_main_update(GTK_TREE_VIEW(list_treeview)); - - return; - } - fclose(tmp); - remove(TUBE_NAME); + status = fgets(error, MAXLINE-1, sh); + + if (status && (pclose(sh) != 0)) error_window(error); - } + gui_list_main_update(GTK_TREE_VIEW(list_treeview)); - + return; }