options is a pretty common symbol, bad idea to use as a global in udhcp when compiling into busybox
No binary (build failed)
—
(log yok)
| @@ -90,9 +90,9 @@ static void add_requests(struct dhcpMessage *packet) | |
| int i, len = 0; | |
| packet->options[end + OPT_CODE] = DHCP_PARAM_REQ; | |
| - | for (i = 0; options[i].code; i++) |
| - | if (options[i].flags & OPTION_REQ) |
| - | packet->options[end + OPT_DATA + len++] = options[i].code; |
| + | for (i = 0; dhcp_options[i].code; i++) |
| + | if (dhcp_options[i].flags & OPTION_REQ) |
| + | packet->options[end + OPT_DATA + len++] = dhcp_options[i].code; |
| packet->options[end + OPT_LEN] = len; | |
| packet->options[end + OPT_DATA + len] = DHCP_END; | |
| @@ -82,7 +82,7 @@ static int read_opt(const char *const_line, void *arg) | |
| if ((opt = strtok(strcpy(line, const_line), " \t="))) { | |
| - | for (option = options; option->code; option++) |
| + | for (option = dhcp_options; option->code; option++) |
| if (!strcasecmp(option->name, opt)) | |
| break; | |
| @@ -13,7 +13,7 @@ | |
| /* supported options are easily added here */ | |
| - | struct dhcp_option options[] = { |
| + | struct dhcp_option dhcp_options[] = { |
| /* name[10] flags code */ | |
| {"subnet", OPTION_IP | OPTION_REQ, 0x01}, | |
| {"timezone", OPTION_S32, 0x02}, | |
| @@ -158,9 +158,9 @@ int add_simple_option(unsigned char *optionptr, unsigned char code, u_int32_t da | |
| u16 = (u_int16_t *) &aligned; | |
| u32 = &aligned; | |
| - | for (i = 0; options[i].code; i++) |
| - | if (options[i].code == code) { |
| - | length = option_lengths[options[i].flags & TYPE_MASK]; |
| + | for (i = 0; dhcp_options[i].code; i++) |
| + | if (dhcp_options[i].code == code) { |
| + | length = option_lengths[dhcp_options[i].flags & TYPE_MASK]; |
| } | |
| if (!length) { | |
| @@ -27,7 +27,7 @@ struct dhcp_option { | |
| unsigned char code; | |
| }; | |
| - | extern struct dhcp_option options[]; |
| + | extern struct dhcp_option dhcp_options[]; |
| extern int option_lengths[]; | |
| unsigned char *get_option(struct dhcpMessage *packet, int code); | |
| @@ -160,8 +160,8 @@ static char **fill_envp(struct dhcpMessage *packet) | |
| if (packet == NULL) | |
| num_options = 0; | |
| else { | |
| - | for (i = 0; options[i].code; i++) |
| - | if (get_option(packet, options[i].code)) |
| + | for (i = 0; dhcp_options[i].code; i++) |
| + | if (get_option(packet, dhcp_options[i].code)) |
| num_options++; | |
| if (packet->siaddr) num_options++; | |
| if ((temp = get_option(packet, DHCP_OPTION_OVER))) | |
| @@ -184,14 +184,15 @@ static char **fill_envp(struct dhcpMessage *packet) | |
| asprintip(&envp[j++], "ip=", (unsigned char *) &packet->yiaddr); | |
| - | for (i = 0; options[i].code; i++) { |
| - | if (!(temp = get_option(packet, options[i].code))) |
| + | for (i = 0; dhcp_options[i].code; i++) { |
| + | if (!(temp = get_option(packet, dhcp_options[i].code))) |
| continue; | |
| - | envp[j] = xmalloc(upper_length(temp[OPT_LEN - 2], options[i].flags & TYPE_MASK) + strlen(options[i].name) + 2); |
| - | fill_options(envp[j++], temp, &options[i]); |
| + | envp[j] = xmalloc(upper_length(temp[OPT_LEN - 2], |
| + | dhcp_options[i].flags & TYPE_MASK) + strlen(dhcp_options[i].name) + 2); |
| + | fill_options(envp[j++], temp, &dhcp_options[i]); |
| /* Fill in a subnet bits option for things like /24 */ | |
| - | if (options[i].code == DHCP_SUBNET) { |
| + | if (dhcp_options[i].code == DHCP_SUBNET) { |
| memcpy(&subnet, temp, 4); | |
| asprintf(&envp[j++], "mask=%d", mton(&subnet)); | |
| } | |