diff --git a/libio/ChangeLog b/libio/ChangeLog
index fcdb29773e2c51bca6de8c4db934e28c189aeda2..ce4d1335717f190abe1da8b2ecd267a7a54f3b89 100644
--- a/libio/ChangeLog
+++ b/libio/ChangeLog
@@ -1,3 +1,9 @@
+1999-12-14  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
+
+	* strstream.h (strstreambuf::streambuf): Rename parameters to
+	avoid shadow warning.
+	* stream.h (WS): Likewise.
+
 Thu Sep 30 01:08:04 1999  Jeffrey A Law  (law@cygnus.com)
 
 	* editbuf.cc, parsestream.cc, pfstream.cc: Include string.h.
diff --git a/libio/stream.h b/libio/stream.h
index 0859802ade6967562f8df740c6df9ba12be3bfc8..90f8c1f278191f2c1c705a8af1851b30b5314de4 100644
--- a/libio/stream.h
+++ b/libio/stream.h
@@ -1,5 +1,5 @@
 /* 
-Copyright (C) 1993 Free Software Foundation
+Copyright (C) 1993, 1999 Free Software Foundation
 
 This file is part of the GNU IO Library.  This library is free
 software; you can redistribute it and/or modify it under the
@@ -53,7 +53,7 @@ extern char* oct(unsigned int, int=0);
 char*        chr(char ch, int width = 0);
 char*        str(const char* s, int width = 0);
 
-inline istream& WS(istream& str) { return ws(str); }
+inline istream& WS(istream& __str) { return ws(__str); }
 } // extern "C++"
 
 #endif /* !_COMPAT_STREAM_H */
diff --git a/libio/strstream.h b/libio/strstream.h
index d549b4547588d6f7c3f16aa81b2c6f8564b3b79f..967e5b0b76ac6623bb1f466b99efcd4c6bb5ac90 100644
--- a/libio/strstream.h
+++ b/libio/strstream.h
@@ -1,5 +1,5 @@
 /* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
+Copyright (C) 1993, 1999 Free Software Foundation
 
 This file is part of the GNU IO Library.  This library is free
 software; you can redistribute it and/or modify it under the
@@ -50,8 +50,8 @@ class strstreambuf : public streambuf
     virtual ~strstreambuf();
     strstreambuf() { init_dynamic(0, 0); }
     strstreambuf(int initial_size) { init_dynamic(0, 0, initial_size); }
-    strstreambuf(void *(*alloc)(_IO_size_t), void (*free)(void*))
-	{ init_dynamic(alloc, free); }
+    strstreambuf(void *(*__alloc)(_IO_size_t), void (*__free)(void*))
+	{ init_dynamic(__alloc, __free); }
     strstreambuf(char *ptr, int size, char *pstart = NULL)
 	{ init_static(ptr, size, pstart); }
     strstreambuf(unsigned char *ptr, int size, unsigned char *pstart = NULL)