summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--release/sysinstall/install.c10
-rw-r--r--release/sysinstall/media.c29
-rw-r--r--release/sysinstall/sysinstall.h2
-rw-r--r--release/sysinstall/tcpip.c28
-rw-r--r--usr.sbin/sade/install.c10
-rw-r--r--usr.sbin/sade/sade.h2
-rw-r--r--usr.sbin/sysinstall/install.c10
-rw-r--r--usr.sbin/sysinstall/media.c29
-rw-r--r--usr.sbin/sysinstall/sysinstall.h2
-rw-r--r--usr.sbin/sysinstall/tcpip.c28
10 files changed, 76 insertions, 74 deletions
diff --git a/release/sysinstall/install.c b/release/sysinstall/install.c
index 32b98e3..5b0fb13 100644
--- a/release/sysinstall/install.c
+++ b/release/sysinstall/install.c
@@ -499,12 +499,12 @@ installNovice(dialogMenuItem *self)
}
if (mediaDevice->type != DEVICE_TYPE_FTP && mediaDevice->type != DEVICE_TYPE_NFS) {
if (!msgYesNo("Would you like to configure any SLIP/PPP or network interface devices?")) {
- Device *save = mediaDevice;
+ Device *tmp;
- /* This will also set the media device, which we don't want */
- tcpDeviceSelect();
- /* so we restore our saved value below */
- mediaDevice = save;
+ tmp = tcpDeviceSelect();
+ if (tmp && !msgYesNo("Would you like to bring the %s interface up right now?", tmp->name))
+ if (!tmp->init(tmp))
+ msgConfirm("Initialization of %s device failed.", tmp->name);
dialog_clear_norefresh();
}
}
diff --git a/release/sysinstall/media.c b/release/sysinstall/media.c
index 8362b7b..09e272f 100644
--- a/release/sysinstall/media.c
+++ b/release/sysinstall/media.c
@@ -335,18 +335,16 @@ mediaSetFTP(dialogMenuItem *self)
"would you like to skip over it now?") != 0) {
if (networkDev)
networkDev->shutdown(networkDev);
- networkDev = NULL;
- if (!tcpDeviceSelect()) {
+ if (!(networkDev = tcpDeviceSelect())) {
variable_unset(VAR_FTP_PATH);
return DITEM_FAILURE | what;
}
- if (!mediaDevice || !mediaDevice->init(mediaDevice)) {
- if (isDebug())
- msgDebug("mediaSetFTP: Net device init failed.\n");
- variable_unset(VAR_FTP_PATH);
- return DITEM_FAILURE | what;
- }
- networkDev = mediaDevice;
+ }
+ if (!networkDev->init(networkDev)) {
+ if (isDebug())
+ msgDebug("mediaSetFTP: Net device init failed.\n");
+ variable_unset(VAR_FTP_PATH);
+ return DITEM_FAILURE | what;
}
hostname = cp + 6;
if ((cp = index(hostname, ':')) != NULL) {
@@ -448,15 +446,12 @@ mediaSetNFS(dialogMenuItem *self)
"would you like to skip over it now?") != 0) {
if (networkDev)
networkDev->shutdown(networkDev);
- networkDev = NULL;
- if (!tcpDeviceSelect())
- return DITEM_FAILURE;
- if (!mediaDevice || !mediaDevice->init(mediaDevice)) {
- if (isDebug())
- msgDebug("mediaSetNFS: Net device init failed\n");
+ if (!(networkDev = tcpDeviceSelect()))
return DITEM_FAILURE;
- }
- networkDev = mediaDevice;
+ }
+ if (!networkDev->init(networkDev)) {
+ if (isDebug())
+ msgDebug("mediaSetNFS: Net device init failed\n");
}
if (variable_get(VAR_NAMESERVER)) {
if ((gethostbyname(cp) == NULL) && (inet_addr(cp) == INADDR_NONE)) {
diff --git a/release/sysinstall/sysinstall.h b/release/sysinstall/sysinstall.h
index 087cc0d..2d5c5d5 100644
--- a/release/sysinstall/sysinstall.h
+++ b/release/sysinstall/sysinstall.h
@@ -666,7 +666,7 @@ extern void mediaShutdownTape(Device *dev);
/* tcpip.c */
extern int tcpOpenDialog(Device *dev);
extern int tcpMenuSelect(dialogMenuItem *self);
-extern Boolean tcpDeviceSelect(void);
+extern Device *tcpDeviceSelect(void);
/* termcap.c */
extern int set_termcap(void);
diff --git a/release/sysinstall/tcpip.c b/release/sysinstall/tcpip.c
index b993421..e605660 100644
--- a/release/sysinstall/tcpip.c
+++ b/release/sysinstall/tcpip.c
@@ -309,6 +309,8 @@ reenter:
return ret;
}
+static Device *NetDev;
+
static int
netHook(dialogMenuItem *self)
{
@@ -317,33 +319,31 @@ netHook(dialogMenuItem *self)
devs = deviceFindDescr(self->prompt, self->title, DEVICE_TYPE_NETWORK);
if (devs) {
if (DITEM_STATUS(tcpOpenDialog(devs[0])) != DITEM_FAILURE)
- mediaDevice = devs[0];
+ NetDev = devs[0];
else
- devs = NULL;
+ NetDev = NULL;
}
return devs ? DITEM_LEAVE_MENU : DITEM_FAILURE;
}
/* Get a network device */
-Boolean
+Device *
tcpDeviceSelect(void)
{
DMenu *menu;
- Device **devs;
+ Device **devs, *rval;
int cnt;
- int status;
devs = deviceFind(NULL, DEVICE_TYPE_NETWORK);
cnt = deviceCount(devs);
if (!cnt) {
msgConfirm("No network devices available!");
- status = FALSE;
+ rval = NULL;
}
else if (cnt == 1) {
if (DITEM_STATUS(tcpOpenDialog(devs[0]) == DITEM_FAILURE))
- return FALSE;
- mediaDevice = devs[0];
- status = TRUE;
+ return NULL;
+ rval = devs[0];
}
else {
menu = deviceCreateMenu(&MenuNetworkDevice, DEVICE_TYPE_NETWORK, netHook, NULL);
@@ -351,14 +351,20 @@ tcpDeviceSelect(void)
msgFatal("Unable to create network device menu! Argh!");
status = dmenuOpenSimple(menu, FALSE);
free(menu);
+ rval = NetDev;
}
- return status;
+ return rval;
}
/* Do it from a menu that doesn't care about status */
int
tcpMenuSelect(dialogMenuItem *self)
{
- (void)tcpDeviceSelect();
+ Device *tmp;
+
+ tmp = tcpDeviceSelect();
+ if (tmp && !msgYesNo("Would you like to bring the %s interface up right now?", tmp->name))
+ if (!tmp->init(tmp))
+ msgConfirm("Initialization of %s device failed.", tmp->name);
return DITEM_SUCCESS | DITEM_RESTORE;
}
diff --git a/usr.sbin/sade/install.c b/usr.sbin/sade/install.c
index 32b98e3..5b0fb13 100644
--- a/usr.sbin/sade/install.c
+++ b/usr.sbin/sade/install.c
@@ -499,12 +499,12 @@ installNovice(dialogMenuItem *self)
}
if (mediaDevice->type != DEVICE_TYPE_FTP && mediaDevice->type != DEVICE_TYPE_NFS) {
if (!msgYesNo("Would you like to configure any SLIP/PPP or network interface devices?")) {
- Device *save = mediaDevice;
+ Device *tmp;
- /* This will also set the media device, which we don't want */
- tcpDeviceSelect();
- /* so we restore our saved value below */
- mediaDevice = save;
+ tmp = tcpDeviceSelect();
+ if (tmp && !msgYesNo("Would you like to bring the %s interface up right now?", tmp->name))
+ if (!tmp->init(tmp))
+ msgConfirm("Initialization of %s device failed.", tmp->name);
dialog_clear_norefresh();
}
}
diff --git a/usr.sbin/sade/sade.h b/usr.sbin/sade/sade.h
index 087cc0d..2d5c5d5 100644
--- a/usr.sbin/sade/sade.h
+++ b/usr.sbin/sade/sade.h
@@ -666,7 +666,7 @@ extern void mediaShutdownTape(Device *dev);
/* tcpip.c */
extern int tcpOpenDialog(Device *dev);
extern int tcpMenuSelect(dialogMenuItem *self);
-extern Boolean tcpDeviceSelect(void);
+extern Device *tcpDeviceSelect(void);
/* termcap.c */
extern int set_termcap(void);
diff --git a/usr.sbin/sysinstall/install.c b/usr.sbin/sysinstall/install.c
index 32b98e3..5b0fb13 100644
--- a/usr.sbin/sysinstall/install.c
+++ b/usr.sbin/sysinstall/install.c
@@ -499,12 +499,12 @@ installNovice(dialogMenuItem *self)
}
if (mediaDevice->type != DEVICE_TYPE_FTP && mediaDevice->type != DEVICE_TYPE_NFS) {
if (!msgYesNo("Would you like to configure any SLIP/PPP or network interface devices?")) {
- Device *save = mediaDevice;
+ Device *tmp;
- /* This will also set the media device, which we don't want */
- tcpDeviceSelect();
- /* so we restore our saved value below */
- mediaDevice = save;
+ tmp = tcpDeviceSelect();
+ if (tmp && !msgYesNo("Would you like to bring the %s interface up right now?", tmp->name))
+ if (!tmp->init(tmp))
+ msgConfirm("Initialization of %s device failed.", tmp->name);
dialog_clear_norefresh();
}
}
diff --git a/usr.sbin/sysinstall/media.c b/usr.sbin/sysinstall/media.c
index 8362b7b..09e272f 100644
--- a/usr.sbin/sysinstall/media.c
+++ b/usr.sbin/sysinstall/media.c
@@ -335,18 +335,16 @@ mediaSetFTP(dialogMenuItem *self)
"would you like to skip over it now?") != 0) {
if (networkDev)
networkDev->shutdown(networkDev);
- networkDev = NULL;
- if (!tcpDeviceSelect()) {
+ if (!(networkDev = tcpDeviceSelect())) {
variable_unset(VAR_FTP_PATH);
return DITEM_FAILURE | what;
}
- if (!mediaDevice || !mediaDevice->init(mediaDevice)) {
- if (isDebug())
- msgDebug("mediaSetFTP: Net device init failed.\n");
- variable_unset(VAR_FTP_PATH);
- return DITEM_FAILURE | what;
- }
- networkDev = mediaDevice;
+ }
+ if (!networkDev->init(networkDev)) {
+ if (isDebug())
+ msgDebug("mediaSetFTP: Net device init failed.\n");
+ variable_unset(VAR_FTP_PATH);
+ return DITEM_FAILURE | what;
}
hostname = cp + 6;
if ((cp = index(hostname, ':')) != NULL) {
@@ -448,15 +446,12 @@ mediaSetNFS(dialogMenuItem *self)
"would you like to skip over it now?") != 0) {
if (networkDev)
networkDev->shutdown(networkDev);
- networkDev = NULL;
- if (!tcpDeviceSelect())
- return DITEM_FAILURE;
- if (!mediaDevice || !mediaDevice->init(mediaDevice)) {
- if (isDebug())
- msgDebug("mediaSetNFS: Net device init failed\n");
+ if (!(networkDev = tcpDeviceSelect()))
return DITEM_FAILURE;
- }
- networkDev = mediaDevice;
+ }
+ if (!networkDev->init(networkDev)) {
+ if (isDebug())
+ msgDebug("mediaSetNFS: Net device init failed\n");
}
if (variable_get(VAR_NAMESERVER)) {
if ((gethostbyname(cp) == NULL) && (inet_addr(cp) == INADDR_NONE)) {
diff --git a/usr.sbin/sysinstall/sysinstall.h b/usr.sbin/sysinstall/sysinstall.h
index 087cc0d..2d5c5d5 100644
--- a/usr.sbin/sysinstall/sysinstall.h
+++ b/usr.sbin/sysinstall/sysinstall.h
@@ -666,7 +666,7 @@ extern void mediaShutdownTape(Device *dev);
/* tcpip.c */
extern int tcpOpenDialog(Device *dev);
extern int tcpMenuSelect(dialogMenuItem *self);
-extern Boolean tcpDeviceSelect(void);
+extern Device *tcpDeviceSelect(void);
/* termcap.c */
extern int set_termcap(void);
diff --git a/usr.sbin/sysinstall/tcpip.c b/usr.sbin/sysinstall/tcpip.c
index b993421..e605660 100644
--- a/usr.sbin/sysinstall/tcpip.c
+++ b/usr.sbin/sysinstall/tcpip.c
@@ -309,6 +309,8 @@ reenter:
return ret;
}
+static Device *NetDev;
+
static int
netHook(dialogMenuItem *self)
{
@@ -317,33 +319,31 @@ netHook(dialogMenuItem *self)
devs = deviceFindDescr(self->prompt, self->title, DEVICE_TYPE_NETWORK);
if (devs) {
if (DITEM_STATUS(tcpOpenDialog(devs[0])) != DITEM_FAILURE)
- mediaDevice = devs[0];
+ NetDev = devs[0];
else
- devs = NULL;
+ NetDev = NULL;
}
return devs ? DITEM_LEAVE_MENU : DITEM_FAILURE;
}
/* Get a network device */
-Boolean
+Device *
tcpDeviceSelect(void)
{
DMenu *menu;
- Device **devs;
+ Device **devs, *rval;
int cnt;
- int status;
devs = deviceFind(NULL, DEVICE_TYPE_NETWORK);
cnt = deviceCount(devs);
if (!cnt) {
msgConfirm("No network devices available!");
- status = FALSE;
+ rval = NULL;
}
else if (cnt == 1) {
if (DITEM_STATUS(tcpOpenDialog(devs[0]) == DITEM_FAILURE))
- return FALSE;
- mediaDevice = devs[0];
- status = TRUE;
+ return NULL;
+ rval = devs[0];
}
else {
menu = deviceCreateMenu(&MenuNetworkDevice, DEVICE_TYPE_NETWORK, netHook, NULL);
@@ -351,14 +351,20 @@ tcpDeviceSelect(void)
msgFatal("Unable to create network device menu! Argh!");
status = dmenuOpenSimple(menu, FALSE);
free(menu);
+ rval = NetDev;
}
- return status;
+ return rval;
}
/* Do it from a menu that doesn't care about status */
int
tcpMenuSelect(dialogMenuItem *self)
{
- (void)tcpDeviceSelect();
+ Device *tmp;
+
+ tmp = tcpDeviceSelect();
+ if (tmp && !msgYesNo("Would you like to bring the %s interface up right now?", tmp->name))
+ if (!tmp->init(tmp))
+ msgConfirm("Initialization of %s device failed.", tmp->name);
return DITEM_SUCCESS | DITEM_RESTORE;
}
OpenPOWER on IntegriCloud