From d40bf3a393d968198dc30b7e7cd3f7b926f3a482 Mon Sep 17 00:00:00 2001 From: jussi Date: Thu, 29 Aug 2024 13:01:21 +0300 Subject: GetBufferAsString. --- src/core.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/core.c') diff --git a/src/core.c b/src/core.c index 4607ef6..0aa8559 100644 --- a/src/core.c +++ b/src/core.c @@ -3736,6 +3736,29 @@ int lcoreGetBufferData( lua_State* L ) { return 1; } +/* +> string = RL.GetBufferAsString( Buffer buffer ) + +Get buffer as string + +- Success return string +*/ +int lcoreGetBufferAsString( lua_State* L ) { + Buffer* buffer = uluaGetBuffer( L, 1 ); + + size_t size = buffer->size * getBufferElementSize( buffer ) + 1; + char* str = malloc( size ); + + memset( str, 0, size ); + memcpy( str, buffer->data, size - 1 ); + + lua_pushstring( L, buffer->data ); + + free( str ); + + return 1; +} + /* > type = RL.GetBufferType( Buffer buffer ) -- cgit v1.2.3