-/* $OpenBSD: src/sbin/dhclient/clparse.c,v 1.37 2011/04/04 11:14:52 krw Exp $ */
+/* $OpenBSD: src/sbin/dhclient/clparse.c,v 1.38 2011/12/10 17:15:27 krw Exp $ */
/* Parser for dhclient config and lease files... */
read_client_conf(void)
{
FILE *cfile;
- char *val;
int token;
new_parse(path_dhclient_conf);
if ((cfile = fopen(path_dhclient_conf, "r")) != NULL) {
do {
- token = peek_token(&val, cfile);
+ token = peek_token(NULL, cfile);
if (token == EOF)
break;
parse_client_statement(cfile);
} while (1);
- token = next_token(&val, cfile); /* Clear the peek buffer */
+ token = next_token(NULL, cfile); /* Clear the peek buffer */
fclose(cfile);
}
read_client_leases(void)
{
FILE *cfile;
- char *val;
int token;
new_parse(path_dhclient_db);
if ((cfile = fopen(path_dhclient_db, "r")) == NULL)
return;
do {
- token = next_token(&val, cfile);
+ token = next_token(NULL, cfile);
if (token == EOF)
break;
if (token != TOK_LEASE) {
void
parse_client_statement(FILE *cfile)
{
- char *val;
int token, code;
- switch (next_token(&val, cfile)) {
+ switch (next_token(NULL, cfile)) {
case TOK_SEND:
parse_option_decl(cfile, &config->send_options[0]);
return;
skip_to_semi(cfile);
break;
}
- token = next_token(&val, cfile);
+ token = next_token(NULL, cfile);
if (token != ';') {
parse_warn("semicolon expected.");
skip_to_semi(cfile);
{
struct client_lease *lease, *lp, *pl;
int token;
- char *val;
- token = next_token(&val, cfile);
+ token = next_token(NULL, cfile);
if (token != '{') {
parse_warn("expecting left brace.");
skip_to_semi(cfile);
lease->is_static = is_static;
do {
- token = peek_token(&val, cfile);
+ token = peek_token(NULL, cfile);
if (token == EOF) {
parse_warn("unterminated lease declaration.");
return;
break;
parse_client_lease_declaration(cfile, lease);
} while (1);
- token = next_token(&val, cfile);
+ token = next_token(NULL, cfile);
/* If the lease declaration didn't include an interface
* declaration that we recognized, it's of no use to us.
{
struct iaddrlist *list;
struct iaddr addr;
- char *val;
int token;
do {
list->next = config->reject_list;
config->reject_list = list;
- token = next_token(&val, cfile);
+ token = next_token(NULL, cfile);
} while (token == ',');
if (token != ';') {
-/* $OpenBSD: src/sbin/dhclient/parse.c,v 1.19 2010/06/26 21:14:10 krw Exp $ */
+/* $OpenBSD: src/sbin/dhclient/parse.c,v 1.20 2011/12/10 17:15:27 krw Exp $ */
/* Common parser code for dhcpd and dhclient. */
skip_to_semi(FILE *cfile)
{
int token;
- char *val;
int brace_count = 0;
do {
- token = peek_token(&val, cfile);
+ token = peek_token(NULL, cfile);
if (token == '}') {
if (brace_count) {
- token = next_token(&val, cfile);
+ token = next_token(NULL, cfile);
if (!--brace_count)
return;
} else
} else if (token == '{') {
brace_count++;
} else if (token == ';' && !brace_count) {
- token = next_token(&val, cfile);
+ token = next_token(NULL, cfile);
return;
} else if (token == '\n') {
/*
* semicolon because the resolv.conf file is
* line-oriented.
*/
- token = next_token(&val, cfile);
+ token = next_token(NULL, cfile);
return;
}
- token = next_token(&val, cfile);
+ token = next_token(NULL, cfile);
} while (token != EOF);
}
parse_semi(FILE *cfile)
{
int token;
- char *val;
- token = next_token(&val, cfile);
+ token = next_token(NULL, cfile);
if (token != ';') {
parse_warn("semicolon expected.");
skip_to_semi(cfile);
parse_hardware_param(FILE *cfile, struct hardware *hardware)
{
int token;
- char *val;
- token = next_token(&val, cfile);
+ token = next_token(NULL, cfile);
switch (token) {
case TOK_ETHERNET:
hardware->htype = HTYPE_ETHER;
':', 16) == 0)
return;
- token = next_token(&val, cfile);
+ token = next_token(NULL, cfile);
if (token != ';') {
parse_warn("expecting semicolon.");
skip_to_semi(cfile);