From 2388396d6ac97a55e19e80d99af600ee770e7b5c Mon Sep 17 00:00:00 2001 From: Fredrick Meunier Date: Mon, 5 Sep 2016 12:17:05 +0000 Subject: [PATCH] Switch to using libspectrum_buffer in libspectrum_rzx_write(). Legacy-ID: 5792 --- hacking/ChangeLog | 2 ++ rzxtool.c | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/hacking/ChangeLog b/hacking/ChangeLog index cad8ad1..11d2c72 100644 --- a/hacking/ChangeLog +++ b/hacking/ChangeLog @@ -600,3 +600,5 @@ libspectrum_buffer in tape APIs (Fred). 20160831 listbasic.c,rzxtool.c,snapconv.c,utils.c: switch to using libspectrum_buffer in snapshot write APIs (Fred). +20160905 rzxtool.c: switch to using libspectrum_buffer in RZX write APIs + (Fred). diff --git a/rzxtool.c b/rzxtool.c index 04fbb16..a6dd040 100644 --- a/rzxtool.c +++ b/rzxtool.c @@ -454,19 +454,19 @@ parse_options( int argc, char **argv, GSList **actions, static int write_rzx( const char *filename, libspectrum_rzx *rzx, int compressed ) { - unsigned char *buffer = NULL; size_t length = 0; - int error; + libspectrum_buffer *buffer = libspectrum_buffer_alloc(); + int error = 0; - error = libspectrum_rzx_write( &buffer, &length, rzx, LIBSPECTRUM_ID_UNKNOWN, - creator, compressed, NULL ); - if( error ) return error; + error = libspectrum_rzx_write( buffer, rzx, LIBSPECTRUM_ID_UNKNOWN, creator, + compressed, NULL ); + if( error != 0 ) { + error = write_file( libspectrum_buffer_get_data( buffer ), + libspectrum_buffer_get_data_size( buffer ), filename ); + } - error = write_file( buffer, length, filename ); - if( error ) { free( buffer ); return error; } + libspectrum_buffer_free( buffer ); - free( buffer ); - - return 0; + return error; } int