- ejectCdrom();
-
+ if (!FL_NOEJECT(flags))
+ ejectCdrom();
+ else
+ logMessage(INFO, "noeject in effect, not ejecting cdrom");
+
rc = newtWinChoice(_("Media Check"), _("Test"), _("Continue"),
_("If you would like to test additional media, "
"insert the next CD and press "%s". "
@@ -121,7 +124,10 @@ static char * mediaCheckCdrom(char *cddriver) {
_("Test"), _("Continue"));
if (rc == 2) {
- unlink("/tmp/cdrom");
+ if (!FL_NOEJECT(flags))
+ unlink("/tmp/cdrom");
+ else
+ logMessage(INFO, "noeject in effect, not unmounting /tmp/cdrom");
return NULL;
} else {
continue;
@@ -156,7 +162,10 @@ static void mountCdromStage2(char *cddev) {
do {
if (doPwMount("/tmp/cdrom", "/mnt/source",
"iso9660", IMOUNT_RDONLY, NULL)) {
- ejectCdrom();
+ if (!FL_NOEJECT(flags))
+ ejectCdrom();
+ else
+ logMessage(INFO, "noeject in effect, not ejecting cdrom");
wrongCDMessage();
} else {
break;
@@ -168,7 +177,10 @@ static void mountCdromStage2(char *cddev) {
/* if we failed, umount /mnt/source and keep going */
if (rc) {
umount("/mnt/source");
- ejectCdrom();
+ if (!FL_NOEJECT(flags))
+ ejectCdrom();
+ else
+ logMessage(INFO, "noeject in effect, not ejecting cdrom");
wrongCDMessage();
} else {
gotcd1 = 1;
@@ -386,8 +398,12 @@ char * setupCdrom(char * location, struct loaderData_s * loaderData,
"and press %s to retry."), getProductName(),
getProductName(), _("OK"));