GetBufferAsString.

This commit is contained in:
jussi
2024-08-29 13:01:21 +03:00
parent 366f8f5c92
commit d40bf3a393
6 changed files with 40 additions and 0 deletions

View File

@@ -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 )

View File

@@ -1519,6 +1519,7 @@ void luaRegister() {
assingGlobalFunction( "CopyBufferData", lcoreCopyBufferData );
assingGlobalFunction( "SetBufferData", lcoreSetBufferData );
assingGlobalFunction( "GetBufferData", lcoreGetBufferData );
assingGlobalFunction( "GetBufferAsString", lcoreGetBufferAsString );
assingGlobalFunction( "GetBufferType", lcoreGetBufferType );
assingGlobalFunction( "GetBufferSize", lcoreGetBufferSize );
assingGlobalFunction( "GetBufferElementSize", lcoreGetBufferElementSize );