summaryrefslogtreecommitdiff
path: root/sbin
diff options
context:
space:
mode:
authorKenneth R Westerback <krw@cvs.openbsd.org>2008-01-12 19:39:41 +0000
committerKenneth R Westerback <krw@cvs.openbsd.org>2008-01-12 19:39:41 +0000
commit50ae6d9acec2e85bb13c255bedd87ed6b254d902 (patch)
treee1cf91ceb88fe0a5e514d1e9f55b276a26b3f428 /sbin
parent95d50a60df978128a2b014d1fcb3694b3b40ddb0 (diff)
has_overlap() now always tries to resolve overlaps because it is only
called during -E initialization. Thus it no longer needs the 'resolve' parameter.
Diffstat (limited to 'sbin')
-rw-r--r--sbin/disklabel/editor.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/sbin/disklabel/editor.c b/sbin/disklabel/editor.c
index 97099264a22..35a57de99c2 100644
--- a/sbin/disklabel/editor.c
+++ b/sbin/disklabel/editor.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: editor.c,v 1.156 2008/01/12 19:20:29 krw Exp $ */
+/* $OpenBSD: editor.c,v 1.157 2008/01/12 19:39:40 krw Exp $ */
/*
* Copyright (c) 1997-2000 Todd C. Miller <Todd.Miller@courtesan.com>
@@ -17,7 +17,7 @@
*/
#ifndef lint
-static char rcsid[] = "$OpenBSD: editor.c,v 1.156 2008/01/12 19:20:29 krw Exp $";
+static char rcsid[] = "$OpenBSD: editor.c,v 1.157 2008/01/12 19:39:40 krw Exp $";
#endif /* not lint */
#include <sys/types.h>
@@ -71,7 +71,7 @@ void editor_modify(struct disklabel *, char **, char *);
void editor_name(struct disklabel *, char **, char *);
char *getstring(char *, char *, char *);
u_int64_t getuint(struct disklabel *, int, char *, char *, u_int64_t, u_int64_t, u_int64_t, int);
-int has_overlap(struct disklabel *, int);
+int has_overlap(struct disklabel *);
int partition_cmp(const void *, const void *);
struct partition **sort_partitions(struct disklabel *, u_int16_t *);
void getdisktype(struct disklabel *, char *, char *);
@@ -129,7 +129,7 @@ editor(struct disklabel *lp, int f, char *dev, char *fstabfile)
find_bounds(&label);
/* Make sure there is no partition overlap. */
- if (has_overlap(&label, 1))
+ if (has_overlap(&label))
errx(1, "can't run when there is partition overlap.");
/* If we don't have a 'c' partition, create one. */
@@ -932,12 +932,11 @@ getuint(struct disklabel *lp, int partno, char *prompt, char *helpstring,
}
/*
- * Check for partition overlap in lp and prompt the user
- * to resolve the overlap if any is found. Returns 1
- * if unable to resolve, else 0.
+ * Check for partition overlap in lp and prompt the user to resolve the overlap
+ * if any is found. Returns 1 if unable to resolve, else 0.
*/
int
-has_overlap(struct disklabel *lp, int resolve)
+has_overlap(struct disklabel *lp)
{
struct partition **spp;
u_int16_t npartitions;
@@ -969,12 +968,6 @@ has_overlap(struct disklabel *lp, int resolve)
display_partition(stdout, lp, NULL, i, 0);
display_partition(stdout, lp, NULL, j, 0);
- /* Did they ask us to resolve it ourselves? */
- if (resolve != 1) {
- (void)free(spp);
- return(1);
- }
-
/* Get partition to disable or ^D */
do {
printf("Disable which one? (^D to abort) [%c %c] ",
@@ -991,7 +984,7 @@ has_overlap(struct disklabel *lp, int resolve)
/* Mark the selected one as unused */
lp->d_partitions[c].p_fstype = FS_UNUSED;
(void)free(spp);
- return(has_overlap(lp, resolve));
+ return (has_overlap(lp));
}
}
}