findconfig.c
来自「网络时间协议NTP 源码 版本v4.2.0b 该源码用于linux平台下」· C语言 代码 · 共 73 行
C
73 行
#ifdef HAVE_CONFIG_H# include <config.h>#endif#ifdef NEED_HPUX_FINDCONFIG#include <string.h>#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <sys/utsname.h>#include <unistd.h>const char *FindConfig( const char *base ){ static char result[BUFSIZ]; char hostname[BUFSIZ], *cp; struct stat sbuf; struct utsname unamebuf; /* All keyed by initial target being a directory */ (void) strcpy(result, base); if (stat(result, &sbuf) == 0) { if (S_ISDIR(sbuf.st_mode)) { /* First choice is my hostname */ if (gethostname(hostname, BUFSIZ) >= 0) { (void) sprintf(result, "%s/%s", base, hostname); if (stat(result, &sbuf) == 0) { goto outahere; } else { /* Second choice is of form default.835 */ (void) uname(&unamebuf); if (strncmp(unamebuf.machine, "9000/", 5) == 0) cp = unamebuf.machine + 5; else cp = unamebuf.machine; (void) sprintf(result, "%s/default.%s", base, cp); if (stat(result, &sbuf) == 0) { goto outahere; } else { /* Last choice is just default */ (void) sprintf(result, "%s/default", base); if (stat(result, &sbuf) == 0) { goto outahere; } else { (void) strcpy(result, "/not/found"); } } } } } } outahere: return(result);}#else#include "ntp_stdlib.h"const char *FindConfig( const char *base ){ return base;}#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?