Index: trunk/src/io/std_stream.cc
===================================================================
--- trunk/src/io/std_stream.cc	(revision 135)
+++ trunk/src/io/std_stream.cc	(revision 138)
@@ -9,9 +9,8 @@
 #include "nv/io/std_stream.hh"
 #include <algorithm>
-#include <cstring> // TODO: remove, see below
 
 using namespace nv;
 
-std_stream::std_stream( stream* source, bool owner /*= false*/, std::size_t bsize /*= 256*/, std::size_t put_back /*= 8 */ )
+std_streambuf::std_streambuf( stream* source, bool owner /*= false*/, std::size_t bsize /*= 256*/, std::size_t put_back /*= 8 */ )
 	: m_stream( source )
 	, m_owner( owner )
@@ -23,5 +22,5 @@
 }
 
-std_stream::~std_stream()
+std_streambuf::~std_streambuf()
 {
 	if ( m_owner )
@@ -31,5 +30,5 @@
 }
 
-std_stream::int_type std_stream::underflow()
+std_streambuf::int_type std_streambuf::underflow()
 {
 	if (gptr() < egptr())
@@ -45,6 +44,5 @@
 	{
 		// Make arrangements for putback characters
-		// TODO: std::copy( egptr() - m_put_back, egptr(), base ); instead?
-		std::memmove(base, egptr() - m_put_back, m_put_back);
+		std::copy( egptr() - m_put_back, egptr(), base ); 
 		start += m_put_back;
 	}
