char **AskMCDInfo(char **info, int type, Bool name);
int CheckAndRemoveFromCluster(char *name, Bool ask_user);
int CheckAndRemoveMachines(char *name, Bool ask_first);
-char *partial_canonicalize_hostname(char *s);
#define MACHINE 0
#define CLUSTER 1
}
-char *partial_canonicalize_hostname(char *s)
-{
- char buf[256], *cp;
- static char *def_domain = NULL;
-
- if (!def_domain)
- {
- if (mr_host(buf, sizeof(buf)) == MR_SUCCESS)
- {
- cp = strchr(buf, '.');
- if (cp)
- def_domain = strdup(++cp);
- }
- else
- {
- struct hostent *hp;
-#ifdef HAVE_UNAME
- struct utsname name;
- uname(&name);
- hp = gethostbyname(name.nodename);
-#else
- char name[256];
- gethostname(name, sizeof(name));
- name[sizeof(name)-1] = 0;
- hp = gethostbyname(name);
-#endif /* HAVE_UNAME */
- cp = strchr(hp->h_name, '.');
- if (cp)
- def_domain = strdup(++cp);
- }
- if (!def_domain)
- def_domain = "";
- }
-
- if (strchr(s, '.') || strchr(s, '*'))
- return s;
- sprintf(buf, "%s.%s", s, def_domain);
- free(s);
- return strdup(buf);
-}
-
-
/* Function Name: ShowCname
* Description: This function shows machine aliases
* Arguments: argc, argv - the alias argv[1], the real name in argv[2]