/*
* dnsutl - utilities to make DNS easier to configure
* Copyright (C) 1996, 1999, 2006, 2007 Peter Miller
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* <http://www.gnu.org/licenses/>.
*/
#include <ac/ctype.h>
#include <ac/string.h>
#include <mac.h>
#include <mem.h>
#include <srrf.h>
#include <srrf/private.h>
static void
a_check(srrf_t *rp)
{
string_ty *tmp;
tmp = mac_cannonicalize(rp->arg.string[0]);
if (tmp)
{
/*
* replace the address given with one
* in a canonical form.
*/
str_free(rp->arg.string[0]);
rp->arg.string[0] = tmp;
}
else
{
srrf_lex_error
(
"the string \"%s\" is not a legal Ethernet address",
rp->arg.string[0]->str_text
);
}
}
static srrf_type_ty type[] =
{
{"a", 1, a_check, 0, 0, 0, 0, 0,},
};
/*
* This symbol describes the class.
* It should be the only symbol exported from this file.
*/
srrf_class_ty srrf_class_ether =
{
"ether",
type,
SIZEOF(type)
};
syntax highlighted by Code2HTML, v. 0.9.1