[BACK]Return to scp.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/scp.c between version 1.241 and 1.242

version 1.241, 2021/10/24 21:24:17 version 1.242, 2022/01/08 07:36:11
Line 1217 
Line 1217 
 static char *  static char *
 prepare_remote_path(struct sftp_conn *conn, const char *path)  prepare_remote_path(struct sftp_conn *conn, const char *path)
 {  {
           size_t nslash;
   
         /* Handle ~ prefixed paths */          /* Handle ~ prefixed paths */
         if (*path != '~')  
                 return xstrdup(path);  
         if (*path == '\0' || strcmp(path, "~") == 0)          if (*path == '\0' || strcmp(path, "~") == 0)
                 return xstrdup(".");                  return xstrdup(".");
         if (strncmp(path, "~/", 2) == 0)          if (*path != '~')
                 return xstrdup(path + 2);                  return xstrdup(path);
           if (strncmp(path, "~/", 2) == 0) {
                   if ((nslash = strspn(path + 2, "/")) == strlen(path + 2))
                           return xstrdup(".");
                   return xstrdup(path + 2 + nslash);
           }
         if (can_expand_path(conn))          if (can_expand_path(conn))
                 return do_expand_path(conn, path);                  return do_expand_path(conn, path);
         /* No protocol extension */          /* No protocol extension */

Legend:
Removed from v.1.241  
changed lines
  Added in v.1.242