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

Diff for /src/usr.bin/ssh/sftp-client.c between version 1.101.2.1 and 1.102

version 1.101.2.1, 2013/11/08 01:33:56 version 1.102, 2013/08/08 05:04:03
Line 464 
Line 464 
   
         if (dir) {          if (dir) {
                 ents = 0;                  ents = 0;
                 *dir = xcalloc(1, sizeof(**dir));                  *dir = xmalloc(sizeof(**dir));
                 (*dir)[0] = NULL;                  (*dir)[0] = NULL;
         }          }
   
Line 538 
Line 538 
   
                         if (dir) {                          if (dir) {
                                 *dir = xrealloc(*dir, ents + 2, sizeof(**dir));                                  *dir = xrealloc(*dir, ents + 2, sizeof(**dir));
                                 (*dir)[ents] = xcalloc(1, sizeof(***dir));                                  (*dir)[ents] = xmalloc(sizeof(***dir));
                                 (*dir)[ents]->filename = xstrdup(filename);                                  (*dir)[ents]->filename = xstrdup(filename);
                                 (*dir)[ents]->longname = xstrdup(longname);                                  (*dir)[ents]->longname = xstrdup(longname);
                                 memcpy(&(*dir)[ents]->a, a, sizeof(*a));                                  memcpy(&(*dir)[ents]->a, a, sizeof(*a));
Line 557 
Line 557 
         /* Don't return partial matches on interrupt */          /* Don't return partial matches on interrupt */
         if (interrupted && dir != NULL && *dir != NULL) {          if (interrupted && dir != NULL && *dir != NULL) {
                 free_sftp_dirents(*dir);                  free_sftp_dirents(*dir);
                 *dir = xcalloc(1, sizeof(**dir));                  *dir = xmalloc(sizeof(**dir));
                 **dir = NULL;                  **dir = NULL;
         }          }
   
Line 761 
Line 761 
 }  }
   
 int  int
 do_rename(struct sftp_conn *conn, char *oldpath, char *newpath)  do_rename(struct sftp_conn *conn, char *oldpath, char *newpath,
       int force_legacy)
 {  {
         Buffer msg;          Buffer msg;
         u_int status, id;          u_int status, id;
           int use_ext = (conn->exts & SFTP_EXT_POSIX_RENAME) && !force_legacy;
   
         buffer_init(&msg);          buffer_init(&msg);
   
         /* Send rename request */          /* Send rename request */
         id = conn->msg_id++;          id = conn->msg_id++;
         if ((conn->exts & SFTP_EXT_POSIX_RENAME)) {          if (use_ext) {
                 buffer_put_char(&msg, SSH2_FXP_EXTENDED);                  buffer_put_char(&msg, SSH2_FXP_EXTENDED);
                 buffer_put_int(&msg, id);                  buffer_put_int(&msg, id);
                 buffer_put_cstring(&msg, "posix-rename@openssh.com");                  buffer_put_cstring(&msg, "posix-rename@openssh.com");
Line 782 
Line 784 
         buffer_put_cstring(&msg, newpath);          buffer_put_cstring(&msg, newpath);
         send_msg(conn, &msg);          send_msg(conn, &msg);
         debug3("Sent message %s \"%s\" -> \"%s\"",          debug3("Sent message %s \"%s\" -> \"%s\"",
             (conn->exts & SFTP_EXT_POSIX_RENAME) ? "posix-rename@openssh.com" :              use_ext ? "posix-rename@openssh.com" : "SSH2_FXP_RENAME",
             "SSH2_FXP_RENAME", oldpath, newpath);              oldpath, newpath);
         buffer_free(&msg);          buffer_free(&msg);
   
         status = get_status(conn, id);          status = get_status(conn, id);
Line 1098 
Line 1100 
                             (unsigned long long)offset,                              (unsigned long long)offset,
                             (unsigned long long)offset + buflen - 1,                              (unsigned long long)offset + buflen - 1,
                             num_req, max_req);                              num_req, max_req);
                         req = xcalloc(1, sizeof(*req));                          req = xmalloc(sizeof(*req));
                         req->id = conn->msg_id++;                          req->id = conn->msg_id++;
                         req->len = buflen;                          req->len = buflen;
                         req->offset = offset;                          req->offset = offset;
Line 1451 
Line 1453 
                             strerror(errno));                              strerror(errno));
   
                 if (len != 0) {                  if (len != 0) {
                         ack = xcalloc(1, sizeof(*ack));                          ack = xmalloc(sizeof(*ack));
                         ack->id = ++id;                          ack->id = ++id;
                         ack->offset = offset;                          ack->offset = offset;
                         ack->len = len;                          ack->len = len;

Legend:
Removed from v.1.101.2.1  
changed lines
  Added in v.1.102