summaryrefslogtreecommitdiff
path: root/lib/isobuilder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/isobuilder.cpp')
-rw-r--r--lib/isobuilder.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/isobuilder.cpp b/lib/isobuilder.cpp
index 9bec34c..11979ad 100644
--- a/lib/isobuilder.cpp
+++ b/lib/isobuilder.cpp
@@ -88,6 +88,8 @@ isobuilder::DirTree::DirTree(isobuilder::DirTree * _father, bool _dir) : mode(-1
if (!father)
return;
+
+ dvdmode = father->dvdmode;
creation = father->creation;
@@ -99,6 +101,10 @@ isobuilder::DirTree::DirTree(isobuilder::DirTree * _father, bool _dir) : mode(-1
}
}
+void isobuilder::DirTree::setdvdmode() {
+ dvdmode = true;
+}
+
isobuilder::DirTree::~DirTree() {
while (child) {
delete child;
@@ -266,10 +272,6 @@ int isobuilder::DirTree::buildentry(Byte * buffer, int spaceleft, bool put_xa) {
memset(pbuf, 0, 256);
- if (name == "BM2.ELF") {
- printm(M_INFO, "GRON");
- }
-
if (name == ".") {
N = 1;
pbuf[0] = 0;
@@ -279,7 +281,7 @@ int isobuilder::DirTree::buildentry(Byte * buffer, int spaceleft, bool put_xa) {
} else {
strcpy(pbuf, name.to_charp());
N = name.strlen();
- if (!dir) {
+ if ((!dir) && !dvdmode) {
N += 2;
strcat(pbuf, ";1");
}
@@ -738,11 +740,11 @@ void isobuilder::copydir(isobuilder::DirTree * r, cdutils * cd, cdutils::DirEntr
}
}
}
- p->Size = cdutils::to_BE32(fsize);
+ p->Size = cdutils::to_LE32(fsize);
cdfile * tmp = new cdfile(cd, p, fmode);
createfile(r, tmp, "", p, fmode)->size = osize;
delete tmp;
- p->Size = cdutils::to_BE32(osize);
+ p->Size = cdutils::to_LE32(osize);
}
p = (cdutils::DirEntry *) (((Byte *) p) + p->R);
}