⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 get_phost.c

📁 早期freebsd实现
💻 C
字号:
/* * $Source: /usr/src/kerberosIV/krb/RCS/get_phost.c,v $ * $Author: kfall $ * * Copyright 1988 by the Massachusetts Institute of Technology. * * For copying and distribution information, please see the file * <mit-copyright.h>. */#ifndef lintstatic char *rcsid_phost_c ="$Header: /usr/src/kerberosIV/krb/RCS/get_phost.c,v 4.7 90/06/25 20:57:57 kfall Exp $";#endif /* lint */#include <mit-copyright.h>#include <stdio.h>#include <ctype.h>#include <netdb.h>char *index();/* * This routine takes an alias for a host name and returns the first * field, lower case, of its domain name.  For example, if "menel" is * an alias for host officially named "menelaus" (in /etc/hosts), for * the host whose official name is "MENELAUS.MIT.EDU", the name "menelaus" * is returned. * * This is done for historical Athena reasons: the Kerberos name of * rcmd servers (rlogin, rsh, rcp) is of the form "rcmd.host@realm" * where "host"is the lowercase for of the host name ("menelaus"). * This should go away: the instance should be the domain name * (MENELAUS.MIT.EDU).  But for now we need this routine... * * A pointer to the name is returned, if found, otherwise a pointer * to the original "alias" argument is returned. */char * krb_get_phost(alias)    char *alias;{    struct hostent *h;    char *phost = alias;    if ((h=gethostbyname(alias)) != (struct hostent *)NULL ) {        char *p = index( h->h_name, '.' );        if (p)            *p = NULL;        p = phost = h->h_name;        do {            if (isupper(*p)) *p=tolower(*p);        } while (*p++);    }    return(phost);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -