From 9c1ed84d28edfa4a2b5b0a327dccd83d1a1beef8 Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Sun, 23 Dec 2012 23:36:00 +0100 Subject: sansapatcher: move sectorbuf pointer into sansa_t structure. Similar as the ipod_t structure for ipodpatcher the sansa_t structure holds all relevant information for sansapatcher. Put the global sansa_sectorbuf pointer into it as well. Change-Id: Iad08ef6aafc49609c3d0d556914246f230ee0179 --- rbutil/rbutilqt/base/bootloaderinstallsansa.cpp | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) (limited to 'rbutil/rbutilqt/base/bootloaderinstallsansa.cpp') diff --git a/rbutil/rbutilqt/base/bootloaderinstallsansa.cpp b/rbutil/rbutilqt/base/bootloaderinstallsansa.cpp index b05839e297..061ec2578f 100644 --- a/rbutil/rbutilqt/base/bootloaderinstallsansa.cpp +++ b/rbutil/rbutilqt/base/bootloaderinstallsansa.cpp @@ -27,22 +27,17 @@ BootloaderInstallSansa::BootloaderInstallSansa(QObject *parent) : BootloaderInstallBase(parent) { (void)parent; - // initialize sector buffer. sansa_sectorbuf is instantiated by - // sansapatcher. - // The buffer itself is only present once, so make sure to not allocate - // it if it was already allocated. The application needs to take care - // no concurrent (i.e. multiple objects of this class running) requests - // are done. - if(sansa_sectorbuf == NULL) - sansa_alloc_buffer(&sansa_sectorbuf, BUFFER_SIZE); + // initialize sector buffer. The sector buffer is part of the sansa_t + // structure, so a second instance of this class will have its own buffer. + sansa_alloc_buffer(&sansa, BUFFER_SIZE); } BootloaderInstallSansa::~BootloaderInstallSansa() { - if(sansa_sectorbuf) { - free(sansa_sectorbuf); - sansa_sectorbuf = NULL; + if(sansa.sectorbuf) { + free(sansa.sectorbuf); + sansa.sectorbuf = NULL; } } @@ -51,7 +46,7 @@ BootloaderInstallSansa::~BootloaderInstallSansa() */ bool BootloaderInstallSansa::install(void) { - if(sansa_sectorbuf == NULL) { + if(sansa.sectorbuf == NULL) { emit logItem(tr("Error: can't allocate buffer memory!"), LOGERROR); return false; emit done(true); @@ -59,8 +54,6 @@ bool BootloaderInstallSansa::install(void) emit logItem(tr("Searching for Sansa"), LOGINFO); - struct sansa_t sansa; - int n = sansa_scan(&sansa); if(n == -1) { emit logItem(tr("Permission for disc access denied!\n" @@ -95,7 +88,6 @@ bool BootloaderInstallSansa::install(void) */ void BootloaderInstallSansa::installStage2(void) { - struct sansa_t sansa; unsigned char* buf = NULL; unsigned int len; @@ -174,8 +166,6 @@ void BootloaderInstallSansa::installStage3(bool mounted) */ bool BootloaderInstallSansa::uninstall(void) { - struct sansa_t sansa; - emit logItem(tr("Uninstalling bootloader"), LOGINFO); QCoreApplication::processEvents(); @@ -222,7 +212,6 @@ bool BootloaderInstallSansa::uninstall(void) */ BootloaderInstallBase::BootloaderType BootloaderInstallSansa::installed(void) { - struct sansa_t sansa; int num; if(!sansaInitialize(&sansa)) { -- cgit v1.2.3