aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/connect.c
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2008-02-15 14:20:18 -0500
committerSteve French <sfrench@us.ibm.com>2008-02-15 14:20:18 -0500
commitc2d68ea65b0f668783c88e1f4f22738b24f3edea (patch)
treefbc55d738f857c37f63df2f674b6f2d40ab6e376 /fs/cifs/connect.c
parent11b6d6450c10066e83e19f6ff57d55678c3e9f13 (diff)
[CIFS] fix prepath conversion when server supports posix paths
Jeff Layton that we were converting \ to / in the posix path case which is not always right (depends on what the old delim was). CC: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/connect.c')
-rw-r--r--fs/cifs/connect.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 77e6c4c3a88b..8dbfa97cd18c 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -1802,12 +1802,18 @@ static void
1802convert_delimiter(char *path, char delim) 1802convert_delimiter(char *path, char delim)
1803{ 1803{
1804 int i; 1804 int i;
1805 char old_delim;
1805 1806
1806 if (path == NULL) 1807 if (path == NULL)
1807 return; 1808 return;
1808 1809
1810 if (delim == '/')
1811 old_delim = '\\';
1812 else
1813 old_delim = '/';
1814
1809 for (i = 0; path[i] != '\0'; i++) { 1815 for (i = 0; path[i] != '\0'; i++) {
1810 if ((path[i] == '/') || (path[i] == '\\')) 1816 if (path[i] == old_delim)
1811 path[i] = delim; 1817 path[i] = delim;
1812 } 1818 }
1813} 1819}