aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2005-05-05 12:00:11 +0000
committerMarcus Brinkmann <[email protected]>2005-05-05 12:00:11 +0000
commit1184d349cd494088cdc22acc87ac5898173c995e (patch)
tree45d9e25b322641fca427c1a7540b23c268ded186
parentdoc/ (diff)
downloadgpgme-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/ChangeLog7
-rw-r--r--gpgme/data-user.c12
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);
}