long tmp;
long m;
long cm;
- long poweroften[8] = { 1, 10, 100, 1000,
+ long poweroften[8] = { 1, 10, 100, 1000,
10000, 100000, 1000000, 10000000 };
int man;
int exp;
*/
m1 = s1 = 0;
m2 = s2 = 0;
- size = 0x12; /* 1.00m */
- hp = 0x16; /* 10000.00 m */
- vp = 0x13; /* 10.00 m */
+ size = 0x12; /* 1.00m */
+ hp = 0x16; /* 10000.00 m */
+ vp = 0x13; /* 10.00 m */
version = 0;
/*
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_number,
false));
- if (token.value.as_ulong > 90U)
+ if (token.value.as_ulong > 90U) {
RETTOK(ISC_R_RANGE);
+ }
d1 = (int)token.value.as_ulong;
/*
* Minutes.
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- if (strcasecmp(DNS_AS_STR(token), "N") == 0)
+ if (strcasecmp(DNS_AS_STR(token), "N") == 0) {
north = true;
- if (north || strcasecmp(DNS_AS_STR(token), "S") == 0)
+ }
+ if (north || strcasecmp(DNS_AS_STR(token), "S") == 0) {
goto getlong;
+ }
m1 = strtol(DNS_AS_STR(token), &e, 10);
- if (*e != 0)
+ if (*e != 0) {
RETTOK(DNS_R_SYNTAX);
- if (m1 < 0 || m1 > 59)
+ }
+ if (m1 < 0 || m1 > 59) {
RETTOK(ISC_R_RANGE);
- if (d1 == 90 && m1 != 0)
+ }
+ if (d1 == 90 && m1 != 0) {
RETTOK(ISC_R_RANGE);
+ }
/*
* Seconds.
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- if (strcasecmp(DNS_AS_STR(token), "N") == 0)
+ if (strcasecmp(DNS_AS_STR(token), "N") == 0) {
north = true;
- if (north || strcasecmp(DNS_AS_STR(token), "S") == 0)
+ }
+ if (north || strcasecmp(DNS_AS_STR(token), "S") == 0) {
goto getlong;
+ }
s1 = strtol(DNS_AS_STR(token), &e, 10);
- if (*e != 0 && *e != '.')
+ if (*e != 0 && *e != '.') {
RETTOK(DNS_R_SYNTAX);
- if (s1 < 0 || s1 > 59)
+ }
+ if (s1 < 0 || s1 > 59) {
RETTOK(ISC_R_RANGE);
+ }
if (*e == '.') {
const char *l;
e++;
for (i = 0; i < 3; i++) {
- if (*e == 0)
+ if (*e == 0) {
break;
- if ((tmp = decvalue(*e++)) < 0)
+ }
+ if ((tmp = decvalue(*e++)) < 0) {
RETTOK(DNS_R_SYNTAX);
+ }
s1 *= 10;
s1 += tmp;
}
s1 *= 10;
l = e;
while (*e != 0) {
- if (decvalue(*e++) < 0)
+ if (decvalue(*e++) < 0) {
RETTOK(DNS_R_SYNTAX);
+ }
}
if (*l != '\0' && callbacks != NULL) {
const char *file = isc_lex_getsourcename(lexer);
unsigned long line = isc_lex_getsourceline(lexer);
- if (file == NULL)
+ if (file == NULL) {
file = "UNKNOWN";
- (*callbacks->warn)(callbacks, "%s: %s:%u: '%s' extra "
+ }
+ (*callbacks->warn)(callbacks,
+ "%s: %s:%u: '%s' extra "
"precision digits ignored",
"dns_rdata_fromtext", file, line,
DNS_AS_STR(token));
}
- } else
+ } else {
s1 *= 1000;
- if (d1 == 90 && s1 != 0)
+ }
+ if (d1 == 90 && s1 != 0) {
RETTOK(ISC_R_RANGE);
+ }
/*
* Direction.
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- if (strcasecmp(DNS_AS_STR(token), "N") == 0)
+ if (strcasecmp(DNS_AS_STR(token), "N") == 0) {
north = true;
- if (!north && strcasecmp(DNS_AS_STR(token), "S") != 0)
+ }
+ if (!north && strcasecmp(DNS_AS_STR(token), "S") != 0) {
RETTOK(DNS_R_SYNTAX);
+ }
- getlong:
+getlong:
/*
* Degrees.
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_number,
false));
- if (token.value.as_ulong > 180U)
+ if (token.value.as_ulong > 180U) {
RETTOK(ISC_R_RANGE);
+ }
d2 = (int)token.value.as_ulong;
/*
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- if (strcasecmp(DNS_AS_STR(token), "E") == 0)
+ if (strcasecmp(DNS_AS_STR(token), "E") == 0) {
east = true;
- if (east || strcasecmp(DNS_AS_STR(token), "W") == 0)
+ }
+ if (east || strcasecmp(DNS_AS_STR(token), "W") == 0) {
goto getalt;
+ }
m2 = strtol(DNS_AS_STR(token), &e, 10);
- if (*e != 0)
+ if (*e != 0) {
RETTOK(DNS_R_SYNTAX);
- if (m2 < 0 || m2 > 59)
+ }
+ if (m2 < 0 || m2 > 59) {
RETTOK(ISC_R_RANGE);
- if (d2 == 180 && m2 != 0)
+ }
+ if (d2 == 180 && m2 != 0) {
RETTOK(ISC_R_RANGE);
+ }
/*
* Seconds.
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- if (strcasecmp(DNS_AS_STR(token), "E") == 0)
+ if (strcasecmp(DNS_AS_STR(token), "E") == 0) {
east = true;
- if (east || strcasecmp(DNS_AS_STR(token), "W") == 0)
+ }
+ if (east || strcasecmp(DNS_AS_STR(token), "W") == 0) {
goto getalt;
+ }
s2 = strtol(DNS_AS_STR(token), &e, 10);
- if (*e != 0 && *e != '.')
+ if (*e != 0 && *e != '.') {
RETTOK(DNS_R_SYNTAX);
- if (s2 < 0 || s2 > 59)
+ }
+ if (s2 < 0 || s2 > 59) {
RETTOK(ISC_R_RANGE);
+ }
if (*e == '.') {
const char *l;
e++;
for (i = 0; i < 3; i++) {
- if (*e == 0)
+ if (*e == 0) {
break;
- if ((tmp = decvalue(*e++)) < 0)
+ }
+ if ((tmp = decvalue(*e++)) < 0) {
RETTOK(DNS_R_SYNTAX);
+ }
s2 *= 10;
s2 += tmp;
}
s2 *= 10;
l = e;
while (*e != 0) {
- if (decvalue(*e++) < 0)
+ if (decvalue(*e++) < 0) {
RETTOK(DNS_R_SYNTAX);
+ }
}
if (*l != '\0' && callbacks != NULL) {
const char *file = isc_lex_getsourcename(lexer);
unsigned long line = isc_lex_getsourceline(lexer);
- if (file == NULL)
+ if (file == NULL) {
file = "UNKNOWN";
- (*callbacks->warn)(callbacks, "%s: %s:%u: '%s' extra "
+ }
+ (*callbacks->warn)(callbacks,
+ "%s: %s:%u: '%s' extra "
"precision digits ignored",
- "dns_rdata_fromtext",
- file, line, DNS_AS_STR(token));
+ "dns_rdata_fromtext", file, line,
+ DNS_AS_STR(token));
}
- } else
+ } else {
s2 *= 1000;
- if (d2 == 180 && s2 != 0)
+ }
+ if (d2 == 180 && s2 != 0) {
RETTOK(ISC_R_RANGE);
+ }
/*
* Direction.
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- if (strcasecmp(DNS_AS_STR(token), "E") == 0)
+ if (strcasecmp(DNS_AS_STR(token), "E") == 0) {
east = true;
- if (!east && strcasecmp(DNS_AS_STR(token), "W") != 0)
+ }
+ if (!east && strcasecmp(DNS_AS_STR(token), "W") != 0) {
RETTOK(DNS_R_SYNTAX);
+ }
- getalt:
+getalt:
/*
* Altitude.
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
m = strtol(DNS_AS_STR(token), &e, 10);
- if (*e != 0 && *e != '.' && *e != 'm')
+ if (*e != 0 && *e != '.' && *e != 'm') {
RETTOK(DNS_R_SYNTAX);
- if (m < -100000 || m > 42849672)
+ }
+ if (m < -100000 || m > 42849672) {
RETTOK(ISC_R_RANGE);
+ }
cm = 0;
if (*e == '.') {
e++;
for (i = 0; i < 2; i++) {
- if (*e == 0 || *e == 'm')
+ if (*e == 0 || *e == 'm') {
break;
- if ((tmp = decvalue(*e++)) < 0)
+ }
+ if ((tmp = decvalue(*e++)) < 0) {
return (DNS_R_SYNTAX);
+ }
cm *= 10;
- if (m < 0)
+ if (m < 0) {
cm -= tmp;
- else
+ } else {
cm += tmp;
+ }
}
for (; i < 2; i++)
cm *= 10;
}
- if (*e == 'm')
+ if (*e == 'm') {
e++;
- if (*e != 0)
+ }
+ if (*e != 0) {
RETTOK(DNS_R_SYNTAX);
- if (m == -100000 && cm != 0)
+ }
+ if (m == -100000 && cm != 0) {
RETTOK(ISC_R_RANGE);
- if (m == 42849672 && cm > 95)
+ }
+ if (m == 42849672 && cm > 95) {
RETTOK(ISC_R_RANGE);
+ }
/*
* Adjust base.
*/
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
true));
- if (token.type == isc_tokentype_eol ||
- token.type == isc_tokentype_eof) {
+ if (token.type == isc_tokentype_eol || token.type == isc_tokentype_eof)
+ {
isc_lex_ungettoken(lexer, &token);
goto encode;
}
m = strtol(DNS_AS_STR(token), &e, 10);
- if (*e != 0 && *e != '.' && *e != 'm')
+ if (*e != 0 && *e != '.' && *e != 'm') {
RETTOK(DNS_R_SYNTAX);
- if (m < 0 || m > 90000000)
+ }
+ if (m < 0 || m > 90000000) {
RETTOK(ISC_R_RANGE);
+ }
cm = 0;
if (*e == '.') {
e++;
for (i = 0; i < 2; i++) {
- if (*e == 0 || *e == 'm')
+ if (*e == 0 || *e == 'm') {
break;
- if ((tmp = decvalue(*e++)) < 0)
+ }
+ if ((tmp = decvalue(*e++)) < 0) {
RETTOK(DNS_R_SYNTAX);
+ }
cm *= 10;
cm += tmp;
}
for (; i < 2; i++)
cm *= 10;
}
- if (*e == 'm')
+ if (*e == 'm') {
e++;
- if (*e != 0)
+ }
+ if (*e != 0) {
RETTOK(DNS_R_SYNTAX);
+ }
/*
* We don't just multiply out as we will overflow.
*/
if (m > 0) {
- for (exp = 0; exp < 7; exp++)
- if (m < poweroften[exp+1])
+ for (exp = 0; exp < 7; exp++) {
+ if (m < poweroften[exp + 1]) {
break;
+ }
+ }
man = m / poweroften[exp];
exp += 2;
} else {
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
true));
- if (token.type == isc_tokentype_eol ||
- token.type == isc_tokentype_eof) {
+ if (token.type == isc_tokentype_eol || token.type == isc_tokentype_eof)
+ {
isc_lex_ungettoken(lexer, &token);
goto encode;
}
m = strtol(DNS_AS_STR(token), &e, 10);
- if (*e != 0 && *e != '.' && *e != 'm')
+ if (*e != 0 && *e != '.' && *e != 'm') {
RETTOK(DNS_R_SYNTAX);
- if (m < 0 || m > 90000000)
+ }
+ if (m < 0 || m > 90000000) {
RETTOK(ISC_R_RANGE);
+ }
cm = 0;
if (*e == '.') {
e++;
for (i = 0; i < 2; i++) {
- if (*e == 0 || *e == 'm')
+ if (*e == 0 || *e == 'm') {
break;
- if ((tmp = decvalue(*e++)) < 0)
+ }
+ if ((tmp = decvalue(*e++)) < 0) {
RETTOK(DNS_R_SYNTAX);
+ }
cm *= 10;
cm += tmp;
}
for (; i < 2; i++)
cm *= 10;
}
- if (*e == 'm')
+ if (*e == 'm') {
e++;
- if (*e != 0)
+ }
+ if (*e != 0) {
RETTOK(DNS_R_SYNTAX);
+ }
/*
* We don't just multiply out as we will overflow.
*/
if (m > 0) {
- for (exp = 0; exp < 7; exp++)
- if (m < poweroften[exp+1])
+ for (exp = 0; exp < 7; exp++) {
+ if (m < poweroften[exp + 1]) {
break;
+ }
+ }
man = m / poweroften[exp];
exp += 2;
} else if (cm >= 10) {
man = cm / 10;
exp = 1;
- } else {
+ } else {
man = cm;
exp = 0;
}
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
true));
- if (token.type == isc_tokentype_eol ||
- token.type == isc_tokentype_eof) {
+ if (token.type == isc_tokentype_eol || token.type == isc_tokentype_eof)
+ {
isc_lex_ungettoken(lexer, &token);
goto encode;
}
m = strtol(DNS_AS_STR(token), &e, 10);
- if (*e != 0 && *e != '.' && *e != 'm')
+ if (*e != 0 && *e != '.' && *e != 'm') {
RETTOK(DNS_R_SYNTAX);
- if (m < 0 || m > 90000000)
+ }
+ if (m < 0 || m > 90000000) {
RETTOK(ISC_R_RANGE);
+ }
cm = 0;
if (*e == '.') {
e++;
for (i = 0; i < 2; i++) {
- if (*e == 0 || *e == 'm')
+ if (*e == 0 || *e == 'm') {
break;
- if ((tmp = decvalue(*e++)) < 0)
+ }
+ if ((tmp = decvalue(*e++)) < 0) {
RETTOK(DNS_R_SYNTAX);
+ }
cm *= 10;
cm += tmp;
}
for (; i < 2; i++)
cm *= 10;
}
- if (*e == 'm')
+ if (*e == 'm') {
e++;
- if (*e != 0)
+ }
+ if (*e != 0) {
RETTOK(DNS_R_SYNTAX);
+ }
/*
* We don't just multiply out as we will overflow.
*/
if (m > 0) {
- for (exp = 0; exp < 7; exp++)
- if (m < poweroften[exp+1])
+ for (exp = 0; exp < 7; exp++) {
+ if (m < poweroften[exp + 1]) {
break;
+ }
+ }
man = m / poweroften[exp];
exp += 2;
} else if (cm >= 10) {
}
vp = (man << 4) + exp;
- encode:
+encode:
RETERR(mem_tobuffer(target, &version, 1));
RETERR(mem_tobuffer(target, &size, 1));
RETERR(mem_tobuffer(target, &hp, 1));
RETERR(mem_tobuffer(target, &vp, 1));
- if (north)
- latitude = 0x80000000 + ( d1 * 3600 + m1 * 60 ) * 1000 + s1;
- else
- latitude = 0x80000000 - ( d1 * 3600 + m1 * 60 ) * 1000 - s1;
+ if (north) {
+ latitude = 0x80000000 + (d1 * 3600 + m1 * 60) * 1000 + s1;
+ } else {
+ latitude = 0x80000000 - (d1 * 3600 + m1 * 60) * 1000 - s1;
+ }
RETERR(uint32_tobuffer(latitude, target));
- if (east)
- longitude = 0x80000000 + ( d2 * 3600 + m2 * 60 ) * 1000 + s2;
- else
- longitude = 0x80000000 - ( d2 * 3600 + m2 * 60 ) * 1000 - s2;
+ if (east) {
+ longitude = 0x80000000 + (d2 * 3600 + m2 * 60) * 1000 + s2;
+ } else {
+ longitude = 0x80000000 - (d2 * 3600 + m2 * 60) * 1000 - s2;
+ }
RETERR(uint32_tobuffer(longitude, target));
return (uint32_tobuffer(altitude, target));
char vbuf[sizeof("90000000m")];
/* "89 59 59.999 N 179 59 59.999 E " */
/* "-42849672.95m 90000000m 90000000m 90000000m"; */
- char buf[8*6 + 12*1 + 2*10 + sizeof(sbuf)+sizeof(hbuf)+sizeof(vbuf)];
+ char buf[8 * 6 + 12 * 1 + 2 * 10 + sizeof(sbuf) + sizeof(hbuf) +
+ sizeof(vbuf)];
unsigned char size, hp, vp;
- unsigned long poweroften[8] = { 1, 10, 100, 1000,
+ unsigned long poweroften[8] = { 1, 10, 100, 1000,
10000, 100000, 1000000, 10000000 };
UNUSED(tctx);
dns_rdata_toregion(rdata, &sr);
- if (sr.base[0] != 0)
+ if (sr.base[0] != 0) {
return (ISC_R_NOTIMPLEMENTED);
+ }
REQUIRE(rdata->length == 16);
size = sr.base[1];
- INSIST((size&0x0f) < 10 && (size>>4) < 10);
- if ((size&0x0f)> 1) {
- snprintf(sbuf, sizeof(sbuf),
- "%lum", (size>>4) * poweroften[(size&0x0f)-2]);
+ INSIST((size & 0x0f) < 10 && (size >> 4) < 10);
+ if ((size & 0x0f) > 1) {
+ snprintf(sbuf, sizeof(sbuf), "%lum",
+ (size >> 4) * poweroften[(size & 0x0f) - 2]);
} else {
- snprintf(sbuf, sizeof(sbuf),
- "0.%02lum", (size>>4) * poweroften[(size&0x0f)]);
+ snprintf(sbuf, sizeof(sbuf), "0.%02lum",
+ (size >> 4) * poweroften[(size & 0x0f)]);
}
hp = sr.base[2];
- INSIST((hp&0x0f) < 10 && (hp>>4) < 10);
- if ((hp&0x0f)> 1) {
- snprintf(hbuf, sizeof(hbuf),
- "%lum", (hp>>4) * poweroften[(hp&0x0f)-2]);
+ INSIST((hp & 0x0f) < 10 && (hp >> 4) < 10);
+ if ((hp & 0x0f) > 1) {
+ snprintf(hbuf, sizeof(hbuf), "%lum",
+ (hp >> 4) * poweroften[(hp & 0x0f) - 2]);
} else {
- snprintf(hbuf, sizeof(hbuf),
- "0.%02lum", (hp>>4) * poweroften[(hp&0x0f)]);
+ snprintf(hbuf, sizeof(hbuf), "0.%02lum",
+ (hp >> 4) * poweroften[(hp & 0x0f)]);
}
vp = sr.base[3];
- INSIST((vp&0x0f) < 10 && (vp>>4) < 10);
- if ((vp&0x0f)> 1) {
- snprintf(vbuf, sizeof(vbuf),
- "%lum", (vp>>4) * poweroften[(vp&0x0f)-2]);
+ INSIST((vp & 0x0f) < 10 && (vp >> 4) < 10);
+ if ((vp & 0x0f) > 1) {
+ snprintf(vbuf, sizeof(vbuf), "%lum",
+ (vp >> 4) * poweroften[(vp & 0x0f) - 2]);
} else {
- snprintf(vbuf, sizeof(vbuf),
- "0.%02lum", (vp>>4) * poweroften[(vp&0x0f)]);
+ snprintf(vbuf, sizeof(vbuf), "0.%02lum",
+ (vp >> 4) * poweroften[(vp & 0x0f)]);
}
isc_region_consume(&sr, 4);
below = true;
altitude = 10000000 - altitude;
} else {
- below =false;
+ below = false;
altitude -= 10000000;
}
snprintf(buf, sizeof(buf),
- "%d %d %d.%03d %s %d %d %d.%03d %s %s%lu.%02lum %s %s %s",
- d1, m1, s1, fs1, north ? "N" : "S",
- d2, m2, s2, fs2, east ? "E" : "W",
- below ? "-" : "", altitude/100, altitude % 100,
- sbuf, hbuf, vbuf);
+ "%d %d %d.%03d %s %d %d %d.%03d %s %s%lu.%02lum %s %s %s", d1,
+ m1, s1, fs1, north ? "N" : "S", d2, m2, s2, fs2,
+ east ? "E" : "W", below ? "-" : "", altitude / 100,
+ altitude % 100, sbuf, hbuf, vbuf);
return (str_totext(buf, target));
}
dns_rdatatype_key, sizeof(dns_rdata_key_t));
}
+/*
+ * LOC tests.
+ */
+static void
+loc(void **state) {
+ text_ok_t text_ok[] = {
+ TEXT_VALID_CHANGED("0 N 0 E 0", "0 0 0.000 N 0 0 0.000 E 0.00m "
+ "1m 10000m 10m"),
+ TEXT_VALID_CHANGED("0 S 0 W 0", "0 0 0.000 N 0 0 0.000 E 0.00m "
+ "1m 10000m 10m"),
+ TEXT_VALID_CHANGED("0 0 N 0 0 E 0", "0 0 0.000 N 0 0 0.000 E "
+ "0.00m 1m 10000m 10m"),
+ TEXT_VALID_CHANGED("0 0 0 N 0 0 0 E 0",
+ "0 0 0.000 N 0 0 0.000 E 0.00m 1m 10000m "
+ "10m"),
+ TEXT_VALID_CHANGED("0 0 0 N 0 0 0 E 0",
+ "0 0 0.000 N 0 0 0.000 E 0.00m 1m 10000m "
+ "10m"),
+ TEXT_VALID_CHANGED("0 0 0. N 0 0 0. E 0",
+ "0 0 0.000 N 0 0 0.000 E 0.00m 1m 10000m "
+ "10m"),
+ TEXT_VALID_CHANGED("0 0 .0 N 0 0 .0 E 0",
+ "0 0 0.000 N 0 0 0.000 E 0.00m 1m 10000m "
+ "10m"),
+ TEXT_INVALID("0 0 . N 0 0 0. E 0"),
+ TEXT_INVALID("0 0 0. N 0 0 . E 0"),
+ TEXT_INVALID("0 0 0. N 0 0 0. E m"),
+ TEXT_INVALID("0 0 0. N 0 0 0. E 0 ."),
+ TEXT_INVALID("0 0 0. N 0 0 0. E 0 m"),
+ TEXT_INVALID("0 0 0. N 0 0 0. E 0 0 ."),
+ TEXT_INVALID("0 0 0. N 0 0 0. E 0 0 m"),
+ TEXT_INVALID("0 0 0. N 0 0 0. E 0 0 0 ."),
+ TEXT_INVALID("0 0 0. N 0 0 0. E 0 0 0 m"),
+ TEXT_VALID_CHANGED("90 N 180 E 0", "90 0 0.000 N 180 0 0.000 E "
+ "0.00m 1m 10000m 10m"),
+ TEXT_INVALID("90 1 N 180 E 0"),
+ TEXT_INVALID("90 0 1 N 180 E 0"),
+ TEXT_INVALID("90 N 180 1 E 0"),
+ TEXT_INVALID("90 N 180 0 1 E 0"),
+ TEXT_VALID_CHANGED("90 S 180 W 0", "90 0 0.000 S 180 0 0.000 W "
+ "0.00m 1m 10000m 10m"),
+ TEXT_INVALID("90 1 S 180 W 0"),
+ TEXT_INVALID("90 0 1 S 180 W 0"),
+ TEXT_INVALID("90 S 180 1 W 0"),
+ TEXT_INVALID("90 S 180 0 1 W 0"),
+ /*
+ * Sentinel.
+ */
+ TEXT_SENTINEL()
+ };
+
+ UNUSED(state);
+
+ check_rdata(text_ok, 0, NULL, false, dns_rdataclass_in,
+ dns_rdatatype_loc, sizeof(dns_rdata_loc_t));
+}
+
/*
* http://ana-3.lcs.mit.edu/~jnc/nimrod/dns.txt
*
cmocka_unit_test_setup_teardown(hip, _setup, _teardown),
cmocka_unit_test_setup_teardown(isdn, _setup, _teardown),
cmocka_unit_test_setup_teardown(key, _setup, _teardown),
+ cmocka_unit_test_setup_teardown(loc, _setup, _teardown),
cmocka_unit_test_setup_teardown(nimloc, _setup, _teardown),
cmocka_unit_test_setup_teardown(nsec, _setup, _teardown),
cmocka_unit_test_setup_teardown(nsec3, _setup, _teardown),