summaryrefslogtreecommitdiff
path: root/release/sysinstall/ufs.c
diff options
context:
space:
mode:
Diffstat (limited to 'release/sysinstall/ufs.c')
-rw-r--r--release/sysinstall/ufs.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/release/sysinstall/ufs.c b/release/sysinstall/ufs.c
index 73c06676d6ceb..8f61cbed3bda6 100644
--- a/release/sysinstall/ufs.c
+++ b/release/sysinstall/ufs.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: ufs.c,v 1.13 1998/09/14 19:14:11 jkh Exp $
+ * $Id: ufs.c,v 1.12 1997/02/22 14:12:35 peter Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -45,5 +45,19 @@
FILE *
mediaGetUFS(Device *dev, char *file, Boolean probe)
{
- return mediaGenericGet((char *)dev->private, file);
+ char buf[PATH_MAX];
+
+ if (isDebug())
+ msgDebug("Request for %s from UFS\n", file);
+ snprintf(buf, PATH_MAX, "%s/%s", (char *)dev->private, file);
+ if (file_readable(buf))
+ return fopen(buf, "r");
+ snprintf(buf, PATH_MAX, "%s/dists/%s", (char *)dev->private, file);
+ if (file_readable(buf))
+ return fopen(buf, "r");
+ snprintf(buf, PATH_MAX, "%s/%s/%s", (char *)dev->private, variable_get(VAR_RELNAME), file);
+ if (file_readable(buf))
+ return fopen(buf, "r");
+ snprintf(buf, PATH_MAX, "%s/%s/dists/%s", (char *)dev->private, variable_get(VAR_RELNAME), file);
+ return fopen(buf, "r");
}