/*
* Empire - A multi-player, client/server Internet based war game.
- * Copyright (C) 1986-2005, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Copyright (C) 1986-2007, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure
*
* This program is free software; you can redistribute it and/or modify
*
* ---
*
- * See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
- * related information and legal notices. It is expected that any future
- * projects/authors will amend these files as needed.
+ * See files README, COPYING and CREDITS in the root of the source
+ * tree for related information and legal notices. It is expected
+ * that future projects/authors will amend these files as needed.
*
* ---
*
* that is left for a higher level.
*/
+#include <config.h>
+
#include <stdio.h>
-#include <stdlib.h> /* malloc free */
-#include <sys/types.h>
+#include <stdlib.h>
+#include <string.h>
#if !defined(_WIN32)
+#include <sys/types.h>
#include <sys/uio.h>
#endif
+#include "ioqueue.h"
#include "misc.h"
#include "queue.h"
-#include "ioqueue.h"
-static int ioqtocbuf(struct ioqueue *ioq, s_char *buf, int cc,
- register int stopc);
+static int ioqtocbuf(struct ioqueue *ioq, char *buf, int cc, int stopc);
#if !defined(_WIN32)
-static int ioqtoiov(struct ioqueue *ioq, struct iovec *iov,
- register int max);
-#endif
-static int ioqtobuf(struct ioqueue *ioq, s_char *buf, int cc);
-static int appendcc(struct ioqueue *ioq, s_char *buf, int cc);
-static int removecc(struct ioqueue *ioq, register int cc);
-
-#if defined(_WIN32)
-static void loc_StripDels(char *pBuf);
+static int ioqtoiov(struct ioqueue *ioq, struct iovec *iov, int max);
#endif
+static int ioqtobuf(struct ioqueue *ioq, char *buf, int cc);
+static int appendcc(struct ioqueue *ioq, char *buf, int cc);
+static int removecc(struct ioqueue *ioq, int cc);
struct ioqueue *
ioq_create(int size)
void
ioq_destroy(struct ioqueue *ioq)
{
-#if !defined(aix) && !defined(NeXT)
-/* ioq_drain doesn't work under aix or NeXT... dunno why --ts */
ioq_drain(ioq);
-#endif /* aix */
free(ioq);
}
* number of bytes actually found.
*/
int
-ioq_peek(struct ioqueue *ioq, s_char *buf, int cc)
+ioq_peek(struct ioqueue *ioq, char *buf, int cc)
{
return ioqtobuf(ioq, buf, cc);
}
}
void
-ioq_append(struct ioqueue *ioq, s_char *buf, int cc)
+ioq_append(struct ioqueue *ioq, char *buf, int cc)
{
appendcc(ioq, buf, cc);
}
* no input is available
*/
int
-ioq_gets(struct ioqueue *ioq, s_char *buf, int cc)
+ioq_gets(struct ioqueue *ioq, char *buf, int cc)
{
int nbytes;
int actual;
}
int
-ioq_puts(struct ioqueue *ioq, s_char *buf)
+ioq_puts(struct ioqueue *ioq, char *buf)
{
return appendcc(ioq, buf, strlen(buf));
}
-/*
- * all the rest are local to this module
- */
-
-
/*
* copy cc bytes from ioq to buf.
* this routine doesn't free memory; this is
* left for a higher level.
*/
static int
-ioqtobuf(struct ioqueue *ioq, s_char *buf, int cc)
+ioqtobuf(struct ioqueue *ioq, char *buf, int cc)
{
struct io *io;
struct emp_qelem *qp;
struct emp_qelem *head;
- register int nbytes;
- register int nleft;
- register s_char *offset;
+ int nbytes, nleft;
+ char *offset;
nleft = cc;
offset = buf;
* terminating on the stop character.
*/
static int
-ioqtocbuf(struct ioqueue *ioq, s_char *buf, int cc, register int stopc)
+ioqtocbuf(struct ioqueue *ioq, char *buf, int cc, int stopc)
{
- register int nbytes;
- register s_char *p;
- register int n;
+ int nbytes;
+ char *p;
+ int n;
struct io *io;
struct emp_qelem *qp;
struct emp_qelem *head;
*/
#if !defined(_WIN32)
static int
-ioqtoiov(struct ioqueue *ioq, struct iovec *iov, register int max)
+ioqtoiov(struct ioqueue *ioq, struct iovec *iov, int max)
{
struct io *io;
- register int cc;
- register int niov;
- register int len;
+ int cc, niov, len;
struct emp_qelem *qp;
cc = max;
* append a buffer to the end of the ioq.
*/
static int
-appendcc(struct ioqueue *ioq, s_char *buf, int cc)
+appendcc(struct ioqueue *ioq, char *buf, int cc)
{
struct io *io;
int len;
- s_char *ptr;
+ char *ptr;
int avail;
/* determine if any space is left */
* which are no longer used.
*/
static int
-removecc(struct ioqueue *ioq, register int cc)
+removecc(struct ioqueue *ioq, int cc)
{
struct io *io;
struct emp_qelem *qp;
- register int nbytes;
- register int there;
- register int remain;
+ int nbytes, there, remain;
nbytes = 0;
remain = cc;
int nbytes;
int nleft;
int ncopied;
- s_char *offset;
+ char *offset;
ncopied = 0;
nleft = nBufLen;