Index: fcgi-2.4.0/include/fcgio.h
===================================================================
--- fcgi-2.4.0.orig/include/fcgio.h	2007-07-17 13:30:28.000000000 +0200
+++ fcgi-2.4.0/include/fcgio.h	2007-07-17 13:30:28.000000000 +0200
@@ -77,10 +77,10 @@
     virtual int sync();
 
     // Remove and return the current character.
-    virtual int uflow();
+    virtual int_type uflow();
 
     // Fill the get area (if buffered) and return the current character.
-    virtual int underflow();
+    virtual int_type underflow();
 
     // Use a buffer.  The only reasons that a buffer would be useful is
     // to support the use of the unget()/putback() or seek() methods.  Using
diff -urN fcgi-2.4.0/libfcgi/fcgio.cpp fcgi-2.4.0.new/libfcgi/fcgio.cpp
--- fcgi-2.4.0/libfcgi/fcgio.cpp	2002-02-24 21:12:22.000000000 +0100
+++ fcgi-2.4.0.new/libfcgi/fcgio.cpp	2007-08-28 11:22:22.000000000 +0200
@@ -89,7 +89,7 @@
 }
 
 // uflow() removes the char, underflow() doesn't
-int fcgi_streambuf::uflow() 
+short int fcgi_streambuf::uflow() 
 {
     int rv = underflow();
     if (this->bufsize) gbump(1);
@@ -97,7 +97,7 @@
 }
 				
 // Note that the expected behaviour when there is no buffer varies
-int fcgi_streambuf::underflow()
+short int fcgi_streambuf::underflow()
 {
     if (this->bufsize)
     {
