summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpixel <pixel>2003-12-04 03:35:31 +0000
committerpixel <pixel>2003-12-04 03:35:31 +0000
commit8b5e08b64cd35602b9010590d1c591ff50674bd4 (patch)
tree40810825952e9d482f09d0fdd38705fda3e2df7e
parent1ec04ba9f2536f6051f722e242864768627bdd62 (diff)
Added custom rootsector
-rw-r--r--includes/isobuilder.h4
-rw-r--r--lib/isobuilder.cpp6
2 files changed, 6 insertions, 4 deletions
diff --git a/includes/isobuilder.h b/includes/isobuilder.h
index 925e217..e0a8849 100644
--- a/includes/isobuilder.h
+++ b/includes/isobuilder.h
@@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-/* $Id: isobuilder.h,v 1.2 2003-12-04 01:47:37 pixel Exp $ */
+/* $Id: isobuilder.h,v 1.3 2003-12-04 03:35:31 pixel Exp $ */
#ifndef __ISOBUILDER_H__
#define __ISOBUILDER_H__
@@ -73,7 +73,7 @@ class isobuilder : public Base {
void createsector(Byte * datas, int type = -1, int n = -1);
void setEOF();
void clearEOF();
- DirTree * setbasics(PVD pvd, int rootsize = 1, int ptsize = 1, int nvd = 1) throw (GeneralException);
+ DirTree * setbasics(PVD pvd, int rootsize = 1, int ptsize = 1, int nvd = 1, int rootsect = -1) throw (GeneralException);
DirTree * createdir(DirTree *, const String & _name, int size = 1, cdutils::DirEntry * = 0, int mode = MODE2_FORM1) throw (GeneralException);
DirTree * createfile(DirTree *, Handle * file, const String & _name, cdutils::DirEntry * = 0, int mode = MODE2_FORM1) throw (GeneralException);
void copydir(DirTree *, const String & _name, cdutils *, cdutils::DirEntry *, int mode = MODE2_FORM1);
diff --git a/lib/isobuilder.cpp b/lib/isobuilder.cpp
index 362151d..e0433e0 100644
--- a/lib/isobuilder.cpp
+++ b/lib/isobuilder.cpp
@@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-/* $Id: isobuilder.cpp,v 1.2 2003-12-04 01:47:37 pixel Exp $ */
+/* $Id: isobuilder.cpp,v 1.3 2003-12-04 03:35:31 pixel Exp $ */
#include "isobuilder.h"
@@ -521,7 +521,7 @@ void isobuilder::clearEOF() {
sub_EOF = sub_EOR = 0;
}
-isobuilder::DirTree * isobuilder::setbasics(PVD _pvd, int _rootsize, int _ptsize, int _nvd) throw (GeneralException) {
+isobuilder::DirTree * isobuilder::setbasics(PVD _pvd, int _rootsize, int _ptsize, int _nvd, int _rootsect) throw (GeneralException) {
if (basics) {
throw GeneralException("Basic ISO structures already set");
}
@@ -534,6 +534,8 @@ isobuilder::DirTree * isobuilder::setbasics(PVD _pvd, int _rootsize, int _ptsize
ptsect = 17 + nvd;
rootsect = ptsect + ptsize * 4;
+ if (_rootsect >= 0)
+ rootsect = _rootsect;
lastdispsect = rootsect + rootsize;
root = new DirTree(0);