aboutsummaryrefslogtreecommitdiffstats
path: root/assuan/assuan-io.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--assuan/assuan-io.c31
1 files changed, 6 insertions, 25 deletions
diff --git a/assuan/assuan-io.c b/assuan/assuan-io.c
index 135cb02d..b10571be 100644
--- a/assuan/assuan-io.c
+++ b/assuan/assuan-io.c
@@ -1,4 +1,4 @@
-/* assuan-buffer.c - Wraps the read and write functions.
+/* assuan-io.c - Wraps the read and write functions.
* Copyright (C) 2002 Free Software Foundation, Inc.
*
* This file is part of Assuan.
@@ -18,6 +18,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
+#include "assuan-defs.h"
#include <sys/types.h>
#include <unistd.h>
@@ -28,33 +29,13 @@ extern ssize_t pth_write (int fd, const void *buffer, size_t size);
#pragma weak pth_write
ssize_t
-_assuan_read (int fd, void *buffer, size_t size)
+_assuan_simple_read (ASSUAN_CONTEXT ctx, void *buffer, size_t size)
{
- static ssize_t (*reader) (int, void *, size_t);
-
- if (! reader)
- {
- if (pth_read)
- reader = pth_read;
- else
- reader = read;
- }
-
- return reader (fd, buffer, size);
+ return (pth_read ? pth_read : read) (ctx->inbound.fd, buffer, size);
}
ssize_t
-_assuan_write (int fd, const void *buffer, size_t size)
+_assuan_simple_write (ASSUAN_CONTEXT ctx, const void *buffer, size_t size)
{
- static ssize_t (*writer) (int, const void *, size_t);
-
- if (! writer)
- {
- if (pth_write)
- writer = pth_write;
- else
- writer = write;
- }
-
- return writer (fd, buffer, size);
+ return (pth_write ? pth_write : write) (ctx->outbound.fd, buffer, size);
}