Index: trunk/src/lua/lua_path.cc
===================================================================
--- trunk/src/lua/lua_path.cc	(revision 433)
+++ trunk/src/lua/lua_path.cc	(revision 435)
@@ -88,5 +88,5 @@
 		{
 			*current++ = '[';
-			current += uint32_to_buffer( e.value, current );
+			current += uint32_to_buffer( array_ref< char >( current, current - start ), e.value );
 			*current++ = ']';
 			dot = false;
Index: trunk/src/lua/lua_raw.cc
===================================================================
--- trunk/src/lua/lua_raw.cc	(revision 433)
+++ trunk/src/lua/lua_raw.cc	(revision 435)
@@ -26,14 +26,15 @@
 	default : break; 
 	}
-	char buffer[64];
+	char buffer_data[64];
+	nv::array_ref< char > buffer( buffer_data, 64 );
 	if ( type == LUA_TLIGHTUSERDATA || type == LUA_TUSERDATA )
 	{
-		size_t l = nv::uint64_to_buffer( nv::uint64( lua_touserdata( L, idx ) ), buffer );
-		return std::string( buffer, l );
+		size_t l = nv::uint64_to_buffer( buffer, nv::uint64( lua_touserdata( L, idx ) ) );
+		return std::string( buffer_data, l );
 	}
 	else if ( type == LUA_TNUMBER )
 	{
-		size_t l = nv::f64_to_buffer( lua_tonumber( L, idx ), buffer );
-		return std::string( buffer, l );
+		size_t l = nv::f64_to_buffer( buffer, lua_tonumber( L, idx ) );
+		return std::string( buffer_data, l );
 	}
 	return "UNKNOWN!";
