diff options
Diffstat (limited to 'lib/isobuilder.cpp')
-rw-r--r-- | lib/isobuilder.cpp | 16 |
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); } |