Make a single tilde go to $HOME in the location entry. Patch from Yevgen

2007-01-11  Kjartan Maraas  <kmaraas@gnome.org>

	* gtk/gtkfilesystemunix.c: (expand_tilde):
	Make a single tilde go to $HOME in the location entry.
	Patch from Yevgen Muntyan. Closes the gtk+ part of
	bug #334168.

svn path=/trunk/; revision=17130
This commit is contained in:
Kjartan Maraas 2007-01-11 00:53:00 +00:00 committed by Kjartan Maraas
parent 34700fe659
commit ea65504a9b
2 changed files with 17 additions and 5 deletions

View File

@ -1,3 +1,10 @@
2007-01-11 Kjartan Maraas <kmaraas@gnome.org>
* gtk/gtkfilesystemunix.c: (expand_tilde):
Make a single tilde go to $HOME in the location entry.
Patch from Yevgen Muntyan. Closes the gtk+ part of
bug #334168.
2007-01-10 Behdad Esfahbod <behdad@gnome.org>
* gdk/gdkpango.c (gdk_draw_layout_with_colors):

View File

@ -1442,10 +1442,8 @@ expand_tilde (const char *filename)
notilde = filename + 1;
slash = strchr (notilde, G_DIR_SEPARATOR);
if (!slash)
return NULL;
if (slash == notilde)
if (slash == notilde || !*notilde)
{
home = g_get_home_dir ();
@ -1457,7 +1455,11 @@ expand_tilde (const char *filename)
char *username;
struct passwd *passwd;
username = g_strndup (notilde, slash - notilde);
if (slash)
username = g_strndup (notilde, slash - notilde);
else
username = g_strdup (notilde);
passwd = getpwnam (username);
g_free (username);
@ -1467,7 +1469,10 @@ expand_tilde (const char *filename)
home = passwd->pw_dir;
}
return g_build_filename (home, G_DIR_SEPARATOR_S, slash + 1, NULL);
if (slash)
return g_build_filename (home, G_DIR_SEPARATOR_S, slash + 1, NULL);
else
return g_strdup (home);
}
static gboolean