diff options
author | Marcus Brinkmann <[email protected]> | 2005-05-05 12:00:11 +0000 |
---|---|---|
committer | Marcus Brinkmann <[email protected]> | 2005-05-05 12:00:11 +0000 |
commit | 1184d349cd494088cdc22acc87ac5898173c995e (patch) | |
tree | 45d9e25b322641fca427c1a7540b23c268ded186 | |
parent | doc/ (diff) | |
download | gpgme-1184d349cd494088cdc22acc87ac5898173c995e.tar.gz gpgme-1184d349cd494088cdc22acc87ac5898173c995e.zip |
2005-05-05 Marcus Brinkmann <[email protected]>
* data-user.c (user_release): Only call user hook if provided.
(user_seek): Return EBADF if no user hook is provided.
(user_read): Likewise.
(user_write): Likewise.
Diffstat (limited to '')
-rw-r--r-- | gpgme/ChangeLog | 7 | ||||
-rw-r--r-- | gpgme/data-user.c | 12 |
2 files changed, 18 insertions, 1 deletions
diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog index 275db84b..98f81a02 100644 --- a/gpgme/ChangeLog +++ b/gpgme/ChangeLog @@ -1,3 +1,10 @@ +2005-05-05 Marcus Brinkmann <[email protected]> + + * data-user.c (user_release): Only call user hook if provided. + (user_seek): Return EBADF if no user hook is provided. + (user_read): Likewise. + (user_write): Likewise. + 2005-04-28 Marcus Brinkmann <[email protected]> * gpgme.h (GPGME_INCLUDE_CERTS_DEFAULT): New macro. diff --git a/gpgme/data-user.c b/gpgme/data-user.c index 8a71b885..cfd31052 100644 --- a/gpgme/data-user.c +++ b/gpgme/data-user.c @@ -30,6 +30,9 @@ static ssize_t user_read (gpgme_data_t dh, void *buffer, size_t size) { + if (!dh->data.user.cbs->read) + return EBADF; + return (*dh->data.user.cbs->read) (dh->data.user.handle, buffer, size); } @@ -37,6 +40,9 @@ user_read (gpgme_data_t dh, void *buffer, size_t size) static ssize_t user_write (gpgme_data_t dh, const void *buffer, size_t size) { + if (!dh->data.user.cbs->write) + return EBADF; + return (*dh->data.user.cbs->write) (dh->data.user.handle, buffer, size); } @@ -44,6 +50,9 @@ user_write (gpgme_data_t dh, const void *buffer, size_t size) static off_t user_seek (gpgme_data_t dh, off_t offset, int whence) { + if (!dh->data.user.cbs->seek) + return EBADF; + return (*dh->data.user.cbs->seek) (dh->data.user.handle, offset, whence); } @@ -51,7 +60,8 @@ user_seek (gpgme_data_t dh, off_t offset, int whence) static void user_release (gpgme_data_t dh) { - (*dh->data.user.cbs->release) (dh->data.user.handle); + if (dh->data.user.cbs->release) + (*dh->data.user.cbs->release) (dh->data.user.handle); } |