summaryrefslogtreecommitdiffstats
path: root/fs/cifs
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2008-02-15 20:20:18 +0100
committerSteve French <sfrench@us.ibm.com>2008-02-15 20:20:18 +0100
commitc2d68ea65b0f668783c88e1f4f22738b24f3edea (patch)
treefbc55d738f857c37f63df2f674b6f2d40ab6e376 /fs/cifs
parent[CIFS] Only convert / when server does not support posix paths (diff)
downloadlinux-c2d68ea65b0f668783c88e1f4f22738b24f3edea.tar.xz
linux-c2d68ea65b0f668783c88e1f4f22738b24f3edea.zip
[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')
-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
convert_delimiter(char *path, char delim)
{
int i;
+ char old_delim;
if (path == NULL)
return;
+ if (delim == '/')
+ old_delim = '\\';
+ else
+ old_delim = '/';
+
for (i = 0; path[i] != '\0'; i++) {
- if ((path[i] == '/') || (path[i] == '\\'))
+ if (path[i] == old_delim)
path[i] = delim;
}
}