📄 sysname.c
字号:
/* Get system name *//* $Id: sysname.c,v 1.16 2003/12/19 18:30:46 pasky Exp $ */#ifdef HAVE_CONFIG_H#include "config.h"#endif#include <stdio.h>#include <string.h>#ifdef HAVE_SYS_UTSNAME_H#include <sys/utsname.h>#endif#include "elinks.h"#include "lowlevel/sysname.h"#include "util/memory.h"#include "util/string.h"unsigned char system_name[MAX_STR_LEN];#ifdef HAVE_POPENstatic intgot_it_from_uname_command(void){ FILE *f; unsigned char *p; f = popen("uname -srm", "r"); if (!f) return 0; if (fread(system_name, 1, sizeof(system_name) - 1, f) <= 0) { pclose(f); return 0; } pclose(f); system_name[MAX_STR_LEN - 1] = '\0'; /* Safer. */ p = system_name; while (*p >= ' ') p++; *p = '\0'; if (system_name[0]) return 1; return 0;}#else#define got_it_from_uname_command() 0#endifvoidget_system_name(void){#if defined(HAVE_SYS_UTSNAME_H) && defined(HAVE_UNAME) struct utsname name; if (!uname(&name)) { snprintf(system_name, sizeof(system_name), "%s %s %s", name.sysname, name.release, name.machine); return; }#endif if (got_it_from_uname_command()) return; safe_strncpy(system_name, SYSTEM_NAME, sizeof(system_name));}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -