OS部分を修正

このコミットが含まれているのは:
守矢諏訪子 2023-08-27 15:16:14 +09:00
コミット 6efae38cb3
1個のファイルの変更30行の追加3行の削除

ファイルの表示

@ -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);