lkml.org 
[lkml]   [2004]   [Jan]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectTrue story: "gconfig" removed root folder...
Hi,

a patch for gconfig against kernel2.6.1.

Thanks to Tomas and Ozan.

Romain.

================ [ cut here ] ===========
diff -Naur linux-2.6.1/scripts/kconfig/gconf.c linux/scripts/kconfig/gconf.c
--- linux-2.6.1/scripts/kconfig/gconf.c 2004-01-15 21:45:22.000000000 +0100
+++ linux/scripts/kconfig/gconf.c 2004-01-18 15:15:23.000000000 +0100
@@ -23,6 +23,9 @@
#include <unistd.h>
#include <time.h>
#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+

//#define DEBUG

@@ -643,14 +646,29 @@
store_filename(GtkFileSelection * file_selector, gpointer user_data)
{
const gchar *fn;
+ gchar trailing;
+ gchar *safe_fn;
+ struct stat sb;

- fn = gtk_file_selection_get_filename(GTK_FILE_SELECTION
+ fn = gtk_file_selection_get_filename (GTK_FILE_SELECTION
(user_data));

- if (conf_write(fn))
- text_insert_msg("Error", "Unable to save configuration !");
+ /* protect against 'root directory' bug */
+ trailing = fn[strlen (fn)-1];
+ stat (fn, &sb);
+ safe_fn = g_strdup (fn);
+
+ if (S_ISDIR(sb.st_mode))
+ if (trailing != '/')
+ {
+ g_free (safe_fn);
+ safe_fn = g_strconcat (fn, "/", NULL);
+ }

- gtk_widget_destroy(GTK_WIDGET(user_data));
+ if (conf_write (safe_fn))
+ text_insert_msg("Error", "Unable to save configuration !");
+ g_free (safe_fn);
+ gtk_widget_destroy (GTK_WIDGET(user_data));
}

void on_save_as1_activate(GtkMenuItem * menuitem, gpointer user_data)
--
Romain Li�vin (roms): <roms@tilp.info>
Web site: http://tilp.info
"Linux, y'a moins bien mais c'est plus cher !"






-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:00    [W:0.260 / U:0.420 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site