summaryrefslogtreecommitdiffstats
path: root/src/core/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/main.c')
-rw-r--r--src/core/main.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/core/main.c b/src/core/main.c
index e0cac2226..35c7bb2c2 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -39,11 +39,6 @@ int url_port;
char as_main_program = 1;
-#ifdef IMAGE_FREEBSD
-int freebsd_howto = 0;
-char freebsd_kernel_env[FREEBSD_KERNEL_ENV_SIZE];
-#endif
-
#if 0
static inline unsigned long ask_boot(unsigned *index)
@@ -282,6 +277,16 @@ static int main_loop(int state)
if (dev->how_probe == PROBE_FAILED) {
state = -1;
}
+ if (state == 1) {
+ /* The bootp reply might have been changed, re-parse. */
+ decode_rfc1533(bootp_data.bootp_reply.bp_vend, 0,
+#ifdef NO_DHCP_SUPPORT
+ BOOTP_VENDOR_LEN + MAX_BOOTP_EXTLEN,
+#else
+ DHCP_OPT_LEN + MAX_BOOTP_EXTLEN,
+#endif /* NO_DHCP_SUPPORT */
+ 1);
+ }
}
}
switch(state) {