[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [k3b/multisession] libk3b/projects: Inquire the ISO filesystem size
From: Leslie Zhai <xiangzhai83 () gmail ! com>
Date: 2016-09-21 4:11:31
Message-ID: E1bmYsd-0007G9-Lk () code ! kde ! org
[Download RAW message or body]
Git commit b22f60344db146aa6b5136373b0a0b270d5d8ee9 by Leslie Zhai.
Committed on 21/09/2016 at 04:09.
Pushed by lesliezhai into branch 'multisession'.
Inquire the ISO filesystem size
Hi Thomas, please review it ;-)
CCBUG: 367639
CCMAIL: scdbackup@gmx.net
M +16 -3 libk3b/projects/k3bgrowisofswriter.cpp
http://commits.kde.org/k3b/b22f60344db146aa6b5136373b0a0b270d5d8ee9
diff --git a/libk3b/projects/k3bgrowisofswriter.cpp \
b/libk3b/projects/k3bgrowisofswriter.cpp index f03ef80..20f675f 100644
--- a/libk3b/projects/k3bgrowisofswriter.cpp
+++ b/libk3b/projects/k3bgrowisofswriter.cpp
@@ -198,13 +198,26 @@ bool K3b::GrowisofsWriter::prepareProcess()
s += d->image;
// TODO: KDEBUG-367639
- // wrong alleged_next_session for growisofs!
if( d->multiSession && !d->multiSessionInfo.isEmpty() ) {
QStringList ms = d->multiSessionInfo.split(',');
if (ms.size() == 2) {
if (ms[0] == 0 || ms[1] == "0") {
- qDebug() << "you don't have to specify -C option, growisofs will \
construct one for you!";
- d->process << "-use-the-force-luke=spare=none";
+ FILE* fptr = NULL;
+ if (d->image.isEmpty())
+ fptr = fopen("/dev/fd/0", "r");
+ else
+ fptr = fopen(d->image.toStdString().c_str(), "r");
+ if (fptr) {
+ if (fseek(fptr, 32 * 1024 + 80, SEEK_SET) == 0) {
+ char buf[4] = { '\0' };
+ fread(buf, 1, sizeof(buf), fptr);
+ d->process << "-C 0," << buf;
+ } else {
+ qWarning() << strerror(errno);
+ }
+ fclose(fptr);
+ fptr = NULL;
+ }
} else {
d->process << "-C" << d->multiSessionInfo;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic