diff -Naur wminet-3.0.0.orig/src/list.c wminet-3.0.0/src/list.c
--- wminet-3.0.0.orig/src/list.c	2001-11-24 12:03:32.000000000 +0100
+++ wminet-3.0.0/src/list.c	2016-01-04 13:45:02.137642820 +0100
@@ -38,7 +38,7 @@
 
 /* Return a cons cell produced from (head . tail) */
 
-INLINE LinkedList* 
+LinkedList* 
 list_cons(void* head, LinkedList* tail)
 {
   LinkedList* cell;
@@ -51,7 +51,7 @@
 
 /* Return the length of a list, list_length(NULL) returns zero */
 
-INLINE int
+int
 list_length(LinkedList* list)
 {
   int i = 0;
@@ -66,7 +66,7 @@
 /* Return the Nth element of LIST, where N count from zero.  If N 
    larger than the list length, NULL is returned  */
 
-INLINE void*
+void*
 list_nth(int index, LinkedList* list)
 {
   while(index-- != 0)
@@ -81,7 +81,7 @@
 
 /* Remove the element at the head by replacing it by its successor */
 
-INLINE void
+void
 list_remove_head(LinkedList** list)
 {
   if (!*list) return;  
@@ -101,7 +101,7 @@
 
 /* Remove the element with `car' set to ELEMENT */
 /*
-INLINE void
+void
 list_remove_elem(LinkedList** list, void* elem)
 {
   while (*list)
@@ -112,7 +112,7 @@
     }
 }*/
 
-INLINE LinkedList *
+LinkedList *
 list_remove_elem(LinkedList* list, void* elem)
 {
     LinkedList *tmp;
@@ -132,7 +132,7 @@
 
 /* Return element that has ELEM as car */
 
-INLINE LinkedList*
+LinkedList*
 list_find(LinkedList* list, void* elem)
 {
   while(list)
@@ -146,7 +146,7 @@
 
 /* Free list (backwards recursive) */
 
-INLINE void
+void
 list_free(LinkedList* list)
 {
   if(list)
@@ -158,7 +158,7 @@
 
 /* Map FUNCTION over all elements in LIST */
 
-INLINE void
+void
 list_mapcar(LinkedList* list, void(*function)(void*))
 {
   while(list)
diff -Naur wminet-3.0.0.orig/src/list.c.orig wminet-3.0.0/src/list.c.orig
--- wminet-3.0.0.orig/src/list.c.orig	1970-01-01 01:00:00.000000000 +0100
+++ wminet-3.0.0/src/list.c.orig	2001-11-24 12:03:32.000000000 +0100
@@ -0,0 +1,169 @@
+/* Generic single linked list to keep various information 
+   Copyright (C) 1993, 1994 Free Software Foundation, Inc.
+
+
+Author: Kresten Krab Thorup
+
+Many modifications by Alfredo K. Kojima
+ 
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU CC; see the file COPYING.  If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+/* As a special exception, if you link this library with files compiled with
+   GCC to produce an executable, this does not cause the resulting executable
+   to be covered by the GNU General Public License. This exception does not
+   however invalidate any other reasons why the executable file might be
+   covered by the GNU General Public License.  */
+
+#include "list.h"
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#include <stdlib.h>
+
+/* Return a cons cell produced from (head . tail) */
+
+INLINE LinkedList* 
+list_cons(void* head, LinkedList* tail)
+{
+  LinkedList* cell;
+
+  cell = (LinkedList*)malloc(sizeof(LinkedList));
+  cell->head = head;
+  cell->tail = tail;
+  return cell;
+}
+
+/* Return the length of a list, list_length(NULL) returns zero */
+
+INLINE int
+list_length(LinkedList* list)
+{
+  int i = 0;
+  while(list)
+    {
+      i += 1;
+      list = list->tail;
+    }
+  return i;
+}
+
+/* Return the Nth element of LIST, where N count from zero.  If N 
+   larger than the list length, NULL is returned  */
+
+INLINE void*
+list_nth(int index, LinkedList* list)
+{
+  while(index-- != 0)
+    {
+      if(list->tail)
+	list = list->tail;
+      else
+	return 0;
+    }
+  return list->head;
+}
+
+/* Remove the element at the head by replacing it by its successor */
+
+INLINE void
+list_remove_head(LinkedList** list)
+{
+  if (!*list) return;  
+  if ((*list)->tail)
+    {
+      LinkedList* tail = (*list)->tail; /* fetch next */
+      *(*list) = *tail;		/* copy next to list head */
+      free(tail);			/* free next */
+    }
+  else				/* only one element in list */
+    {
+      free(*list);
+      (*list) = 0;
+    }
+}
+
+
+/* Remove the element with `car' set to ELEMENT */
+/*
+INLINE void
+list_remove_elem(LinkedList** list, void* elem)
+{
+  while (*list)
+    {
+      if ((*list)->head == elem)
+        list_remove_head(list);
+      *list = (*list ? (*list)->tail : NULL);
+    }
+}*/
+
+INLINE LinkedList *
+list_remove_elem(LinkedList* list, void* elem)
+{
+    LinkedList *tmp;
+    
+    if (list) {
+	if (list->head == elem) {
+	    tmp = list->tail;
+	    free(list);
+	    return tmp;
+	}
+	list->tail = list_remove_elem(list->tail, elem);
+	return list;
+    }
+    return NULL;
+}
+
+
+/* Return element that has ELEM as car */
+
+INLINE LinkedList*
+list_find(LinkedList* list, void* elem)
+{
+  while(list)
+    {
+    if (list->head == elem)
+      return list;
+    list = list->tail;
+    }
+  return NULL;
+}
+
+/* Free list (backwards recursive) */
+
+INLINE void
+list_free(LinkedList* list)
+{
+  if(list)
+    {
+      list_free(list->tail);
+      free(list);
+    }
+}
+
+/* Map FUNCTION over all elements in LIST */
+
+INLINE void
+list_mapcar(LinkedList* list, void(*function)(void*))
+{
+  while(list)
+    {
+      (*function)(list->head);
+      list = list->tail;
+    }
+}
diff -Naur wminet-3.0.0.orig/src/list.h wminet-3.0.0/src/list.h
--- wminet-3.0.0.orig/src/list.h	2001-11-24 12:03:32.000000000 +0100
+++ wminet-3.0.0/src/list.h	2016-01-04 13:45:02.137642820 +0100
@@ -29,31 +29,25 @@
 #ifndef __LIST_H_
 #define __LIST_H_
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
-# define INLINE inline
-#else
-# define INLINE
-#endif
-
 typedef struct LinkedList {
   void *head;
   struct LinkedList *tail;
 } LinkedList;
 
-INLINE LinkedList* list_cons(void* head, LinkedList* tail);
+LinkedList* list_cons(void* head, LinkedList* tail);
 
-INLINE int list_length(LinkedList* list);
+int list_length(LinkedList* list);
 
-INLINE void* list_nth(int index, LinkedList* list);
+void* list_nth(int index, LinkedList* list);
 
-INLINE void list_remove_head(LinkedList** list);
+void list_remove_head(LinkedList** list);
 
-INLINE LinkedList *list_remove_elem(LinkedList* list, void* elem);
+LinkedList *list_remove_elem(LinkedList* list, void* elem);
 
-INLINE void list_mapcar(LinkedList* list, void(*function)(void*));
+void list_mapcar(LinkedList* list, void(*function)(void*));
 
-INLINE LinkedList*list_find(LinkedList* list, void* elem);
+LinkedList*list_find(LinkedList* list, void* elem);
 
-INLINE void list_free(LinkedList* list);
+void list_free(LinkedList* list);
 
 #endif