summaryrefslogtreecommitdiffstats
path: root/cpukit/libnetworking/libc
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2007-09-24 21:35:10 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2007-09-24 21:35:10 +0000
commitb5bf8cd163de664f558a5b2b02b01cc8a7722456 (patch)
tree57f78fc92a0ea83967a9b6074bf43c3afa9a5bf2 /cpukit/libnetworking/libc
parent2007-09-24 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-b5bf8cd163de664f558a5b2b02b01cc8a7722456.tar.bz2
2007-09-24 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1262/filesystem * libcsupport/Makefile.am, libnetworking/libc/herror.c, libnetworking/libc/res_send.c, libnetworking/sys/uio.h, telnetd/Makefile.am, telnetd/README, telnetd/preinstall.am, telnetd/pty.c, telnetd/telnetd.c: Add support for readv() and writev() including documentation and test case. * libcsupport/src/readv.c, libcsupport/src/writev.c: New files.
Diffstat (limited to 'cpukit/libnetworking/libc')
-rw-r--r--cpukit/libnetworking/libc/herror.c6
-rw-r--r--cpukit/libnetworking/libc/res_send.c7
2 files changed, 9 insertions, 4 deletions
diff --git a/cpukit/libnetworking/libc/herror.c b/cpukit/libnetworking/libc/herror.c
index 45ce588569..621da3ec1d 100644
--- a/cpukit/libnetworking/libc/herror.c
+++ b/cpukit/libnetworking/libc/herror.c
@@ -69,6 +69,8 @@ int h_nerr = { sizeof h_errlist / sizeof h_errlist[0] };
int h_errno;
+#define HERROR_USE_WRITEV
+
/*
* herror --
* print the error indicated by the h_errno value.
@@ -77,7 +79,7 @@ void
herror(s)
const char *s;
{
-#if 0
+#if defined(HERROR_USE_WRITEV)
struct iovec iov[4];
register struct iovec *v = iov;
@@ -97,7 +99,7 @@ herror(s)
writev(STDERR_FILENO, iov, (v - iov) + 1);
#else
/*
- * RTEMS: no writev yet
+ * no writev implementation available
*/
if (s && *s) {
write (2, s, strlen (s));
diff --git a/cpukit/libnetworking/libc/res_send.c b/cpukit/libnetworking/libc/res_send.c
index fa04d545b3..5f675a46e4 100644
--- a/cpukit/libnetworking/libc/res_send.c
+++ b/cpukit/libnetworking/libc/res_send.c
@@ -97,6 +97,9 @@
#include <poll.h>
#endif
+/* RTEMS now has writev */
+#define USE_WRITEV
+
#include "res_config.h"
#if !defined(__rtems__)
@@ -378,7 +381,7 @@ res_send(buf, buflen, ans, anssiz)
if (v_circuit) {
int truncated;
-#if !defined(__rtems__)
+#if defined(USE_WRITEV)
struct iovec iov[2];
#endif
u_short len;
@@ -416,7 +419,7 @@ res_send(buf, buflen, ans, anssiz)
* Send length & message
*/
putshort((u_short)buflen, (u_char*)&len);
-#if !defined(__rtems__)
+#if defined(USE_WRITEV)
iov[0].iov_base = (caddr_t)&len;
iov[0].iov_len = INT16SZ;
iov[1].iov_base = (caddr_t)buf;