[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.164 and 1.165

version 1.164, 2008/10/10 04:55:16 version 1.165, 2009/12/20 07:28:36
Line 228 
Line 228 
                 close(pout[1]);                  close(pout[1]);
   
                 replacearg(&args, 0, "%s", ssh_program);                  replacearg(&args, 0, "%s", ssh_program);
                 if (remuser != NULL)                  if (remuser != NULL) {
                         addargs(&args, "-l%s", remuser);                          addargs(&args, "-l");
                           addargs(&args, "%s", remuser);
                   }
                   addargs(&args, "--");
                 addargs(&args, "%s", host);                  addargs(&args, "%s", host);
                 addargs(&args, "%s", cmd);                  addargs(&args, "%s", cmd);
   
Line 318 
Line 321 
                 case 'c':                  case 'c':
                 case 'i':                  case 'i':
                 case 'F':                  case 'F':
                         addargs(&args, "-%c%s", ch, optarg);                          addargs(&args, "-%c", ch);
                           addargs(&args, "%s", optarg);
                         break;                          break;
                 case 'P':                  case 'P':
                         addargs(&args, "-p%s", optarg);                          addargs(&args, "-p");
                           addargs(&args, "%s", optarg);
                         break;                          break;
                 case 'B':                  case 'B':
                         addargs(&args, "-oBatchmode yes");                          addargs(&args, "-oBatchmode yes");
Line 526 
Line 531 
                         } else {                          } else {
                                 host = cleanhostname(argv[i]);                                  host = cleanhostname(argv[i]);
                         }                          }
                           addargs(&alist, "--");
                         addargs(&alist, "%s", host);                          addargs(&alist, "%s", host);
                         addargs(&alist, "%s", cmd);                          addargs(&alist, "%s", cmd);
                         addargs(&alist, "%s", src);                          addargs(&alist, "%s", src);
Line 536 
Line 542 
                                 errs = 1;                                  errs = 1;
                 } else {        /* local to remote */                  } else {        /* local to remote */
                         if (remin == -1) {                          if (remin == -1) {
                                 xasprintf(&bp, "%s -t %s", cmd, targ);                                  xasprintf(&bp, "%s -t -- %s", cmd, targ);
                                 host = cleanhostname(thost);                                  host = cleanhostname(thost);
                                 if (do_cmd(host, tuser, bp, &remin,                                  if (do_cmd(host, tuser, bp, &remin,
                                     &remout) < 0)                                      &remout) < 0)
Line 569 
Line 575 
                                 addargs(&alist, "-r");                                  addargs(&alist, "-r");
                         if (pflag)                          if (pflag)
                                 addargs(&alist, "-p");                                  addargs(&alist, "-p");
                           addargs(&alist, "--");
                         addargs(&alist, "%s", argv[i]);                          addargs(&alist, "%s", argv[i]);
                         addargs(&alist, "%s", argv[argc-1]);                          addargs(&alist, "%s", argv[argc-1]);
                         if (do_local_cmd(&alist))                          if (do_local_cmd(&alist))
Line 588 
Line 595 
                                 suser = pwd->pw_name;                                  suser = pwd->pw_name;
                 }                  }
                 host = cleanhostname(host);                  host = cleanhostname(host);
                 xasprintf(&bp, "%s -f %s", cmd, src);                  xasprintf(&bp, "%s -f -- %s", cmd, src);
                 if (do_cmd(host, suser, bp, &remin, &remout) < 0) {                  if (do_cmd(host, suser, bp, &remin, &remout) < 0) {
                         (void) xfree(bp);                          (void) xfree(bp);
                         ++errs;                          ++errs;

Legend:
Removed from v.1.164  
changed lines
  Added in v.1.165