Mercurial > hg > dhcpcd
changeset 2193:5a75bc2628f5 draft
Now that we only use dhcpcd-definitions.conf, remove te static var union.
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Fri, 06 Dec 2013 17:47:52 +0000 |
| parents | 11e8ddedaf22 |
| children | e65989e20e61 |
| files | dhcp-common.c dhcp-common.h dhcp.c dhcp6.c if-options.c |
| diffstat | 5 files changed, 19 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/dhcp-common.c Thu Dec 05 00:40:03 2013 +0000 +++ b/dhcp-common.c Fri Dec 06 17:47:52 2013 +0000 @@ -63,7 +63,7 @@ continue; for (i = 0, opt = dopts; i < dopts_len; i++, opt++) { match = 0; - if (strcmp(opt->v.var, token) == 0) + if (strcmp(opt->var, token) == 0) match = 1; else { errno = 0; @@ -510,7 +510,7 @@ if (len < 0) return 0; if (vname) - e = strlen(opt->v.var) + 1; + e = strlen(opt->var) + 1; else e = 0; if (prefix) @@ -524,7 +524,7 @@ return 0; } if (vname) - v += snprintf(val, e, "%s_%s=", prefix, opt->v.var); + v += snprintf(val, e, "%s_%s=", prefix, opt->var); else v += snprintf(val, e, "%s=", prefix); if (len != 0) @@ -564,7 +564,7 @@ return 0; } } - e = strlen(prefix) + strlen(opt->v.var) + 2 + + e = strlen(prefix) + strlen(opt->var) + 2 + (opt->type & INDEX ? 3 : 0); pfx = malloc(e); if (pfx == NULL) { @@ -573,9 +573,9 @@ } if (opt->type & INDEX) snprintf(pfx, e, "%s_%s%d", prefix, - opt->v.var, ++opt->index); + opt->var, ++opt->index); else - snprintf(pfx, e, "%s_%s", prefix, opt->v.var); + snprintf(pfx, e, "%s_%s", prefix, opt->var); } else pfx = NULL; @@ -590,7 +590,7 @@ /* Use the option prefix if the embedded option * name is different. * This avoids new_fqdn_fqdn which would be silly. */ - ov = strcmp(opt->v.var, eopt->v.var); + ov = strcmp(opt->var, eopt->var); if (dhcp_envoption1(env == NULL ? NULL : &env[n], pfx, eopt, ov, od, e, ifname)) n++;
--- a/dhcp-common.h Thu Dec 05 00:40:03 2013 +0000 +++ b/dhcp-common.h Fri Dec 06 17:47:52 2013 +0000 @@ -65,14 +65,7 @@ uint16_t option; int type; int len; - - /* This union allows us to define a global static list of - * variable names which we don't free and a list of user defined - * options which we do free. */ - union { - char *dvar; - const char *var; - } v; + char *var; int index; /* Index counter for many instances of the same option */
--- a/dhcp.c Thu Dec 05 00:40:03 2013 +0000 +++ b/dhcp.c Fri Dec 06 17:47:52 2013 +0000 @@ -138,7 +138,7 @@ printf(" %s\n", *p); for (i = 0, opt = dhcp_opts; i < dhcp_opts_len; i++, opt++) - printf("%03d %s\n", opt->option, opt->v.var); + printf("%03d %s\n", opt->option, opt->var); } #ifdef DEBUG_MEMORY
--- a/dhcp6.c Thu Dec 05 00:40:03 2013 +0000 +++ b/dhcp6.c Fri Dec 06 17:47:52 2013 +0000 @@ -138,7 +138,7 @@ const struct dhcp_opt *opt; for (i = 0, opt = dhcp6_opts; i < dhcp6_opts_len; i++, opt++) - printf("%05d %s\n", opt->option, opt->v.var); + printf("%05d %s\n", opt->option, opt->var); } static int @@ -2085,7 +2085,7 @@ { syslog(LOG_WARNING, "%s: reject DHCPv6 (no option %s) from %s", - ifp->name, opt->v.var, sfrom); + ifp->name, opt->var, sfrom); return; } }
--- a/if-options.c Thu Dec 05 00:40:03 2013 +0000 +++ b/if-options.c Fri Dec 06 17:47:52 2013 +0000 @@ -488,17 +488,18 @@ free_dhcp_opt_embenc(struct dhcp_opt *opt) { size_t i; - - free(opt->v.dvar); + struct dhcp_opt *o; - for (i = 0; i < opt->embopts_len; i++) - free(opt->embopts[i].v.dvar); + free(opt->var); + + for (i = 0, o = opt->embopts; i < opt->embopts_len; i++, o++) + free(o->var); free(opt->embopts); opt->embopts_len = 0; opt->embopts = NULL; - for (i = 0; i < opt->encopts_len; i++) - free(opt->encopts[i].v.dvar); + for (i = 0, o = opt->encopts; i < opt->encopts_len; i++, o++) + free(o->var); free(opt->encopts); opt->encopts_len = 0; opt->encopts = NULL; @@ -1402,7 +1403,7 @@ ndop->option = i; /* could have been 0 */ ndop->type = t; ndop->len = l; - ndop->v.dvar = np; + ndop->var = np; /* Save the define for embed and encap options */ if (opt == O_DEFINE || opt == O_DEFINE6) ldop = ndop;
