mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-13 05:50:10 +00:00
Remove trailing slashes in path names.
2004-03-13 Anders Carlsson <andersca@gnome.org> * gtk/gtkfilesystemunix.c: (remove_trailing_slash), (gtk_file_system_unix_get_folder), (gtk_file_system_unix_create_folder), (get_parent_dir), (gtk_file_system_unix_get_parent), (gtk_file_folder_unix_get_info): Remove trailing slashes in path names.
This commit is contained in:
parent
ef5915da35
commit
72804ba43e
@ -1,3 +1,11 @@
|
|||||||
|
2004-03-13 Anders Carlsson <andersca@gnome.org>
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c: (remove_trailing_slash),
|
||||||
|
(gtk_file_system_unix_get_folder),
|
||||||
|
(gtk_file_system_unix_create_folder), (get_parent_dir),
|
||||||
|
(gtk_file_system_unix_get_parent), (gtk_file_folder_unix_get_info):
|
||||||
|
Remove trailing slashes in path names.
|
||||||
|
|
||||||
Sat Mar 13 12:17:16 2004 Owen Taylor <otaylor@redhat.com>
|
Sat Mar 13 12:17:16 2004 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Make
|
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Make
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
2004-03-13 Anders Carlsson <andersca@gnome.org>
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c: (remove_trailing_slash),
|
||||||
|
(gtk_file_system_unix_get_folder),
|
||||||
|
(gtk_file_system_unix_create_folder), (get_parent_dir),
|
||||||
|
(gtk_file_system_unix_get_parent), (gtk_file_folder_unix_get_info):
|
||||||
|
Remove trailing slashes in path names.
|
||||||
|
|
||||||
Sat Mar 13 12:17:16 2004 Owen Taylor <otaylor@redhat.com>
|
Sat Mar 13 12:17:16 2004 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Make
|
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Make
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
2004-03-13 Anders Carlsson <andersca@gnome.org>
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c: (remove_trailing_slash),
|
||||||
|
(gtk_file_system_unix_get_folder),
|
||||||
|
(gtk_file_system_unix_create_folder), (get_parent_dir),
|
||||||
|
(gtk_file_system_unix_get_parent), (gtk_file_folder_unix_get_info):
|
||||||
|
Remove trailing slashes in path names.
|
||||||
|
|
||||||
Sat Mar 13 12:17:16 2004 Owen Taylor <otaylor@redhat.com>
|
Sat Mar 13 12:17:16 2004 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Make
|
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Make
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
2004-03-13 Anders Carlsson <andersca@gnome.org>
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c: (remove_trailing_slash),
|
||||||
|
(gtk_file_system_unix_get_folder),
|
||||||
|
(gtk_file_system_unix_create_folder), (get_parent_dir),
|
||||||
|
(gtk_file_system_unix_get_parent), (gtk_file_folder_unix_get_info):
|
||||||
|
Remove trailing slashes in path names.
|
||||||
|
|
||||||
Sat Mar 13 12:17:16 2004 Owen Taylor <otaylor@redhat.com>
|
Sat Mar 13 12:17:16 2004 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Make
|
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Make
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
2004-03-13 Anders Carlsson <andersca@gnome.org>
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c: (remove_trailing_slash),
|
||||||
|
(gtk_file_system_unix_get_folder),
|
||||||
|
(gtk_file_system_unix_create_folder), (get_parent_dir),
|
||||||
|
(gtk_file_system_unix_get_parent), (gtk_file_folder_unix_get_info):
|
||||||
|
Remove trailing slashes in path names.
|
||||||
|
|
||||||
Sat Mar 13 12:17:16 2004 Owen Taylor <otaylor@redhat.com>
|
Sat Mar 13 12:17:16 2004 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Make
|
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Make
|
||||||
|
@ -190,6 +190,7 @@ static gboolean filename_is_root (const char *filename);
|
|||||||
static GtkFileInfo *filename_get_info (const gchar *filename,
|
static GtkFileInfo *filename_get_info (const gchar *filename,
|
||||||
GtkFileInfoType types,
|
GtkFileInfoType types,
|
||||||
GError **error);
|
GError **error);
|
||||||
|
static char * get_parent_dir (const char *filename);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GtkFileSystemUnix
|
* GtkFileSystemUnix
|
||||||
@ -322,6 +323,19 @@ gtk_file_system_unix_get_volume_for_path (GtkFileSystem *file_system,
|
|||||||
return get_root_volume ();
|
return get_root_volume ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char *
|
||||||
|
remove_trailing_slash (const char *filename)
|
||||||
|
{
|
||||||
|
int len;
|
||||||
|
|
||||||
|
len = strlen (filename);
|
||||||
|
|
||||||
|
if (len > 1 && filename[len - 1] == '/')
|
||||||
|
return g_strndup (filename, len - 1);
|
||||||
|
else
|
||||||
|
return g_memdup (filename, len + 1);
|
||||||
|
}
|
||||||
|
|
||||||
static GtkFileFolder *
|
static GtkFileFolder *
|
||||||
gtk_file_system_unix_get_folder (GtkFileSystem *file_system,
|
gtk_file_system_unix_get_folder (GtkFileSystem *file_system,
|
||||||
const GtkFilePath *path,
|
const GtkFilePath *path,
|
||||||
@ -349,7 +363,7 @@ gtk_file_system_unix_get_folder (GtkFileSystem *file_system,
|
|||||||
{
|
{
|
||||||
folder_unix = g_object_new (GTK_TYPE_FILE_FOLDER_UNIX, NULL);
|
folder_unix = g_object_new (GTK_TYPE_FILE_FOLDER_UNIX, NULL);
|
||||||
folder_unix->system_unix = system_unix;
|
folder_unix->system_unix = system_unix;
|
||||||
folder_unix->filename = g_strdup (filename);
|
folder_unix->filename = remove_trailing_slash (filename);
|
||||||
folder_unix->types = types;
|
folder_unix->types = types;
|
||||||
|
|
||||||
g_hash_table_insert (system_unix->folder_hash, folder_unix->filename, folder_unix);
|
g_hash_table_insert (system_unix->folder_hash, folder_unix->filename, folder_unix);
|
||||||
@ -366,7 +380,7 @@ gtk_file_system_unix_create_folder (GtkFileSystem *file_system,
|
|||||||
GtkFileSystemUnix *system_unix;
|
GtkFileSystemUnix *system_unix;
|
||||||
const char *filename;
|
const char *filename;
|
||||||
gboolean result;
|
gboolean result;
|
||||||
char *parent;
|
char *parent, *tmp;
|
||||||
|
|
||||||
system_unix = GTK_FILE_SYSTEM_UNIX (file_system);
|
system_unix = GTK_FILE_SYSTEM_UNIX (file_system);
|
||||||
|
|
||||||
@ -374,7 +388,9 @@ gtk_file_system_unix_create_folder (GtkFileSystem *file_system,
|
|||||||
g_return_val_if_fail (filename != NULL, FALSE);
|
g_return_val_if_fail (filename != NULL, FALSE);
|
||||||
g_return_val_if_fail (g_path_is_absolute (filename), FALSE);
|
g_return_val_if_fail (g_path_is_absolute (filename), FALSE);
|
||||||
|
|
||||||
result = mkdir (filename, 0777) == 0;
|
tmp = remove_trailing_slash (filename);
|
||||||
|
result = mkdir (tmp, 0777) == 0;
|
||||||
|
g_free (tmp);
|
||||||
|
|
||||||
if (!result)
|
if (!result)
|
||||||
{
|
{
|
||||||
@ -393,7 +409,7 @@ gtk_file_system_unix_create_folder (GtkFileSystem *file_system,
|
|||||||
if (filename_is_root (filename))
|
if (filename_is_root (filename))
|
||||||
return TRUE; /* hmmm, but with no notification */
|
return TRUE; /* hmmm, but with no notification */
|
||||||
|
|
||||||
parent = g_path_get_dirname (filename);
|
parent = get_parent_dir (filename);
|
||||||
if (parent)
|
if (parent)
|
||||||
{
|
{
|
||||||
GtkFileFolderUnix *folder_unix;
|
GtkFileFolderUnix *folder_unix;
|
||||||
@ -591,6 +607,29 @@ gtk_file_system_unix_volume_render_icon (GtkFileSystem *file_system,
|
|||||||
return get_cached_icon (widget, "gnome-fs-blockdev", pixel_size);
|
return get_cached_icon (widget, "gnome-fs-blockdev", pixel_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char *
|
||||||
|
get_parent_dir (const char *filename)
|
||||||
|
{
|
||||||
|
int len;
|
||||||
|
|
||||||
|
len = strlen (filename);
|
||||||
|
|
||||||
|
/* Ignore trailing slashes */
|
||||||
|
if (filename[len - 1] == '/')
|
||||||
|
{
|
||||||
|
char *tmp, *parent;
|
||||||
|
|
||||||
|
tmp = g_strndup (filename, len - 1);
|
||||||
|
|
||||||
|
parent = g_path_get_dirname (tmp);
|
||||||
|
g_free (tmp);
|
||||||
|
|
||||||
|
return parent;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return g_path_get_dirname (filename);
|
||||||
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
gtk_file_system_unix_get_parent (GtkFileSystem *file_system,
|
gtk_file_system_unix_get_parent (GtkFileSystem *file_system,
|
||||||
const GtkFilePath *path,
|
const GtkFilePath *path,
|
||||||
@ -609,7 +648,7 @@ gtk_file_system_unix_get_parent (GtkFileSystem *file_system,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gchar *parent_filename = g_path_get_dirname (filename);
|
gchar *parent_filename = get_parent_dir (filename);
|
||||||
*parent = filename_to_path (parent_filename);
|
*parent = filename_to_path (parent_filename);
|
||||||
g_free (parent_filename);
|
g_free (parent_filename);
|
||||||
}
|
}
|
||||||
@ -1321,7 +1360,7 @@ gtk_file_folder_unix_get_info (GtkFileFolder *folder,
|
|||||||
g_return_val_if_fail (filename != NULL, NULL);
|
g_return_val_if_fail (filename != NULL, NULL);
|
||||||
g_return_val_if_fail (g_path_is_absolute (filename), NULL);
|
g_return_val_if_fail (g_path_is_absolute (filename), NULL);
|
||||||
|
|
||||||
dirname = g_path_get_dirname (filename);
|
dirname = get_parent_dir (filename);
|
||||||
g_return_val_if_fail (strcmp (dirname, folder_unix->filename) == 0, NULL);
|
g_return_val_if_fail (strcmp (dirname, folder_unix->filename) == 0, NULL);
|
||||||
g_free (dirname);
|
g_free (dirname);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user