diff options
Diffstat (limited to 'src/core/main.c')
| -rw-r--r-- | src/core/main.c | 15 |
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) { |
