diff src/gtkutils.c @ 5966:5fb6bd688a5b

[gaim-migrate @ 6413] I renamed file_is_dir to gaim_gtk_check_if_dir and moved it to gtkutils.c/h Chipster (or whoever) - Lemme know if that's notsogood, remember: I pretend not to know anything about gtk. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Fri, 27 Jun 2003 23:11:21 +0000
parents 0a2a32b1917c
children 156953fe3e14
line wrap: on
line diff
--- a/src/gtkutils.c	Fri Jun 27 22:44:03 2003 +0000
+++ b/src/gtkutils.c	Fri Jun 27 23:11:21 2003 +0000
@@ -265,7 +265,7 @@
 	f = gtk_file_selection_get_filename(
 		GTK_FILE_SELECTION(gtkconv->u.im->save_icon));
 
-	if (file_is_dir(f, GTK_FILE_SELECTION(gtkconv->u.im->save_icon)))
+	if (gaim_gtk_check_if_dir(f, GTK_FILE_SELECTION(gtkconv->u.im->save_icon)))
 		return;
 
 	if ((file = fopen(f, "w")) != NULL) {
@@ -810,6 +810,26 @@
 	return optmenu;
 }
 
+gboolean gaim_gtk_check_if_dir(const char *path, GtkFileSelection *filesel)
+{
+	struct stat st;
+	char *name;
+
+	if (stat(path, &st) == 0 && S_ISDIR(st.st_mode)) {
+		/* append a / if needed */
+		if (path[strlen(path) - 1] != '/') {
+			name = g_strconcat(path, "/", NULL);
+		} else {
+			name = g_strdup(path);
+		}
+		gtk_file_selection_set_filename(filesel, name);
+		g_free(name);
+		return TRUE;
+	}
+
+	return FALSE;
+}
+
 char *stylize(const gchar *text, int length)
 {
 	gchar *buf;