Commit d9246ff2 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

François Pons brought a patch that once again made curl deal with ftp and

"double slash" as indicating the root directory. In the RFC1738-fix of April
30, that ability was removed (since it is not the "right" way).
parent 9301bc34
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -2134,12 +2134,16 @@ CURLcode Curl_ftp(struct connectdata *conn)

  /* parse the URL path into separate path components */
  while((slash_pos=strchr(cur_pos, '/'))) {
    /* 1 or 0 to indicate absolute directory */
    bool absolute_dir = (cur_pos - conn->ppath > 0) && (path_part == 0);

    /* seek out the next path component */
    if (slash_pos-cur_pos) {
      /* we skip empty path components, like "x//y" since the FTP command CWD
         requires a parameter and a non-existant parameter a) doesn't work on
         many servers and b) has no effect on the others. */
      ftp->dirs[path_part] = curl_unescape(cur_pos,slash_pos-cur_pos);
      ftp->dirs[path_part] = curl_unescape(cur_pos - absolute_dir,
                                           slash_pos - cur_pos + absolute_dir);
    
      if (!ftp->dirs[path_part]) { /* run out of memory ... */
        failf(data, "no memory");