XFREE(MTYPE_BGP_PEER_HOST, bgp->peer_self->hostname);
bgp->peer_self->hostname = NULL;
}
- bgp->peer_self->hostname = XSTRDUP(MTYPE_BGP_PEER_HOST,
- hostname_get());
+ if (hostname_get())
+ bgp->peer_self->hostname = XSTRDUP(MTYPE_BGP_PEER_HOST,
+ hostname_get());
if (bgp->peer_self->domainname != NULL) {
XFREE(MTYPE_BGP_PEER_HOST, bgp->peer_self->domainname);
bgp->peer_self->domainname = NULL;
}
- bgp->peer_self->domainname = XSTRDUP(MTYPE_BGP_PEER_HOST,
- domainname_get());
+ if (domainname_get())
+ bgp->peer_self->domainname = XSTRDUP(MTYPE_BGP_PEER_HOST,
+ domainname_get());
bgp->peer = list_new();
bgp->peer->cmp = (int (*)(void *, void *))peer_cmp;
bgp->peerhash = hash_create(peer_hash_key_make, peer_hash_same, NULL);
*/
const char *hostname_get(void)
{
- struct utsname names;
-
- if (!host.name) {
- uname(&names);
- host.name = XSTRDUP(MTYPE_HOST, names.nodename);
- }
return host.name;
}
*/
const char *domainname_get(void)
{
- struct utsname names;
-
- if (!host.name || !host.domainname) {
-#ifdef HAVE_STRUCT_UTSNAME_DOMAINNAME
- uname(&names);
- host.domainname = XSTRDUP(MTYPE_HOST, names.domainname);
-#endif
- }
return host.domainname;
}