From 8eba2961acdf223d456172d3034f21865df060c4 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 22 Dec 2008 12:46:45 +0000 Subject: [PATCH] Based on Alexander Lamaison's patch, there's now a new function called libssh2_sftp_tell64() that returns the 64 bit file offset, as the existing libssh2_sftp_tell() only returns a size_t. --- NEWS | 6 +++++- docs/libssh2_sftp_tell.3 | 16 ++++++---------- docs/libssh2_sftp_tell64.3 | 23 +++++++++++++++++++++++ src/sftp.c | 9 +++++++++ 4 files changed, 43 insertions(+), 11 deletions(-) create mode 100644 docs/libssh2_sftp_tell64.3 diff --git a/NEWS b/NEWS index 1ff33c6..49e7645 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,10 @@ -Version 0.19 ( ) +Version 1.0 ( ) ------------------------------- +- (Dec 20 2008) Based on Alexander Lamaison's patch, there's now a new + function called libssh2_sftp_tell64() that returns the 64 bit file offset, + as the existing libssh2_sftp_tell() only returns a size_t. + - (Dec 18 2008) Markus Moeller fixed the issue also reported by Alexander Lamaison which caused SFTP reads with large buffers to fail. diff --git a/docs/libssh2_sftp_tell.3 b/docs/libssh2_sftp_tell.3 index f21cba7..ad72bd8 100644 --- a/docs/libssh2_sftp_tell.3 +++ b/docs/libssh2_sftp_tell.3 @@ -1,4 +1,4 @@ -.\" $Id: libssh2_sftp_tell.3,v 1.1 2007/06/14 16:33:38 jehousley Exp $ +.\" $Id: libssh2_sftp_tell.3,v 1.2 2008/12/22 12:46:45 bagder Exp $ .\" .TH libssh2_sftp_tell 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual" .SH NAME @@ -11,16 +11,12 @@ size_t libssh2_sftp_tell(LIBSSH2_SFTP_HANDLE *handle); .SH DESCRIPTION -\fIhandle\fP - SFTP File Handle as returned by -.BR libssh2_sftp_open(3) - -Identify the current offset of the file handle's internal pointer. Note -that the SSH2 protocol does not have a notion of file pointers and that -libssh2 implements this using a localized file pointer which is updated -with each read/write call. +\fIhandle\fP - SFTP File Handle as returned by \fBlibssh2_sftp_open(3)\fP. +Returns the current offset of the file handle's internal pointer. Note that +this is now deprecated. Use the newer \fBlibssh2_sftp_tell64(3)\fP instead! .SH RETURN VALUE Current offset from beginning of file in bytes. - .SH SEE ALSO -.BR libssh2_sftp_open(3) +.BR libssh2_sftp_open(3), +.BR libssh2_sftp_tell64(3) diff --git a/docs/libssh2_sftp_tell64.3 b/docs/libssh2_sftp_tell64.3 new file mode 100644 index 0000000..37cc27a --- /dev/null +++ b/docs/libssh2_sftp_tell64.3 @@ -0,0 +1,23 @@ +.\" $Id: libssh2_sftp_tell64.3,v 1.1 2008/12/22 12:46:45 bagder Exp $ +.\" +.TH libssh2_sftp_tell64 3 "22 Dec 2008" "libssh2 1.0" "libssh2 manual" +.SH NAME +libssh2_sftp_tell64 - get the current read/write position indicator for a file +.SH SYNOPSIS +#include +#include + +libssh2_uint64_t +libssh2_sftp_tell64(LIBSSH2_SFTP_HANDLE *handle); + +.SH DESCRIPTION +\fIhandle\fP - SFTP File Handle as returned by \fBlibssh2_sftp_open(3)\fP + +Identify the current offset of the file handle's internal pointer. +.SH RETURN VALUE +Current offset from beginning of file in bytes. +.SH AVAILABILITY +Added in libssh2 1.0 +.SH SEE ALSO +.BR libssh2_sftp_open(3), +.BR libssh2_sftp_tell(3) diff --git a/src/sftp.c b/src/sftp.c index 5c49703..24460e0 100644 --- a/src/sftp.c +++ b/src/sftp.c @@ -1560,6 +1560,15 @@ libssh2_sftp_tell(LIBSSH2_SFTP_HANDLE * handle) return handle->u.file.offset; } +/* {{{ libssh2_sftp_tell64 + * Return the current read/write pointer's offset + */ +LIBSSH2_API libssh2_uint64_t +libssh2_sftp_tell64(LIBSSH2_SFTP_HANDLE * handle) +{ + return handle->u.file.offset; +} + /* }}} */