diff options
-rw-r--r-- | ftpfs/ChangeLog | 7 | ||||
-rw-r--r-- | ftpfs/ftpfs.c | 2 | ||||
-rw-r--r-- | ftpfs/host.c | 2 |
3 files changed, 9 insertions, 2 deletions
diff --git a/ftpfs/ChangeLog b/ftpfs/ChangeLog index b53da74f..4f042123 100644 --- a/ftpfs/ChangeLog +++ b/ftpfs/ChangeLog @@ -1,3 +1,10 @@ +2005-06-14 Hugues Larrive <hugues.larrive@gmail.com> + + * ftpfs.c (parse_startup_opt): User names may contain a @, so take + the last @ of FTPFS_REMOTE_FS. + * host.c (split_server_name): User names may contain a @, so take + the last @ of P. + 2003-08-17 Marcus Brinkmann <marcus@gnu.org> * ftpfs.h: Include <hurd/ihash.h>. diff --git a/ftpfs/ftpfs.c b/ftpfs/ftpfs.c index 492df79e..09c072d1 100644 --- a/ftpfs/ftpfs.c +++ b/ftpfs/ftpfs.c @@ -255,7 +255,7 @@ parse_startup_opt (int key, char *arg, struct argp_state *state) { int h_err; /* Host lookup error. */ error_t err; - char *sep = strchr (ftpfs_remote_fs, '@'); + char *sep = strrchr (ftpfs_remote_fs, '@'); if (sep) /* FTPFS_REMOTE_FS includes a '@', which means that it's in diff --git a/ftpfs/host.c b/ftpfs/host.c index a0703afe..cd6fd4c0 100644 --- a/ftpfs/host.c +++ b/ftpfs/host.c @@ -38,7 +38,7 @@ split_server_name (const char *server, char **host, char **user, char **passwd) /* Extract the hostname; syntax is either `HOST:...', `...@HOST', or just HOST if there are no user parameters specified. */ - sep = strchr (p, '@'); + sep = strrchr (p, '@'); if (sep) /* ...@HOST */ { |