static void initqueue(pkq *q) { q->head = 0; q->tail = &q->head; }
-static pkq_node *make_pkqnode(void *p, size_t n)
+static pkq_node *make_pkqnode(const void *p, size_t n)
{
pkq_node *pn;
/*----- Main daemon -------------------------------------------------------*/
-static void done_slip_dribble(dribbler *d, int err, void *p)
+static void done_slip_dribble(dribbler *d, int err, void *hunoz)
{
if (!err)
reasons--;
cripple_dribbler(d);
}
+static void close_slip(int fd)
+{
+ switch (slipstate) {
+ case SYNC1: case SYNC2: case START: case BAD: break;
+ default: moan("eof found while processing packet (discarding)"); break;
+ }
+ close(fd); sel_rmfile(&slip_in);
+ reasons--;
+}
+
static void do_slip_in(int fd, unsigned mode, void *hunoz)
{
ssize_t i, n;
for (;;) {
n = read(fd, buf, sizeof(buf));
if (n == 0) {
- switch (slipstate) {
- case SYNC1:
- case SYNC2:
- case START:
- case BAD:
- break;
- default:
- moan("eof found while processing packet (discarding)");
- break;
- }
- close(fd);
- sel_rmfile(&slip_in);
- reasons--;
+ close_slip(fd);
return;
} else if (n < 0) {
if (errno == EAGAIN || errno == EWOULDBLOCK || errno == EINTR)
static int timerflag;
-static void conndrip(struct timeval *tv, void *p)
+static void conndrip(struct timeval *tv, void *hunoz)
{
conninfo *c, *cc;