* vmhsbr.c -- routines to help vmh along
*
* $Id$
+ *
+ * This code is Copyright (c) 2002, by the authors of nmh. See the
+ * COPYRIGHT file in the root directory of the nmh distribution for
+ * complete copyright information.
*/
/*
#include <h/mh.h>
#include <h/vmhsbr.h>
+#include <h/utils.h>
+#include <errno.h>
static char *types[] = {
"OK",
static int PEERrfd = NOTOK;
static int PEERwfd = NOTOK;
-extern int errno;
-
/*
* static prototypes
*/
if (read (PEERrfd, (char *) rc_head (rc), RHSIZE (rc)) != RHSIZE (rc))
return rclose (rc, "read from peer lost(1)");
if (rc->rc_len) {
- if ((rc->rc_data = malloc ((unsigned) rc->rc_len + 1)) == NULL)
- return rclose (rc, "malloc of %d lost", rc->rc_len + 1);
+ rc->rc_data = mh_xmalloc ((unsigned) rc->rc_len + 1);
if (read (PEERrfd, rc->rc_data, rc->rc_len) != rc->rc_len)
return rclose (rc, "read from peer lost(2)");
rc->rc_data[rc->rc_len] = 0;
if (fp) {
fseek (fp, 0L, SEEK_END);
fprintf (fp, "%d: <--- %s %d: \"%*.*s\"\n", (int) getpid(),
- types[rc->rc_type], rc->rc_len,
+ types[(unsigned char)rc->rc_type], rc->rc_len,
rc->rc_len, rc->rc_len, rc->rc_data);
fflush (fp);
}
if (fp) {
fseek (fp, 0L, SEEK_END);
fprintf (fp, "%d: ---> %s %d: \"%*.*s\"\n", (int) getpid(),
- types[rc->rc_type], rc->rc_len,
+ types[(unsigned char)rc->rc_type], rc->rc_len,
rc->rc_len, rc->rc_len, data);
fflush (fp);
}
int
err2peer (char code, char *what, char *fmt, ...)
{
+ int return_value;
va_list ap;
va_start(ap, fmt);
- verr2peer(code, what, fmt, ap);
+ return_value = verr2peer(code, what, fmt, ap);
va_end(ap);
+ return return_value; /* This routine returned garbage before 1999-07-15. */
}