large files scp problem

Michael Stone mstone at cs.loyola.edu
Sat Aug 11 04:01:40 EST 2001


scp sends the size of the file it's copying to the remote system. The
printf string uses %lu by default, and %lld if the host system supports
long long's. Unfortunately, the check for whether the system supports
long longs' isn't correct and the wrong format string is used in some
cases.  Specifically, HAVE_LONG_LONG_INT isn't defined if int64_t is
defined in the system headers. The patch below seperates the
HAVE_LONG_LONG_INT logic from the HAVE_INT64_T logic. 

--- openssh-2.9p2.orig/defines.h        Wed May  9 00:39:19 2001
+++ openssh-2.9p2/defines.h     Fri Aug 10 17:44:58 2001
@@ -226,6 +226,10 @@
 # endif
 #endif
 
+#if (SIZEOF_LONG_LONG_INT == 8)
+#   define HAVE_LONG_LONG_INT
+#endif
+
 #ifndef HAVE_SOCKLEN_T
 typedef unsigned int socklen_t;
 # define HAVE_SOCKLEN_T


-- 
Mike Stone



More information about the openssh-unix-dev mailing list