svn commit: r217366 - user/nwhitehorn/bsdinstall/partedit

Nathan Whitehorn nwhitehorn at FreeBSD.org
Thu Jan 13 17:47:22 UTC 2011


Author: nwhitehorn
Date: Thu Jan 13 17:47:22 2011
New Revision: 217366
URL: http://svn.freebsd.org/changeset/base/217366

Log:
  Rename some global-shadowing variables, move a function in preparation
  for a guided partitioning wizard, and add an if that was earlier forgotten.

Modified:
  user/nwhitehorn/bsdinstall/partedit/diskeditor.c
  user/nwhitehorn/bsdinstall/partedit/gpart_ops.c
  user/nwhitehorn/bsdinstall/partedit/partedit.c
  user/nwhitehorn/bsdinstall/partedit/partedit.h

Modified: user/nwhitehorn/bsdinstall/partedit/diskeditor.c
==============================================================================
--- user/nwhitehorn/bsdinstall/partedit/diskeditor.c	Thu Jan 13 17:32:32 2011	(r217365)
+++ user/nwhitehorn/bsdinstall/partedit/diskeditor.c	Thu Jan 13 17:47:22 2011	(r217366)
@@ -8,11 +8,11 @@
 
 static void
 print_partedit_item(WINDOW *partitions, struct partedit_item *items,
-    int item, int scroll, int selected)
+    int item, int nscroll, int selected)
 {
 	chtype attr = A_NORMAL;
 	char sizetext[16];
-	int y = item - scroll + 1;
+	int y = item - nscroll + 1;
 
 	wattrset(partitions, selected ? item_selected_attr : item_attr);
 	wmove(partitions, y, MARGIN + items[item].indentation*2);
@@ -32,7 +32,7 @@ print_partedit_item(WINDOW *partitions, 
 
 int
 diskeditor_show(const char *title, const char *cprompt,
-    struct partedit_item *items, int nitems, int *selected, int *scroll)
+    struct partedit_item *items, int nitems, int *selected, int *nscroll)
 {
 	WINDOW *dialog, *partitions;
 	char *prompt;
@@ -103,8 +103,8 @@ diskeditor_show(const char *title, const
 
 	if (selected != NULL)
 		cur_part = *selected;
-	if (scroll != NULL)
-		cur_scroll = *scroll;
+	if (nscroll != NULL)
+		cur_scroll = *nscroll;
 	if (cur_part - cur_scroll >= partlist_height - 2 ||
 	    cur_part - cur_scroll < 0)
 		cur_scroll = cur_part;
@@ -221,8 +221,8 @@ repaint:
 done:
 	if (selected != NULL)
 		*selected = cur_part;
-	if (scroll != NULL)
-		*scroll = cur_scroll;
+	if (nscroll != NULL)
+		*nscroll = cur_scroll;
 
 	dlg_del_window(partitions);
 	dlg_del_window(dialog);

Modified: user/nwhitehorn/bsdinstall/partedit/gpart_ops.c
==============================================================================
--- user/nwhitehorn/bsdinstall/partedit/gpart_ops.c	Thu Jan 13 17:32:32 2011	(r217365)
+++ user/nwhitehorn/bsdinstall/partedit/gpart_ops.c	Thu Jan 13 17:47:22 2011	(r217366)
@@ -11,9 +11,6 @@
 
 #define GPART_FLAGS "x" /* Do not commit changes by default */
 
-static void set_part_metadata(const char *name, const char *scheme,
-    const char *type, const char *mountpoint, int newfs);
-
 static void
 gpart_show_error(const char *title, const char *explanation, const char *errstr)
 {
@@ -114,7 +111,7 @@ gpart_activate(struct gprovider *pp)
 	struct gctl_req *r;
 	const char *errstr, *scheme;
 	const char *attribute = NULL;
-	intmax_t index;
+	intmax_t idx;
 
 	/*
 	 * Some partition schemes need this partition to be marked 'active'
@@ -135,7 +132,7 @@ gpart_activate(struct gprovider *pp)
 
 	LIST_FOREACH(gc, &pp->lg_config, lg_config) {
 		if (strcmp(gc->lg_name, "index") == 0) {
-			index = atoi(gc->lg_val);
+			idx = atoi(gc->lg_val);
 			break;
 		}
 	}
@@ -145,7 +142,7 @@ gpart_activate(struct gprovider *pp)
 	gctl_ro_param(r, "arg0", -1, pp->lg_geom->lg_name);
 	gctl_ro_param(r, "verb", -1, "set");
 	gctl_ro_param(r, "attrib", -1, attribute);
-	gctl_ro_param(r, "index", sizeof(index), &index);
+	gctl_ro_param(r, "index", sizeof(idx), &idx);
 
 	errstr = gctl_issue(r);
 	if (errstr != NULL && errstr[0] != '\0') 
@@ -267,15 +264,16 @@ gpart_destroy(struct ggeom *lg_geom, int
 	gctl_free(r);
 
 	/* If asked, commit the change */
-	r = gctl_get_handle();
-	gctl_ro_param(r, "class", -1, "PART");
-	gctl_ro_param(r, "arg0", -1, lg_geom->lg_name);
-	gctl_ro_param(r, "flags", -1, GPART_FLAGS);
-	gctl_ro_param(r, "verb", -1, "commit");
-	errstr = gctl_issue(r);
-	if (errstr != NULL && errstr[0] != '\0') 
-		gpart_show_error("Error", NULL, errstr);
-	gctl_free(r);
+	if (force) {
+		r = gctl_get_handle();
+		gctl_ro_param(r, "class", -1, "PART");
+		gctl_ro_param(r, "arg0", -1, lg_geom->lg_name);
+		gctl_ro_param(r, "verb", -1, "commit");
+		errstr = gctl_issue(r);
+		if (errstr != NULL && errstr[0] != '\0') 
+			gpart_show_error("Error", NULL, errstr);
+		gctl_free(r);
+	}
 
 	/* And any metadata associated with the partition scheme itself */
 	delete_part_metadata(lg_geom->lg_name);
@@ -291,7 +289,7 @@ gpart_edit(struct gprovider *pp)
 	const char *errstr, *oldtype, *scheme;
 	struct partition_metadata *md;
 	char sizestr[32];
-	intmax_t index;
+	intmax_t idx;
 	int hadlabel, choice, junk, nitems;
 	unsigned i;
 
@@ -379,7 +377,7 @@ gpart_edit(struct gprovider *pp)
 			items[3].text = gc->lg_val;
 		}
 		if (strcmp(gc->lg_name, "index") == 0)
-			index = atoi(gc->lg_val);
+			idx = atoi(gc->lg_val);
 	}
 
 	TAILQ_FOREACH(md, &part_metadata, metadata) {
@@ -422,7 +420,7 @@ editpart:
 	gctl_ro_param(r, "arg0", -1, geom->lg_name);
 	gctl_ro_param(r, "flags", -1, GPART_FLAGS);
 	gctl_ro_param(r, "verb", -1, "modify");
-	gctl_ro_param(r, "index", sizeof(index), &index);
+	gctl_ro_param(r, "index", sizeof(idx), &idx);
 	if (hadlabel || items[3].text[0] != '\0')
 		gctl_ro_param(r, "label", -1, items[3].text);
 	gctl_ro_param(r, "type", -1, items[0].text);
@@ -434,17 +432,17 @@ editpart:
 	}
 	gctl_free(r);
 
-	set_part_metadata(pp->lg_name, scheme, items[0].text, items[2].text,
-	    strcmp(oldtype, items[0].text) != 0);
+	set_default_part_metadata(pp->lg_name, scheme, items[0].text,
+	    items[2].text, strcmp(oldtype, items[0].text) != 0);
 
 	for (i = 0; i < (sizeof(items) / sizeof(items[0])); i++)
 		if (items[i].text_free)
 			free(items[i].text);
 }
 
-static void
-set_part_metadata(const char *name, const char *scheme, const char *type,
-    const char *mountpoint, int newfs)
+void
+set_default_part_metadata(const char *name, const char *scheme,
+    const char *type, const char *mountpoint, int newfs)
 {
 	struct partition_metadata *md;
 
@@ -754,8 +752,8 @@ addpartform:
 	else if (strcmp(items[0].text, "freebsd") == 0)
 		gpart_partition(strtok(output, " "), "BSD");
 	else
-		set_part_metadata(strtok(output, " "), scheme, items[0].text,
-		    items[2].text, 1);
+		set_default_part_metadata(strtok(output, " "), scheme,
+		    items[0].text, items[2].text, 1);
 
 	for (i = 0; i < (sizeof(items) / sizeof(items[0])); i++)
 		if (items[i].text_free)
@@ -771,7 +769,7 @@ gpart_delete(struct gprovider *pp)
 	struct gconsumer *cp;
 	struct gctl_req *r;
 	const char *errstr;
-	intmax_t index;
+	intmax_t idx;
 	int choice, is_partition;
 
 	/* Is it a partition? */
@@ -831,8 +829,8 @@ gpart_delete(struct gprovider *pp)
 
 	LIST_FOREACH(gc, &pp->lg_config, lg_config) {
 		if (strcmp(gc->lg_name, "index") == 0) {
-			index = atoi(gc->lg_val);
-			gctl_ro_param(r, "index", sizeof(index), &index);
+			idx = atoi(gc->lg_val);
+			gctl_ro_param(r, "index", sizeof(idx), &idx);
 			break;
 		}
 	}

Modified: user/nwhitehorn/bsdinstall/partedit/partedit.c
==============================================================================
--- user/nwhitehorn/bsdinstall/partedit/partedit.c	Thu Jan 13 17:32:32 2011	(r217365)
+++ user/nwhitehorn/bsdinstall/partedit/partedit.c	Thu Jan 13 17:47:22 2011	(r217366)
@@ -26,7 +26,7 @@ main(void) {
 	struct partition_metadata *md;
 	struct partedit_item *items;
 	struct gmesh mesh;
-	int i, op, nitems, scroll;
+	int i, op, nitems, nscroll;
 	int error;
 
 	TAILQ_INIT(&part_metadata);
@@ -36,7 +36,7 @@ main(void) {
 	init_dialog(stdin, stdout);
 	dialog_vars.backtitle = __DECONST(char *, "FreeBSD Installer");
 	dialog_vars.item_help = TRUE;
-	scroll = i = 0;
+	nscroll = i = 0;
 
 	while (1) {
 		error = geom_gettree(&mesh);
@@ -50,7 +50,7 @@ main(void) {
 		op = diskeditor_show("Partition Editor",
 		    "Create partitions for FreeBSD. No changes will be made "
 		    "until you select Finished.",
-		    items, nitems, &i, &scroll);
+		    items, nitems, &i, &nscroll);
 
 		switch (op) {
 		case 0: /* Create */
@@ -87,8 +87,9 @@ main(void) {
 		error = 0;
 		if (op == 4 && validate_setup()) { /* Finished */
 			dialog_vars.extra_button = TRUE;
-			dialog_vars.extra_label = "Don't Save";
-			dialog_vars.ok_label = "Save";
+			dialog_vars.extra_label =
+			    __DECONST(char *, "Don't Save");
+			dialog_vars.ok_label = __DECONST(char *, "Save");
 			op = dialog_yesno("Confirmation", "Your changes will "
 			    "now be written to disk. If you have chosen to "
 			    "overwrite existing data, it will be PERMANENTLY "

Modified: user/nwhitehorn/bsdinstall/partedit/partedit.h
==============================================================================
--- user/nwhitehorn/bsdinstall/partedit/partedit.h	Thu Jan 13 17:32:32 2011	(r217365)
+++ user/nwhitehorn/bsdinstall/partedit/partedit.h	Thu Jan 13 17:47:22 2011	(r217366)
@@ -28,6 +28,8 @@ void gpart_create(struct gprovider *pp);
 void gpart_revert(struct gprovider *pp);
 void gpart_revert_all(struct gmesh *mesh);
 void gpart_commit(struct gmesh *mesh);
+void set_default_part_metadata(const char *name, const char *scheme,
+    const char *type, const char *mountpoint, int newfs);
 
 /* machine-dependent bootability checks */
 int is_scheme_bootable(const char *part_type);


More information about the svn-src-user mailing list