Module Name: src
Committed By: martin
Date: Sun May 10 10:14:03 UTC 2015
Modified Files:
src/usr.sbin/sysinst: configmenu.c defs.h disks.c install.c label.c
mbr.c menus.mi net.c partman.c upgrade.c util.c
src/usr.sbin/sysinst/arch/arc: md.c
src/usr.sbin/sysinst/arch/atari: md.c
src/usr.sbin/sysinst/arch/cobalt: md.c
src/usr.sbin/sysinst/arch/emips: md.c
src/usr.sbin/sysinst/arch/evbarm: md.c
src/usr.sbin/sysinst/arch/evbarm64: md.c
src/usr.sbin/sysinst/arch/hp300: md.c
src/usr.sbin/sysinst/arch/i386: md.c
src/usr.sbin/sysinst/arch/mac68k: md.c
src/usr.sbin/sysinst/arch/mvme68k: md.c
src/usr.sbin/sysinst/arch/ofppc: md.c
src/usr.sbin/sysinst/arch/prep: md.c
src/usr.sbin/sysinst/arch/x68k: md.c
Log Message:
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/configmenu.c \
src/usr.sbin/sysinst/install.c src/usr.sbin/sysinst/upgrade.c
cvs rdiff -u -r1.7 -r1.8 src/usr.sbin/sysinst/defs.h
cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/sysinst/disks.c \
src/usr.sbin/sysinst/menus.mi
cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/label.c
cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/sysinst/mbr.c
cvs rdiff -u -r1.17 -r1.18 src/usr.sbin/sysinst/net.c
cvs rdiff -u -r1.9 -r1.10 src/usr.sbin/sysinst/partman.c
cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/util.c
cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/arc/md.c
cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/atari/md.c
cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/cobalt/md.c
cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/emips/md.c
cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/evbarm/md.c
cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/sysinst/arch/evbarm64/md.c
cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/hp300/md.c
cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/sysinst/arch/i386/md.c
cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/mac68k/md.c
cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/mvme68k/md.c
cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/ofppc/md.c
cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/sysinst/arch/prep/md.c
cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/sysinst/arch/x68k/md.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.sbin/sysinst/configmenu.c
diff -u src/usr.sbin/sysinst/configmenu.c:1.3 src/usr.sbin/sysinst/configmenu.c:1.4
--- src/usr.sbin/sysinst/configmenu.c:1.3 Tue Jan 20 21:51:05 2015
+++ src/usr.sbin/sysinst/configmenu.c Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: configmenu.c,v 1.3 2015/01/20 21:51:05 snj Exp $ */
+/* $NetBSD: configmenu.c,v 1.4 2015/05/10 10:14:02 martin Exp $ */
/*-
* Copyright (c) 2012 The NetBSD Foundation, Inc.
@@ -258,8 +258,7 @@ add_new_user(struct menudesc *menu, void
msg_prompt(MSG_addusername, NULL, username, sizeof username -1);
if (strlen(username) == 0)
return 0;
- process_menu(MENU_yesno, deconst(MSG_addusertowheel));
- inwheel = yesno;
+ inwheel = ask_yesno(deconst(MSG_addusertowheel));
ushell = "/bin/csh";
process_menu(MENU_usersh, NULL);
if (inwheel)
@@ -280,8 +279,7 @@ change_root_password(struct menudesc *me
configinfo **confp = arg;
msg_display(MSG_rootpw);
- process_menu(MENU_yesno, NULL);
- if (yesno) {
+ if (ask_yesno(NULL)) {
if (run_program(RUN_DISPLAY | RUN_PROGRESS | RUN_CHROOT,
"passwd -l root") == 0)
confp[menu->cursel]->setting = MSG_password_set;
@@ -298,11 +296,13 @@ set_binpkg(struct menudesc *menu, void *
char additional_pkgs[STRSIZE] = {0};
char pattern[STRSIZE];
int allok = 0;
+ arg_rv parm;
do {
- yesno = -1;
- process_menu(MENU_binpkg, additional_pkgs);
- if (yesno == SET_SKIP) {
+ parm.rv = -1;
+ parm.arg = additional_pkgs;
+ process_menu(MENU_binpkg, &parm);
+ if (parm.rv == SET_SKIP) {
confp[menu->cursel]->setting = MSG_abandoned;
return 0;
}
@@ -354,8 +354,7 @@ set_pkgsrc(struct menudesc *menu, void *
confp[menu->cursel]->setting = MSG_abandoned;
return 0;
}
- process_menu(MENU_yesno, deconst(MSG_retry_pkgsrc_network));
- if (!yesno) {
+ if (!ask_yesno(deconst(MSG_retry_pkgsrc_network))) {
confp[menu->cursel]->setting = MSG_abandoned;
return 1;
}
Index: src/usr.sbin/sysinst/install.c
diff -u src/usr.sbin/sysinst/install.c:1.3 src/usr.sbin/sysinst/install.c:1.4
--- src/usr.sbin/sysinst/install.c:1.3 Fri Jan 2 19:43:13 2015
+++ src/usr.sbin/sysinst/install.c Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: install.c,v 1.3 2015/01/02 19:43:13 abs Exp $ */
+/* $NetBSD: install.c,v 1.4 2015/05/10 10:14:02 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -51,8 +51,7 @@ do_install(void)
#ifndef DEBUG
msg_display(MSG_installusure);
- process_menu(MENU_noyes, NULL);
- if (!yesno)
+ if (!ask_noyes(NULL))
return;
#endif
@@ -95,8 +94,7 @@ do_install(void)
clear();
refresh();
msg_display(MSG_lastchance, pm->diskdev);
- process_menu(MENU_noyes, NULL);
- if (!yesno)
+ if (!ask_noyes(NULL))
return;
if (md_pre_disklabel() != 0 ||
Index: src/usr.sbin/sysinst/upgrade.c
diff -u src/usr.sbin/sysinst/upgrade.c:1.3 src/usr.sbin/sysinst/upgrade.c:1.4
--- src/usr.sbin/sysinst/upgrade.c:1.3 Fri Jan 2 19:43:13 2015
+++ src/usr.sbin/sysinst/upgrade.c Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: upgrade.c,v 1.3 2015/01/02 19:43:13 abs Exp $ */
+/* $NetBSD: upgrade.c,v 1.4 2015/05/10 10:14:02 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -58,8 +58,7 @@ do_upgrade(void)
partman_go = 0;
msg_display(MSG_upgradeusure);
- process_menu(MENU_noyes, NULL);
- if (!yesno)
+ if (!ask_noyes(NULL))
return;
get_ramsize();
@@ -182,8 +181,7 @@ do_reinstall_sets(void)
unwind_mounts();
msg_display(MSG_reinstallusure);
- process_menu(MENU_noyes, NULL);
- if (!yesno)
+ if (!ask_noyes(NULL))
return;
if (find_disks(msg_string(MSG_reinstall)) < 0)
Index: src/usr.sbin/sysinst/defs.h
diff -u src/usr.sbin/sysinst/defs.h:1.7 src/usr.sbin/sysinst/defs.h:1.8
--- src/usr.sbin/sysinst/defs.h:1.7 Sat May 9 12:06:31 2015
+++ src/usr.sbin/sysinst/defs.h Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: defs.h,v 1.7 2015/05/09 12:06:31 martin Exp $ */
+/* $NetBSD: defs.h,v 1.8 2015/05/10 10:14:02 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -188,6 +188,13 @@ enum {
#define CD_NAMES "cd0a"
/* Types */
+
+/* pass a void* argument into a menu and also provide a int return value */
+typedef struct arg_rv {
+ void *arg;
+ int rv;
+} arg_rv;
+
typedef struct distinfo {
const char *name;
uint set;
@@ -250,7 +257,6 @@ int debug; /* set by -D option */
char rel[SSTRSIZE];
char machine[SSTRSIZE];
-int yesno;
int ignorerror;
int ttysig_ignore;
pid_t ttysig_forward;
@@ -510,6 +516,8 @@ void do_reinstall_sets(void);
void restore_etc(void);
/* from util.c */
+int ask_yesno(void*);
+int ask_noyes(void*);
int dir_exists_p(const char *);
int file_exists_p(const char *);
int file_mode_match(const char *, unsigned int);
Index: src/usr.sbin/sysinst/disks.c
diff -u src/usr.sbin/sysinst/disks.c:1.8 src/usr.sbin/sysinst/disks.c:1.9
--- src/usr.sbin/sysinst/disks.c:1.8 Sat May 9 12:06:31 2015
+++ src/usr.sbin/sysinst/disks.c Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: disks.c,v 1.8 2015/05/09 12:06:31 martin Exp $ */
+/* $NetBSD: disks.c,v 1.9 2015/05/10 10:14:02 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -1010,8 +1010,7 @@ foundffs(struct data *list, size_t num)
error = target_mount("", list[0].u.s_val, ' '-'a', list[1].u.s_val);
if (error != 0) {
msg_display(MSG_mount_failed, list[0].u.s_val);
- process_menu(MENU_noyes, NULL);
- if (!yesno)
+ if (!ask_noyes(NULL))
return error;
}
return 0;
@@ -1061,8 +1060,7 @@ fsck_preen(const char *disk, int ptn, co
free(prog);
if (error != 0) {
msg_display(MSG_badfs, disk, ptn, error);
- process_menu(MENU_noyes, NULL);
- if (yesno)
+ if (ask_noyes(NULL))
error = 0;
/* XXX at this point maybe we should run a full fsck? */
}
Index: src/usr.sbin/sysinst/menus.mi
diff -u src/usr.sbin/sysinst/menus.mi:1.8 src/usr.sbin/sysinst/menus.mi:1.9
--- src/usr.sbin/sysinst/menus.mi:1.8 Sat May 9 12:55:06 2015
+++ src/usr.sbin/sysinst/menus.mi Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: menus.mi,v 1.8 2015/05/09 12:55:06 martin Exp $ */
+/* $NetBSD: menus.mi,v 1.9 2015/05/10 10:14:02 martin Exp $ */
/*-
* Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -286,14 +286,16 @@ menu colors, title MSG_Color_scheme, exi
menu yesno, y=-10;
- display action { menu->title = arg ? arg : MSG_yes_or_no; };
- option MSG_Yes, exit, action {yesno = 1;};
- option MSG_No, exit, action {yesno = 0;};
+ display action { arg_rv *p = arg;
+ menu->title = p->arg ? p->arg : MSG_yes_or_no; };
+ option MSG_Yes, exit, action { ((arg_rv*)arg)->rv = 1; };
+ option MSG_No, exit, action { ((arg_rv*)arg)->rv = 0; };
menu noyes, y=-10;
- display action { menu->title = arg ? arg : MSG_yes_or_no; };
- option MSG_No, exit, action {yesno = 0;};
- option MSG_Yes, exit, action {yesno = 1;};
+ display action { arg_rv *p = arg;
+ menu->title = p->arg ? p->arg : MSG_yes_or_no; };
+ option MSG_No, exit, action { ((arg_rv*)arg)->rv = 0; };
+ option MSG_Yes, exit, action { ((arg_rv*)arg)->rv = 1; };
menu ok, no shortcut, y=-10;
display action { menu->title = arg; };
@@ -345,7 +347,7 @@ menu distset, title MSG_Select_your_dist
menu ftpsource, y=-4, x=0, w=70, no box, no clear,
exitstring MSG_Get_Distribution;
- display action { msg_display(MSG_ftpsource, arg); };
+ display action { msg_display(MSG_ftpsource, ((arg_rv*)arg)->arg); };
option {src_legend(menu, MSG_Host, ftp.host);},
action { src_prompt(MSG_Host, ftp.host, sizeof ftp.host); };
option {src_legend(menu, MSG_Base_dir, ftp.dir);},
@@ -382,16 +384,14 @@ menu ftpsource, y=-4, x=0, w=70, no box,
action { src_prompt(MSG_Xfer_dir, xfer_dir, sizeof xfer_dir); };
option {src_legend(menu, MSG_delete_xfer_file,
clean_xfer_dir ? MSG_Yes : MSG_No);},
- action {process_menu(MENU_yesno, deconst(MSG_delete_xfer_file));
- clean_xfer_dir = yesno; };
+ action {clean_xfer_dir = ask_yesno(deconst(MSG_delete_xfer_file)); };
option MSG_Configure_network,
action {
extern int network_up;
network_up = 0;
config_network();
};
- option MSG_exit_menu_generic, exit, action { yesno = SET_RETRY; };
- exit action { yesno = -1; };
+ option MSG_exit_menu_generic, exit, action { ((arg_rv*)arg)->rv = SET_RETRY; };
menu nfssource, y=-4, x=0, w=70, no box, no clear,
@@ -411,7 +411,7 @@ menu nfssource, y=-4, x=0, w=70, no box,
network_up = 0;
config_network();
};
- option MSG_exit_menu_generic, exit, action { yesno = SET_RETRY; };
+ option MSG_exit_menu_generic, exit, action { *((int*)arg) = SET_RETRY; };
menu fdremount, title MSG_What_do_you_want_to_do;
option MSG_Try_again, exit, action { *(int *)arg = SET_CONTINUE; };
@@ -439,9 +439,8 @@ menu floppysource, y=-4, x=0, w=70, no b
action { src_prompt(MSG_Xfer_dir, xfer_dir, sizeof xfer_dir); };
option {src_legend(menu, MSG_delete_xfer_file,
clean_xfer_dir ? MSG_Yes : MSG_No);},
- action {process_menu(MENU_yesno, deconst(MSG_delete_xfer_file));
- clean_xfer_dir = yesno; };
- option MSG_exit_menu_generic, exit, action { yesno = SET_RETRY; };
+ action {clean_xfer_dir = ask_yesno(deconst(MSG_delete_xfer_file)); };
+ option MSG_exit_menu_generic, exit, action { *((int*)arg) = SET_RETRY; };
menu cdromsource, y=-4, x=0, w=70, no box, no clear, exitstring MSG_Continue;
display action { msg_display(MSG_cdromsource); };
@@ -451,7 +450,7 @@ menu cdromsource, y=-4, x=0, w=70, no bo
action { src_prompt(MSG_Set_dir_bin, set_dir_bin, sizeof set_dir_bin); };
option {src_legend(menu, MSG_Set_dir_src, set_dir_src);},
action { src_prompt(MSG_Set_dir_src, set_dir_src, sizeof set_dir_src); };
- option MSG_exit_menu_generic, exit, action { yesno = SET_RETRY; };
+ option MSG_exit_menu_generic, exit, action { *((int*)arg) = SET_RETRY; };
menu localfssource, y=-4, x=0, w=70, no box, no clear, exitstring MSG_Continue;
display action { msg_display(MSG_localfssource); };
@@ -465,7 +464,7 @@ menu localfssource, y=-4, x=0, w=70, no
action { src_prompt(MSG_Set_dir_bin, set_dir_bin, sizeof set_dir_bin); };
option {src_legend(menu, MSG_Set_dir_src, set_dir_src);},
action { src_prompt(MSG_Set_dir_src, set_dir_src, sizeof set_dir_src); };
- option MSG_exit_menu_generic, exit, action { yesno = SET_RETRY; };
+ option MSG_exit_menu_generic, exit, action { *((int*)arg) = SET_RETRY; };
menu localdirsource, y=-4, x=0, w=70, no box, no clear, exitstring MSG_Continue;
display action { msg_display(MSG_localdir); };
@@ -475,7 +474,7 @@ menu localdirsource, y=-4, x=0, w=70, no
action { src_prompt(MSG_Set_dir_bin, set_dir_bin, 60); };
option {src_legend(menu, MSG_Set_dir_src, set_dir_src);},
action { src_prompt(MSG_Set_dir_src, set_dir_src, 60); };
- option MSG_exit_menu_generic, exit, action { yesno = SET_RETRY; };
+ option MSG_exit_menu_generic, exit, action { *((int*)arg) = SET_RETRY; };
menu namesrv6, title MSG_Select_DNS_server;
option "google-public-dns-a.google.com (IPv4)", exit, action
@@ -483,9 +482,9 @@ menu namesrv6, title MSG_Select_DNS_serv
#ifdef INET6
strlcpy(net_namesvr, "8.8.8.8",
sizeof(net_namesvr));
- yesno = 1;
+ *((int*)arg) = 1;
#else
- yesno = 0;
+ *((int*)arg) = 0;
#endif
};
option "google-public-dns-b.google.com (IPv4)", exit, action
@@ -493,9 +492,9 @@ menu namesrv6, title MSG_Select_DNS_serv
#ifdef INET6
strlcpy(net_namesvr, "8.8.4.4",
sizeof(net_namesvr));
- yesno = 1;
+ *((int*)arg) = 1;
#else
- yesno = 0;
+ *((int*)arg) = 0;
#endif
};
option "google-public-dns-a.google.com (IPv6)", exit, action
@@ -503,9 +502,9 @@ menu namesrv6, title MSG_Select_DNS_serv
#ifdef INET6
strlcpy(net_namesvr, "2001:4860:4860::8888",
sizeof(net_namesvr));
- yesno = 1;
+ *((int*)arg) = 1;
#else
- yesno = 0;
+ *((int*)arg) = 0;
#endif
};
option "google-public-dns-b.google.com (IPv6)", exit, action
@@ -513,13 +512,13 @@ menu namesrv6, title MSG_Select_DNS_serv
#ifdef INET6
strlcpy(net_namesvr, "2001:4860:4860::8844",
sizeof(net_namesvr));
- yesno = 1;
+ *((int*)arg) = 1;
#else
- yesno = 0;
+ *((int*)arg) = 0;
#endif
};
option MSG_other, exit, action
- { yesno = 0; };
+ { *((int*)arg) = 0; };
menu rootsh, title MSG_Root_shell, no clear;
option "/bin/sh", exit, action {*(const char **)arg = "/bin/sh";};
@@ -564,8 +563,8 @@ menu binpkg, y=-4, x=0, w=70, no box, no
setenv("http_proxy", pkg.proxy, 1);
}
};
- option {src_legend(menu, "Additional packages", (char*)arg); }, /*TODO*/
- action { src_prompt("Additional packages", (char*)arg,
+ option {src_legend(menu, "Additional packages", (char*)(((arg_rv*)arg)->arg)); }, /*TODO*/
+ action { src_prompt("Additional packages", (char*)(((arg_rv*)arg)->arg),
sizeof(char) * STRSIZE); };
option MSG_Configure_network,
action {
@@ -574,7 +573,7 @@ menu binpkg, y=-4, x=0, w=70, no box, no
config_network();
mnt_net_config();
};
- option MSG_quit_pkgs_install, exit, action { yesno = SET_SKIP; };
+ option MSG_quit_pkgs_install, exit, action { ((arg_rv*)arg)->rv = SET_SKIP; };
menu pkgsrc, y=-4, x=0, w=70, no box, no clear,
exit, exitstring MSG_Install_pkgsrc;
@@ -612,9 +611,8 @@ menu pkgsrc, y=-4, x=0, w=70, no box, no
action { src_prompt(MSG_Xfer_dir, xfer_dir, sizeof xfer_dir); };
option {src_legend(menu, MSG_delete_xfer_file,
clean_xfer_dir ? MSG_Yes : MSG_No);},
- action {process_menu(MENU_yesno, deconst(MSG_delete_xfer_file));
- clean_xfer_dir = yesno; };
- option MSG_quit_pkgsrc, exit, action { yesno = SET_SKIP;};
+ action {clean_xfer_dir = ask_yesno(deconst(MSG_delete_xfer_file)); };
+ option MSG_quit_pkgsrc, exit, action { *((int*)arg) = SET_SKIP;};
menu usersh, title MSG_User_shell, no clear;
option "/bin/sh", exit, action { ushell = "/bin/sh";};
Index: src/usr.sbin/sysinst/label.c
diff -u src/usr.sbin/sysinst/label.c:1.2 src/usr.sbin/sysinst/label.c:1.3
--- src/usr.sbin/sysinst/label.c:1.2 Sun Aug 3 16:09:38 2014
+++ src/usr.sbin/sysinst/label.c Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: label.c,v 1.2 2014/08/03 16:09:38 martin Exp $ */
+/* $NetBSD: label.c,v 1.3 2015/05/10 10:14:02 martin Exp $ */
/*
* Copyright 1997 Jonathan Stone
@@ -36,7 +36,7 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: label.c,v 1.2 2014/08/03 16:09:38 martin Exp $");
+__RCSID("$NetBSD: label.c,v 1.3 2015/05/10 10:14:02 martin Exp $");
#endif
#include <sys/types.h>
@@ -672,8 +672,7 @@ edit_and_check_label(partinfo *lp, int n
/*XXX ???*/
msg_display_add(MSG_edit_partitions_again);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
return(0);
}
Index: src/usr.sbin/sysinst/mbr.c
diff -u src/usr.sbin/sysinst/mbr.c:1.4 src/usr.sbin/sysinst/mbr.c:1.5
--- src/usr.sbin/sysinst/mbr.c:1.4 Tue Oct 21 18:19:17 2014
+++ src/usr.sbin/sysinst/mbr.c Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: mbr.c,v 1.4 2014/10/21 18:19:17 martin Exp $ */
+/* $NetBSD: mbr.c,v 1.5 2015/05/10 10:14:02 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -1294,8 +1294,7 @@ edit_mbr(mbr_info_t *mbri)
/* Ask if we really want to blow away non-NetBSD stuff */
if (numbsd > 1) {
msg_display(MSG_ovrwrite);
- process_menu(MENU_noyes, NULL);
- if (!yesno) {
+ if (!ask_noyes(NULL)) {
if (logfp)
(void)fprintf(logfp, "User answered no to destroy other data, aborting.\n");
return 0;
@@ -1356,16 +1355,14 @@ edit_mbr(mbr_info_t *mbri)
else
msg_display(MSG_multbsdpart, 0);
msg_display_add(MSG_reeditpart, 0);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
return 0;
continue;
}
if (activepart == 0) {
msg_display(MSG_noactivepart);
- process_menu(MENU_yesno, NULL);
- if (yesno)
+ if (ask_yesno(NULL))
continue;
}
/* the md_check_mbr function has 3 ret codes to deal with
Index: src/usr.sbin/sysinst/net.c
diff -u src/usr.sbin/sysinst/net.c:1.17 src/usr.sbin/sysinst/net.c:1.18
--- src/usr.sbin/sysinst/net.c:1.17 Tue Oct 14 16:35:20 2014
+++ src/usr.sbin/sysinst/net.c Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: net.c,v 1.17 2014/10/14 16:35:20 christos Exp $ */
+/* $NetBSD: net.c,v 1.18 2015/05/10 10:14:02 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -456,8 +456,7 @@ handle_license(const char *dev)
&& val != 0)
return 1;
msg_display(MSG_license, dev, licdev[i].lic);
- process_menu(MENU_yesno, NULL);
- if (yesno) {
+ if (ask_yesno(NULL)) {
val = 1;
if (sysctlbyname(buf, NULL, NULL, &val,
0) == -1)
@@ -492,7 +491,7 @@ config_network(void)
int num_devs;
int selected_net;
- int i;
+ int i, rv;
#ifdef INET6
int v6config = 1;
#endif
@@ -715,8 +714,9 @@ again:
if (!(net_dhcpconf & DHCPCONF_NAMESVR)) {
#ifdef INET6
if (v6config) {
- process_menu(MENU_namesrv6, NULL);
- if (!yesno)
+ rv = 0;
+ process_menu(MENU_namesrv6, &rv);
+ if (!rv)
msg_prompt_add(MSG_net_namesrv, net_namesvr,
net_namesvr, sizeof net_namesvr);
} else
@@ -748,9 +748,7 @@ again:
!is_v6kernel() ? "<not supported>" : net_ip6);
#endif
done:
- process_menu(MENU_yesno, deconst(MSG_netok_ok));
-
- if (!yesno)
+ if (!ask_yesno(deconst(MSG_netok_ok)))
goto again;
run_program(0, "/sbin/ifconfig lo0 127.0.0.1");
@@ -962,10 +960,11 @@ do_ftp_fetch(const char *set_name, struc
int
get_pkgsrc(void)
{
- yesno = -1;
- process_menu(MENU_pkgsrc, NULL);
+ int rv = -1;
+
+ process_menu(MENU_pkgsrc, &rv);
- if (yesno == SET_SKIP)
+ if (rv == SET_SKIP)
return SET_SKIP;
fetch_fn = pkgsrc_fetch;
@@ -978,10 +977,13 @@ get_pkgsrc(void)
int
get_via_ftp(const char *xfer_type)
{
- yesno = -1;
- process_menu(MENU_ftpsource, deconst(xfer_type));
+ arg_rv arg;
+
+ arg.rv = -1;
+ arg.arg = deconst(xfer_type);
+ process_menu(MENU_ftpsource, &arg);
- if (yesno == SET_RETRY)
+ if (arg.rv == SET_RETRY)
return SET_RETRY;
/* We'll fetch each file just before installing it */
@@ -999,6 +1001,7 @@ int
get_via_nfs(void)
{
struct statvfs sb;
+ int rv;
/* If root is on NFS and we have sets, skip this step. */
if (statvfs(set_dir_bin, &sb) == 0 &&
@@ -1009,10 +1012,10 @@ get_via_nfs(void)
}
/* Get server and filepath */
- yesno = -1;
- process_menu(MENU_nfssource, NULL);
+ rv = -1;
+ process_menu(MENU_nfssource, &rv);
- if (yesno == SET_RETRY)
+ if (rv == SET_RETRY)
return SET_RETRY;
/* Mount it */
@@ -1062,8 +1065,7 @@ mnt_net_config(void)
if (!network_up)
return;
- process_menu(MENU_yesno, deconst(MSG_mntnetconfig));
- if (!yesno)
+ if (!ask_yesno(deconst(MSG_mntnetconfig)))
return;
/* Write hostname to /etc/rc.conf */
@@ -1152,8 +1154,7 @@ config_dhcp(char *inter)
if (!file_mode_match(DHCPCD, S_IFREG))
return 0;
- process_menu(MENU_yesno, deconst(MSG_Perform_autoconfiguration));
- if (yesno) {
+ if (ask_yesno(deconst(MSG_Perform_autoconfiguration))) {
/* spawn off dhcpcd and wait for parent to exit */
dhcpautoconf = run_program(RUN_DISPLAY | RUN_PROGRESS,
"%s -d -n %s", DHCPCD, inter);
Index: src/usr.sbin/sysinst/partman.c
diff -u src/usr.sbin/sysinst/partman.c:1.9 src/usr.sbin/sysinst/partman.c:1.10
--- src/usr.sbin/sysinst/partman.c:1.9 Sat May 9 12:06:31 2015
+++ src/usr.sbin/sysinst/partman.c Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: partman.c,v 1.9 2015/05/09 12:06:31 martin Exp $ */
+/* $NetBSD: partman.c,v 1.10 2015/05/10 10:14:02 martin Exp $ */
/*
* Copyright 2012 Eugene Lozovoy
@@ -1695,8 +1695,7 @@ pm_gpt_convert(pm_devs_t *pm_cur)
int i, error = 0;
msg_display(MSG_removepartswarn);
- process_menu(MENU_noyes, NULL);
- if (! yesno)
+ if (!ask_noyes(NULL))
return -1;
if (! pm_cur->gpt)
@@ -2266,8 +2265,7 @@ pm_needsave(void)
/* Oops, we have unsaved changes */
changed = 1;
msg_display(MSG_saveprompt);
- process_menu(MENU_yesno, NULL);
- return (yesno);
+ return ask_yesno(NULL);
}
return 0;
}
@@ -2402,8 +2400,7 @@ pm_submenu(menudesc *m, void *arg)
return -1;
if (pm_cur->blocked) {
msg_display(MSG_wannaunblock);
- process_menu(MENU_noyes, NULL);
- if (!yesno)
+ if (!ask_noyes(NULL))
return -2;
pm_cur->blocked = 0;
}
@@ -2804,8 +2801,7 @@ partman(void)
pm_lastcheck() != 0 ||
pm_savebootsector() != 0) {
msg_display(MSG_wannatry);
- process_menu(MENU_yesno, NULL);
- args[0].retvalue = (yesno) ? 1:-1;
+ args[0].retvalue = (ask_yesno(NULL)) ? 1:-1;
}
}
} while (args[0].retvalue > 0);
Index: src/usr.sbin/sysinst/util.c
diff -u src/usr.sbin/sysinst/util.c:1.5 src/usr.sbin/sysinst/util.c:1.6
--- src/usr.sbin/sysinst/util.c:1.5 Tue Oct 14 16:35:20 2014
+++ src/usr.sbin/sysinst/util.c Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: util.c,v 1.5 2014/10/14 16:35:20 christos Exp $ */
+/* $NetBSD: util.c,v 1.6 2015/05/10 10:14:02 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -363,9 +363,10 @@ floppy_fetch(const char *set_name)
int
get_via_floppy(void)
{
- yesno = -1;
- process_menu(MENU_floppysource, NULL);
- if (yesno == SET_RETRY)
+ int rv = -1;
+
+ process_menu(MENU_floppysource, &rv);
+ if (rv == SET_RETRY)
return SET_RETRY;
fetch_fn = floppy_fetch;
@@ -527,7 +528,7 @@ get_via_cdrom(void)
{
menu_ent cd_menu[MAX_CD_INFOS];
struct stat sb;
- int num_cds, menu_cd, i, selected_cd = 0;
+ int rv, num_cds, menu_cd, i, selected_cd = 0;
bool silent = false;
int mib[2];
char rootdev[SSTRSIZE] = "";
@@ -584,9 +585,9 @@ get_via_cdrom(void)
}
/* ask for paths on the CD */
- yesno = -1;
- process_menu(MENU_cdromsource, NULL);
- if (yesno == SET_RETRY)
+ rv = -1;
+ process_menu(MENU_cdromsource, &rv);
+ if (rv == SET_RETRY)
return SET_RETRY;
if (cd_has_sets())
@@ -603,10 +604,11 @@ get_via_cdrom(void)
int
get_via_localfs(void)
{
+ int rv = -1;
+
/* Get device, filesystem, and filepath */
- yesno = -1;
- process_menu (MENU_localfssource, NULL);
- if (yesno == SET_RETRY)
+ process_menu (MENU_localfssource, &rv);
+ if (rv == SET_RETRY)
return SET_RETRY;
/* Mount it */
@@ -631,10 +633,11 @@ get_via_localfs(void)
int
get_via_localdir(void)
{
+ int rv = -1;
+
/* Get filepath */
- yesno = -1;
- process_menu(MENU_localdirsource, NULL);
- if (yesno == SET_RETRY)
+ process_menu(MENU_localdirsource, &rv);
+ if (rv == SET_RETRY)
return SET_RETRY;
/*
@@ -1084,8 +1087,7 @@ get_and_unpack_sets(int update, msg setu
"/usr/sbin/postinstall -s /.sysinst -d / check mailerconf");
if (oldsendmail == 1) {
msg_display(MSG_oldsendmail);
- process_menu(MENU_yesno, NULL);
- if (yesno) {
+ if (ask_yesno(NULL)) {
run_program(RUN_DISPLAY | RUN_CHROOT,
"/usr/sbin/postinstall -s /.sysinst -d / fix mailerconf");
}
@@ -1560,8 +1562,7 @@ del_rc_conf(const char *value)
if (done) {
if (rename(rcconf, bakname)) {
msg_display(MSG_rcconf_backup_failed);
- process_menu(MENU_noyes, NULL);
- if (!yesno) {
+ if (!ask_noyes(NULL)) {
retval = -1;
goto done;
}
@@ -1717,3 +1718,27 @@ safectime(time_t *t)
/*123456789012345678901234*/
return "preposterous clock time\n";
}
+
+int
+ask_yesno(void* arg)
+{
+ arg_rv p;
+
+ p.arg = arg;
+ p.rv = -1;
+
+ process_menu(MENU_yesno, &p);
+ return p.rv;
+}
+
+int
+ask_noyes(void* arg)
+{
+ arg_rv p;
+
+ p.arg = arg;
+ p.rv = -1;
+
+ process_menu(MENU_noyes, &p);
+ return p.rv;
+}
Index: src/usr.sbin/sysinst/arch/arc/md.c
diff -u src/usr.sbin/sysinst/arch/arc/md.c:1.3 src/usr.sbin/sysinst/arch/arc/md.c:1.4
--- src/usr.sbin/sysinst/arch/arc/md.c:1.3 Fri Jan 2 19:43:13 2015
+++ src/usr.sbin/sysinst/arch/arc/md.c Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: md.c,v 1.3 2015/01/02 19:43:13 abs Exp $ */
+/* $NetBSD: md.c,v 1.4 2015/05/10 10:14:02 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -299,8 +299,7 @@ md_pre_update(void)
if (part->mbrp_size < (MIN_FAT12_BOOT / 512)) {
msg_display(MSG_boottoosmall);
msg_display_add(MSG_nobootpart, 0);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
return 0;
nobootfs = 1;
}
@@ -339,16 +338,14 @@ md_check_mbr(mbr_info_t *mbri)
if (pm->bootsize < (MIN_FAT12_BOOT / 512)) {
msg_display(MSG_boottoosmall);
msg_display_add(MSG_reeditpart, 0);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
return 0;
return 1;
}
if (pm->bootstart == 0 || pm->bootsize == 0) {
msg_display(MSG_nobootpart);
msg_display_add(MSG_reeditpart, 0);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
return 0;
return 1;
}
Index: src/usr.sbin/sysinst/arch/atari/md.c
diff -u src/usr.sbin/sysinst/arch/atari/md.c:1.2 src/usr.sbin/sysinst/arch/atari/md.c:1.3
--- src/usr.sbin/sysinst/arch/atari/md.c:1.2 Sun Aug 3 16:09:39 2014
+++ src/usr.sbin/sysinst/arch/atari/md.c Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: md.c,v 1.2 2014/08/03 16:09:39 martin Exp $ */
+/* $NetBSD: md.c,v 1.3 2015/05/10 10:14:02 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -69,8 +69,7 @@ int
md_make_bsd_partitions(void)
{
msg_display(MSG_infoahdilabel, pm->diskdev);
- process_menu(MENU_noyes, NULL);
- if (yesno) {
+ if (ask_noyes(NULL)) {
run_program(RUN_DISPLAY, "ahdilabel /dev/r%sc", pm->diskdev);
}
if (!make_bsd_partitions())
Index: src/usr.sbin/sysinst/arch/cobalt/md.c
diff -u src/usr.sbin/sysinst/arch/cobalt/md.c:1.3 src/usr.sbin/sysinst/arch/cobalt/md.c:1.4
--- src/usr.sbin/sysinst/arch/cobalt/md.c:1.3 Fri Jan 2 19:43:13 2015
+++ src/usr.sbin/sysinst/arch/cobalt/md.c Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: md.c,v 1.3 2015/01/02 19:43:13 abs Exp $ */
+/* $NetBSD: md.c,v 1.4 2015/05/10 10:14:02 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -317,8 +317,7 @@ md_pre_update(void)
if (part->mbrp_size < (MIN_EXT2FS_BOOT / 512)) {
msg_display(MSG_boottoosmall);
msg_display_add(MSG_nobootpart, 0);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
return 0;
nobootfs = 1;
}
@@ -357,16 +356,14 @@ md_check_mbr(mbr_info_t *mbri)
if (pm->bootsize < (MIN_EXT2FS_BOOT / 512)) {
msg_display(MSG_boottoosmall);
msg_display_add(MSG_reeditpart, 0);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
return 0;
return 1;
}
if (pm->bootstart == 0 || pm->bootsize == 0) {
msg_display(MSG_nobootpart);
msg_display_add(MSG_reeditpart, 0);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
return 0;
return 1;
}
Index: src/usr.sbin/sysinst/arch/emips/md.c
diff -u src/usr.sbin/sysinst/arch/emips/md.c:1.2 src/usr.sbin/sysinst/arch/emips/md.c:1.3
--- src/usr.sbin/sysinst/arch/emips/md.c:1.2 Sun Aug 3 16:09:39 2014
+++ src/usr.sbin/sysinst/arch/emips/md.c Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: md.c,v 1.2 2014/08/03 16:09:39 martin Exp $ */
+/* $NetBSD: md.c,v 1.3 2015/05/10 10:14:02 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -167,9 +167,8 @@ md_post_extract(void)
strlcpy(ldr_path, target_expand("/boot.emips"), sizeof ldr_path);
msg_display(MSG_dobootblks, "");
- process_menu(MENU_noyes, NULL);
- if (yesno) {
+ if (ask_noyes(NULL)) {
if (run_program(RUN_DISPLAY | RUN_NO_CLEAR,
"/bin/dd if=%s of=/dev/reflash0c bs=512", ldr_path))
process_menu(MENU_ok, deconst("Warning: the system "
Index: src/usr.sbin/sysinst/arch/evbarm/md.c
diff -u src/usr.sbin/sysinst/arch/evbarm/md.c:1.3 src/usr.sbin/sysinst/arch/evbarm/md.c:1.4
--- src/usr.sbin/sysinst/arch/evbarm/md.c:1.3 Thu Mar 12 11:32:16 2015
+++ src/usr.sbin/sysinst/arch/evbarm/md.c Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: md.c,v 1.3 2015/03/12 11:32:16 joerg Exp $ */
+/* $NetBSD: md.c,v 1.4 2015/05/10 10:14:02 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -276,8 +276,7 @@ md_check_mbr(mbr_info_t *mbri)
if (!hasboot) {
msg_display(MSG_nomsdospart);
msg_display_add(MSG_reeditpart, 0);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
return 0;
return 1;
}
Index: src/usr.sbin/sysinst/arch/evbarm64/md.c
diff -u src/usr.sbin/sysinst/arch/evbarm64/md.c:1.1 src/usr.sbin/sysinst/arch/evbarm64/md.c:1.2
--- src/usr.sbin/sysinst/arch/evbarm64/md.c:1.1 Sun Dec 28 11:51:11 2014
+++ src/usr.sbin/sysinst/arch/evbarm64/md.c Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: md.c,v 1.1 2014/12/28 11:51:11 martin Exp $ */
+/* $NetBSD: md.c,v 1.2 2015/05/10 10:14:02 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -275,8 +275,7 @@ md_check_mbr(mbr_info_t *mbri)
if (!hasboot) {
msg_display(MSG_nomsdospart);
msg_display_add(MSG_reeditpart, 0);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
return 0;
return 1;
}
Index: src/usr.sbin/sysinst/arch/hp300/md.c
diff -u src/usr.sbin/sysinst/arch/hp300/md.c:1.3 src/usr.sbin/sysinst/arch/hp300/md.c:1.4
--- src/usr.sbin/sysinst/arch/hp300/md.c:1.3 Fri Jan 2 19:43:13 2015
+++ src/usr.sbin/sysinst/arch/hp300/md.c Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: md.c,v 1.3 2015/01/02 19:43:13 abs Exp $ */
+/* $NetBSD: md.c,v 1.4 2015/05/10 10:14:02 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -150,8 +150,7 @@ md_check_partitions(void)
} else {
if (start >= pm->bsdlabel[part].pi_offset) {
msg_display(MSG_ordering, part+'a');
- process_menu(MENU_yesno, NULL);
- if (yesno)
+ if (ask_yesno(NULL))
return 0;
}
start = pm->bsdlabel[part].pi_offset;
Index: src/usr.sbin/sysinst/arch/i386/md.c
diff -u src/usr.sbin/sysinst/arch/i386/md.c:1.5 src/usr.sbin/sysinst/arch/i386/md.c:1.6
--- src/usr.sbin/sysinst/arch/i386/md.c:1.5 Fri Jan 2 19:43:13 2015
+++ src/usr.sbin/sysinst/arch/i386/md.c Sun May 10 10:14:02 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: md.c,v 1.5 2015/01/02 19:43:13 abs Exp $ */
+/* $NetBSD: md.c,v 1.6 2015/05/10 10:14:02 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -110,8 +110,7 @@ edit:
if (biosdisk != NULL && (biosdisk->bi_flags & BIFLAG_EXTINT13) == 0) {
if (mbr_root_above_chs()) {
msg_display(MSG_partabovechs);
- process_menu(MENU_noyes, NULL);
- if (!yesno)
+ if (!ask_noyes(NULL))
goto edit;
/* The user is shooting themselves in the foot here...*/
} else
@@ -169,8 +168,7 @@ edit:
* don't all have bootmenu texts.
*/
msg_display(MSG_missing_bootmenu_text);
- process_menu(MENU_yesno, NULL);
- if (yesno)
+ if (ask_yesno(NULL))
goto edit;
}
@@ -178,8 +176,7 @@ edit:
(biosdisk == NULL || !(biosdisk->bi_flags & BIFLAG_EXTINT13))) {
/* Need unsupported LBA reads to read boot sectors */
msg_display(MSG_no_extended_bootmenu);
- process_menu(MENU_noyes, NULL);
- if (!yesno)
+ if (!ask_noyes(NULL))
goto edit;
}
@@ -215,8 +212,7 @@ edit:
/* Existing code would (probably) be ok */
msg_display(MSG_updatembr);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
/* User doesn't want to update mbr code */
return 1;
@@ -226,7 +222,7 @@ edit:
/* This shouldn't happen since the files are in the floppy fs... */
msg_display("Can't find %s", bootcode);
- process_menu(MENU_yesno, NULL);
+ ask_yesno(NULL);
return 1;
}
Index: src/usr.sbin/sysinst/arch/mac68k/md.c
diff -u src/usr.sbin/sysinst/arch/mac68k/md.c:1.2 src/usr.sbin/sysinst/arch/mac68k/md.c:1.3
--- src/usr.sbin/sysinst/arch/mac68k/md.c:1.2 Sun Aug 3 16:09:40 2014
+++ src/usr.sbin/sysinst/arch/mac68k/md.c Sun May 10 10:14:03 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: md.c,v 1.2 2014/08/03 16:09:40 martin Exp $ */
+/* $NetBSD: md.c,v 1.3 2015/05/10 10:14:03 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -1141,8 +1141,7 @@ edit_diskmap(void)
if (usefull) {
if (map.usable_cnt > (map.root_cnt+map.swap_cnt+map.usr_cnt)) {
msg_display (MSG_ovrwrite);
- process_menu (MENU_noyes, NULL);
- if (!yesno) {
+ if (!ask_noyes(NULL)) {
endwin();
return 0;
}
Index: src/usr.sbin/sysinst/arch/mvme68k/md.c
diff -u src/usr.sbin/sysinst/arch/mvme68k/md.c:1.3 src/usr.sbin/sysinst/arch/mvme68k/md.c:1.4
--- src/usr.sbin/sysinst/arch/mvme68k/md.c:1.3 Fri Jan 2 19:43:13 2015
+++ src/usr.sbin/sysinst/arch/mvme68k/md.c Sun May 10 10:14:03 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: md.c,v 1.3 2015/01/02 19:43:13 abs Exp $ */
+/* $NetBSD: md.c,v 1.4 2015/05/10 10:14:03 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -148,8 +148,7 @@ md_check_partitions(void)
} else {
if (start > pm->bsdlabel[part].pi_offset) {
msg_display(MSG_ordering, part+'a');
- process_menu(MENU_yesno, NULL);
- if (yesno)
+ if (ask_yesno(NULL))
return 0;
}
start = pm->bsdlabel[part].pi_offset;
Index: src/usr.sbin/sysinst/arch/ofppc/md.c
diff -u src/usr.sbin/sysinst/arch/ofppc/md.c:1.2 src/usr.sbin/sysinst/arch/ofppc/md.c:1.3
--- src/usr.sbin/sysinst/arch/ofppc/md.c:1.2 Sun Aug 3 16:09:40 2014
+++ src/usr.sbin/sysinst/arch/ofppc/md.c Sun May 10 10:14:03 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: md.c,v 1.2 2014/08/03 16:09:40 martin Exp $ */
+/* $NetBSD: md.c,v 1.3 2015/05/10 10:14:03 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -433,8 +433,7 @@ md_pre_update(void)
part->mbrp_size < (MIN_FAT12_BOOT/512)) {
msg_display(MSG_boottoosmall);
msg_display_add(MSG_nobootpartdisklabel, 0);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
return 0;
nobootfix = 1;
}
@@ -498,8 +497,7 @@ md_check_mbr(mbr_info_t *mbri)
bprepsize >= (MIN_PREP_BOOT/512)))) {
msg_display(MSG_bootnotright);
msg_display_add(MSG_reeditpart, 0);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
return 0;
return 1;
}
@@ -510,8 +508,7 @@ md_check_mbr(mbr_info_t *mbri)
bprepsize < (MIN_PREP_BOOT/512))) {
msg_display(MSG_preptoosmall);
msg_display_add(MSG_reeditpart, 0);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
return 0;
return 1;
}
@@ -520,8 +517,7 @@ md_check_mbr(mbr_info_t *mbri)
if (pm->bootsize > 0 && pm->bootsize < (MIN_FAT12_BOOT/512)) {
msg_display(MSG_boottoosmall);
msg_display_add(MSG_reeditpart, 0);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
return 0;
return 1;
}
@@ -532,8 +528,7 @@ md_check_mbr(mbr_info_t *mbri)
bprepsize == 0 || bprepstart == 0)) {
msg_display(MSG_nobootpart);
msg_display_add(MSG_reeditpart, 0);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
return 0;
return 1;
}
Index: src/usr.sbin/sysinst/arch/prep/md.c
diff -u src/usr.sbin/sysinst/arch/prep/md.c:1.2 src/usr.sbin/sysinst/arch/prep/md.c:1.3
--- src/usr.sbin/sysinst/arch/prep/md.c:1.2 Sun Aug 3 16:09:40 2014
+++ src/usr.sbin/sysinst/arch/prep/md.c Sun May 10 10:14:03 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: md.c,v 1.2 2014/08/03 16:09:40 martin Exp $ */
+/* $NetBSD: md.c,v 1.3 2015/05/10 10:14:03 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -191,8 +191,7 @@ md_pre_update(void)
if (part->mbrp_size < (MIN_PREP_BOOT/512)) {
msg_display(MSG_preptoosmall);
msg_display_add(MSG_prepnobootpart, 0);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
return 0;
prep_nobootfix = 1;
}
@@ -233,16 +232,14 @@ md_check_mbr(mbr_info_t *mbri)
if (pm->bootsize < (MIN_PREP_BOOT/512)) {
msg_display(MSG_preptoosmall);
msg_display_add(MSG_reeditpart, 0);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
return 0;
return 1;
}
if (pm->bootstart == 0 || pm->bootsize == 0) {
msg_display(MSG_nopreppart);
msg_display_add(MSG_reeditpart, 0);
- process_menu(MENU_yesno, NULL);
- if (!yesno)
+ if (!ask_yesno(NULL))
return 0;
return 1;
}
Index: src/usr.sbin/sysinst/arch/x68k/md.c
diff -u src/usr.sbin/sysinst/arch/x68k/md.c:1.3 src/usr.sbin/sysinst/arch/x68k/md.c:1.4
--- src/usr.sbin/sysinst/arch/x68k/md.c:1.3 Fri Jan 2 19:43:14 2015
+++ src/usr.sbin/sysinst/arch/x68k/md.c Sun May 10 10:14:03 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: md.c,v 1.3 2015/01/02 19:43:14 abs Exp $ */
+/* $NetBSD: md.c,v 1.4 2015/05/10 10:14:03 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -176,8 +176,7 @@ md_check_partitions(void)
} else {
if (start >= pm->bsdlabel[part].pi_offset) {
msg_display(MSG_ordering, part+'a');
- process_menu(MENU_yesno, NULL);
- if (yesno)
+ if (ask_yesno(NULL))
return 0;
}
start = pm->bsdlabel[part].pi_offset;
@@ -200,8 +199,7 @@ md_check_partitions(void)
break;
if (memcmp(md_disklabel.dosparts[i].dp_typename, "Human68k", 8)) {
msg_display(MSG_existing);
- process_menu(MENU_noyes);
- preserve = yesno;
+ preserve = ask_noyes(NULL);
break;
}
}