summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/base/bootloaderinstallipod.cpp
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2010-04-27 21:43:14 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2010-04-27 21:43:14 +0000
commit34e60dde601e509ad2528e3078229bb85de693c9 (patch)
tree6577175a1546ebf7fbc58f1bef670d520da50f57 /rbutil/rbutilqt/base/bootloaderinstallipod.cpp
parentb6e1f1c0ad3153c2193cb3ba04857d5a5bced296 (diff)
downloadrockbox-34e60dde601e509ad2528e3078229bb85de693c9.tar.gz
rockbox-34e60dde601e509ad2528e3078229bb85de693c9.zip
Handle device name resolving failures.
Improve tracing of device name resolving. Explicitly fail if resolving the device name from the mountpoint failed during ipod / sansa bootloader installation. Fixes bootloader installation trying to use an empty device name in some cases which can happen if the mountpoint to get resolved uses an incompatible file system. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25743 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil/rbutilqt/base/bootloaderinstallipod.cpp')
-rw-r--r--rbutil/rbutilqt/base/bootloaderinstallipod.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/rbutil/rbutilqt/base/bootloaderinstallipod.cpp b/rbutil/rbutilqt/base/bootloaderinstallipod.cpp
index 55fd3fcbd8..e784ee9a1f 100644
--- a/rbutil/rbutilqt/base/bootloaderinstallipod.cpp
+++ b/rbutil/rbutilqt/base/bootloaderinstallipod.cpp
@@ -226,17 +226,19 @@ BootloaderInstallBase::Capabilities BootloaderInstallIpod::capabilities(void)
226bool BootloaderInstallIpod::ipodInitialize(struct ipod_t *ipod) 226bool BootloaderInstallIpod::ipodInitialize(struct ipod_t *ipod)
227{ 227{
228 if(!m_blfile.isEmpty()) { 228 if(!m_blfile.isEmpty()) {
229 QString devicename = Autodetection::resolveDevicename(m_blfile);
230 if(devicename.isEmpty()) {
231 emit logItem(tr("Error: could not retrieve device name"), LOGERROR);
232 return false;
233 }
229#if defined(Q_OS_WIN32) 234#if defined(Q_OS_WIN32)
230 sprintf(ipod->diskname, "\\\\.\\PhysicalDrive%i", 235 sprintf(ipod->diskname, "\\\\.\\PhysicalDrive%i", diskname.toInt());
231 Autodetection::resolveDevicename(m_blfile).toInt());
232#elif defined(Q_OS_MACX) 236#elif defined(Q_OS_MACX)
233 sprintf(ipod->diskname, "%s", 237 sprintf(ipod->diskname, "%s",
234 qPrintable(Autodetection::resolveDevicename(m_blfile) 238 qPrintable(devicename.remove(QRegExp("s[0-9]+$"))));
235 .remove(QRegExp("s[0-9]+$"))));
236#else 239#else
237 sprintf(ipod->diskname, "%s", 240 sprintf(ipod->diskname, "%s",
238 qPrintable(Autodetection::resolveDevicename(m_blfile) 241 qPrintable(devicename.remove(QRegExp("[0-9]+$"))));
239 .remove(QRegExp("[0-9]+$"))));
240#endif 242#endif
241 qDebug() << "[BootloaderInstallIpod] ipodpatcher: overriding scan, using" 243 qDebug() << "[BootloaderInstallIpod] ipodpatcher: overriding scan, using"
242 << ipod->diskname; 244 << ipod->diskname;