1
0
mirror of https://github.com/moparisthebest/hexchat synced 2024-11-25 10:42:18 -05:00

Sysinfo: Fix gentoo detection

This commit is contained in:
hasufell 2013-08-26 03:58:36 -04:00 committed by TingPing
parent 4e775df156
commit b5b547abb6

View File

@ -378,22 +378,9 @@ int xs_parse_distro(char *name)
{ {
FILE *fp = NULL; FILE *fp = NULL;
char buffer[bsize], *pos = NULL; char buffer[bsize], *pos = NULL;
if((fp = fopen("/etc/lsb-release", "r")) != NULL) if((fp = fopen("/etc/portage/make.conf", "r")) != NULL ||
{ (fp = fopen("/etc/make.conf", "r")) != NULL)
char id[bsize], codename[bsize], release[bsize];
strcpy(id, "?");
strcpy(codename, "?");
strcpy(release, "?");
while(fgets(buffer, bsize, fp) != NULL)
{
find_match_char(buffer, "DISTRIB_ID", id);
find_match_char(buffer, "DISTRIB_CODENAME", codename);
find_match_char(buffer, "DISTRIB_RELEASE", release);
}
snprintf(buffer, bsize, "%s \"%s\" %s", id, codename, release);
}
else if((fp = fopen("/etc/make.conf", "r")) != NULL)
{ {
char keywords[bsize]; char keywords[bsize];
while(fgets(buffer, bsize, fp) != NULL) while(fgets(buffer, bsize, fp) != NULL)
@ -403,7 +390,7 @@ int xs_parse_distro(char *name)
snprintf(buffer, bsize, "Gentoo Linux (stable)"); snprintf(buffer, bsize, "Gentoo Linux (stable)");
else else
snprintf(buffer, bsize, "Gentoo Linux %s", keywords); snprintf(buffer, bsize, "Gentoo Linux %s", keywords);
} }
else if((fp = fopen("/etc/redhat-release", "r")) != NULL) else if((fp = fopen("/etc/redhat-release", "r")) != NULL)
fgets(buffer, bsize, fp); fgets(buffer, bsize, fp);
else if((fp = fopen("/etc/mageia-release", "r")) != NULL) else if((fp = fopen("/etc/mageia-release", "r")) != NULL)
@ -424,6 +411,20 @@ int xs_parse_distro(char *name)
fgets(buffer, bsize, fp); fgets(buffer, bsize, fp);
else if((fp = fopen("/etc/arch-release", "r")) != NULL) else if((fp = fopen("/etc/arch-release", "r")) != NULL)
snprintf(buffer, bsize, "ArchLinux"); snprintf(buffer, bsize, "ArchLinux");
else if((fp = fopen("/etc/lsb-release", "r")) != NULL)
{
char id[bsize], codename[bsize], release[bsize];
strcpy(id, "?");
strcpy(codename, "?");
strcpy(release, "?");
while(fgets(buffer, bsize, fp) != NULL)
{
find_match_char(buffer, "DISTRIB_ID", id);
find_match_char(buffer, "DISTRIB_CODENAME", codename);
find_match_char(buffer, "DISTRIB_RELEASE", release);
}
snprintf(buffer, bsize, "%s \"%s\" %s", id, codename, release);
}
else else
snprintf(buffer, bsize, "Unknown Distro"); snprintf(buffer, bsize, "Unknown Distro");
if(fp != NULL) fclose(fp); if(fp != NULL) fclose(fp);