]> andersk Git - openssh.git/blobdiff - sftp-client.c
- jakob@cvs.openbsd.org 2001/07/31 09:28:44
[openssh.git] / sftp-client.c
index b0007a7345c56bb54b8877f007710636cfb81825..4f2a1e2800840406be251e3554126e1235b732f3 100644 (file)
 /* XXX: copy between two remote sites */
 
 #include "includes.h"
-RCSID("$OpenBSD: sftp-client.c,v 1.14 2001/03/16 08:16:17 djm Exp $");
+RCSID("$OpenBSD: sftp-client.c,v 1.18 2001/07/14 15:10:16 stevesk Exp $");
 
-#include "ssh.h"
 #include "buffer.h"
 #include "bufaux.h"
 #include "getput.h"
 #include "xmalloc.h"
 #include "log.h"
 #include "atomicio.h"
-#include "pathnames.h"
 
 #include "sftp.h"
 #include "sftp-common.h"
@@ -51,7 +49,7 @@ RCSID("$OpenBSD: sftp-client.c,v 1.14 2001/03/16 08:16:17 djm Exp $");
 /* Message ID */
 static u_int msg_id = 1;
 
-void
+static void
 send_msg(int fd, Buffer *m)
 {
        int mlen = buffer_len(m);
@@ -70,14 +68,16 @@ send_msg(int fd, Buffer *m)
        buffer_free(&oqueue);
 }
 
-void
+static void
 get_msg(int fd, Buffer *m)
 {
        u_int len, msg_len;
        unsigned char buf[4096];
 
        len = atomicio(read, fd, buf, 4);
-       if (len != 4)
+       if (len == 0)
+               fatal("Connection closed");
+       else if (len == -1)
                fatal("Couldn't read packet: %s", strerror(errno));
 
        msg_len = GET_32BIT(buf);
@@ -86,7 +86,9 @@ get_msg(int fd, Buffer *m)
 
        while (msg_len) {
                len = atomicio(read, fd, buf, MIN(msg_len, sizeof(buf)));
-               if (len <= 0)
+               if (len == 0)
+                       fatal("Connection closed");
+               else if (len == -1)
                        fatal("Couldn't read packet: %s", strerror(errno));
 
                msg_len -= len;
@@ -94,7 +96,7 @@ get_msg(int fd, Buffer *m)
        }
 }
 
-void
+static void
 send_string_request(int fd, u_int id, u_int code, char *s,
     u_int len)
 {
@@ -109,7 +111,7 @@ send_string_request(int fd, u_int id, u_int code, char *s,
        buffer_free(&msg);
 }
 
-void
+static void
 send_string_attrs_request(int fd, u_int id, u_int code, char *s,
     u_int len, Attrib *a)
 {
@@ -125,7 +127,7 @@ send_string_attrs_request(int fd, u_int id, u_int code, char *s,
        buffer_free(&msg);
 }
 
-u_int
+static u_int
 get_status(int fd, int expected_id)
 {
        Buffer msg;
@@ -150,7 +152,7 @@ get_status(int fd, int expected_id)
        return(status);
 }
 
-char *
+static char *
 get_handle(int fd, u_int expected_id, u_int *len)
 {
        Buffer msg;
@@ -179,7 +181,7 @@ get_handle(int fd, u_int expected_id, u_int *len)
        return(handle);
 }
 
-Attrib *
+static Attrib *
 get_decode_stat(int fd, u_int expected_id, int quiet)
 {
        Buffer msg;
@@ -279,8 +281,8 @@ do_close(int fd_in, int fd_out, char *handle, u_int handle_len)
 }
 
 
-int
-do_lsreaddir(int fd_in, int fd_out, char *path, int printflag, 
+static int
+do_lsreaddir(int fd_in, int fd_out, char *path, int printflag,
     SFTP_DIRENT ***dir)
 {
        Buffer msg;
@@ -366,7 +368,7 @@ do_lsreaddir(int fd_in, int fd_out, char *path, int printflag,
                                printf("%s\n", longname);
 
                        if (dir) {
-                               *dir = xrealloc(*dir, sizeof(**dir) * 
+                               *dir = xrealloc(*dir, sizeof(**dir) *
                                    (ents + 2));
                                (*dir)[ents] = xmalloc(sizeof(***dir));
                                (*dir)[ents]->filename = xstrdup(filename);
This page took 0.179974 seconds and 4 git commands to generate.