OS部分を修正
このコミットが含まれているのは:
コミット
6efae38cb3
33
paleofetch.c
33
paleofetch.c
|
@ -122,6 +122,9 @@ static char *get_bar() {
|
|||
static char *get_os() {
|
||||
char *os = malloc(BUF_SIZE), *name = malloc(BUF_SIZE), *line = NULL;
|
||||
size_t len;
|
||||
char *version = malloc(BUF_SIZE);
|
||||
int getname = 0, getver = 0;
|
||||
|
||||
FILE *os_release = fopen("/etc/os-release", "r");
|
||||
if (os_release == NULL) {
|
||||
status = -1;
|
||||
|
@ -129,15 +132,39 @@ static char *get_os() {
|
|||
}
|
||||
|
||||
while (getline(&line, &len, os_release) != -1) {
|
||||
if (sscanf(line, "NAME=\"%[^\"]+", name) > 0) {
|
||||
if (!getname && strstr(line, "NAME=") == line) {
|
||||
if (line[5] == '"') {
|
||||
sscanf(line, "NAME=\"%[^\"]\"", name);
|
||||
} else {
|
||||
sscanf(line, "NAME=%[^\n]", name);
|
||||
}
|
||||
getname = 1;
|
||||
}
|
||||
|
||||
if (!getver && strstr(line, "VERSION=") == line) {
|
||||
if (line[8] == '"') {
|
||||
sscanf(line, "VERSION=\"%[^\"]\"", version);
|
||||
} else {
|
||||
sscanf(line, "VERSION=%[^\n]", version);
|
||||
}
|
||||
getver = 1;
|
||||
}
|
||||
|
||||
if (getname && getver) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (getver) {
|
||||
snprintf(os, BUF_SIZE, "%s %s %s", name, version, uname_info.machine);
|
||||
} else {
|
||||
snprintf(os, BUF_SIZE, "%s %s", name, uname_info.machine);
|
||||
}
|
||||
|
||||
free(line);
|
||||
fclose(os_release);
|
||||
snprintf(os, BUF_SIZE, "%s %s", name, uname_info.machine);
|
||||
free(name);
|
||||
free(version);
|
||||
|
||||
return os;
|
||||
}
|
||||
|
@ -479,7 +506,7 @@ static char *get_cpu() {
|
|||
int prec = 3;
|
||||
|
||||
while (getline(&line, &len, cpuinfo) != -1) {
|
||||
num_cores += sscanf(line, "model name : %[^\n@]", cpu_model);
|
||||
num_cores += sscanf(line, "model name : %[^\n@]", cpu_model);
|
||||
}
|
||||
|
||||
fseek(cpuinfo, 0, SEEK_SET);
|
||||
|
|
読み込み中…
新しいイシューから参照