canonicalizing hostnames with no "."s. Matt owes me M&Ms. :-)
if (domain == NULL)
{
- struct utsname name;
+ char hostbuf[256];
- uname(&name);
- hp = gethostbyname(name.nodename);
- if (hp)
+ if (mr_host(hostbuf, sizeof(hostbuf)) == MR_SUCCESS)
{
- cp = strchr(hp->h_name, '.');
+ cp = strchr(hostbuf, '.');
if (cp)
domain = strdup(++cp);
- if (!domain)
- domain = "";
}
else
+ {
+ struct utsname name;
+ uname(&name);
+ hp = gethostbyname(name.nodename);
+ if (hp)
+ {
+ cp = strchr(hp->h_name, '.');
+ if (cp)
+ domain = strdup(++cp);
+ }
+ }
+ if (!domain)
domain = "";
}
tbuf = malloc(strlen(host) + strlen(domain) + 2);