summaryrefslogtreecommitdiffstats
path: root/usr.sbin/sysinstall/cdrom.c
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1998-12-22 12:31:26 +0000
committerjkh <jkh@FreeBSD.org>1998-12-22 12:31:26 +0000
commite72da228343024d66a2d2be92429e6bfec4f6fa1 (patch)
tree705855b9e9773f3964f64d41928812ef61a6c9f4 /usr.sbin/sysinstall/cdrom.c
parent91bd0e66beb40a53efaf61eaad295aaf08f1384f (diff)
downloadFreeBSD-src-e72da228343024d66a2d2be92429e6bfec4f6fa1.zip
FreeBSD-src-e72da228343024d66a2d2be92429e6bfec4f6fa1.tar.gz
Collapse the "get" code substantially by combining common functions.
Also make mountpoint for each media type easier to change. Also reshuffled some menus for easier usage.
Diffstat (limited to 'usr.sbin/sysinstall/cdrom.c')
-rw-r--r--usr.sbin/sysinstall/cdrom.c31
1 files changed, 6 insertions, 25 deletions
diff --git a/usr.sbin/sysinstall/cdrom.c b/usr.sbin/sysinstall/cdrom.c
index 1fd1380..f6fe16b 100644
--- a/usr.sbin/sysinstall/cdrom.c
+++ b/usr.sbin/sysinstall/cdrom.c
@@ -4,7 +4,7 @@
* This is probably the last attempt in the `sysinstall' line, the next
* generation being slated to essentially a complete rewrite.
*
- * $Id: cdrom.c,v 1.42 1998/08/27 00:50:14 jkh Exp $
+ * $Id: cdrom.c,v 1.43 1998/10/14 11:23:48 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -54,6 +54,7 @@
#undef CD9660
static Boolean cdromMounted;
+static char mountpoint[] = "/dist";
static properties
read_props(char *name)
@@ -74,7 +75,7 @@ mediaInitCDROM(Device *dev)
{
struct iso_args args;
properties cd_attr = NULL;
- char *cp = NULL, *mountpoint = "/dist";
+ char *cp = NULL;
Boolean readInfo = TRUE;
static Boolean bogusCDOK = FALSE;
@@ -82,7 +83,6 @@ mediaInitCDROM(Device *dev)
return TRUE;
Mkdir(mountpoint);
-
bzero(&args, sizeof(args));
args.fspec = dev->devname;
args.flags = 0;
@@ -143,7 +143,6 @@ mediaInitCDROM(Device *dev)
bogusCDOK = TRUE;
}
}
- msgDebug("Mounted FreeBSD CDROM from device %s\n", dev->devname);
properties_free(cd_attr);
return TRUE;
}
@@ -151,35 +150,17 @@ mediaInitCDROM(Device *dev)
FILE *
mediaGetCDROM(Device *dev, char *file, Boolean probe)
{
- char buf[PATH_MAX];
-
- if (isDebug())
- msgDebug("Request for %s from CDROM\n", file);
- snprintf(buf, PATH_MAX, "/dist/%s", file);
- if (file_readable(buf))
- return fopen(buf, "r");
- snprintf(buf, PATH_MAX, "/dist/dists/%s", file);
- if (file_readable(buf))
- return fopen(buf, "r");
- snprintf(buf, PATH_MAX, "/dist/%s/%s", variable_get(VAR_RELNAME), file);
- if (file_readable(buf))
- return fopen(buf, "r");
- snprintf(buf, PATH_MAX, "/dist/%s/dists/%s", variable_get(VAR_RELNAME), file);
- return fopen(buf, "r");
+ return mediaGenericGet(mountpoint, file);
}
void
mediaShutdownCDROM(Device *dev)
{
- char *mountpoint = "/dist";
-
if (!cdromMounted)
return;
- msgDebug("Unmounting %s from %s\n", dev->devname, mountpoint);
+
if (unmount(mountpoint, MNT_FORCE) != 0)
msgConfirm("Could not unmount the CDROM from %s: %s", mountpoint, strerror(errno));
- else {
- msgDebug("Unmount of CDROM successful\n");
+ else
cdromMounted = FALSE;
- }
}
OpenPOWER on IntegriCloud