mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
rebuildhosts: Don't break when RED not online
The hosts file was not regenerated when RED was not connected which should not be happening. This patch checks if the file exists. If not, the gateway line will not be written to /etc/hosts.
This commit is contained in:
@@ -79,16 +79,13 @@ int main(int argc, char *argv[])
|
||||
freekeyvalues(kv);
|
||||
kv = NULL;
|
||||
|
||||
if (!(gw = fopen(CONFIG_ROOT "/red/remote-ipaddress", "r")))
|
||||
{
|
||||
if ((gw = fopen(CONFIG_ROOT "/red/remote-ipaddress", "r"))) {
|
||||
if (fgets(gateway, STRING_SIZE, gw) == NULL) {
|
||||
fprintf(stderr, "Couldn't read remote-ipaddress\n");
|
||||
exit(1);
|
||||
}
|
||||
} else {
|
||||
fprintf(stderr, "Couldn't open remote-ipaddress file\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (fgets(gateway, STRING_SIZE, gw) == NULL)
|
||||
{
|
||||
fprintf(stderr, "Couldn't read remote-ipaddress\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (!(fd = fopen(CONFIG_ROOT "/main/hosts", "r")))
|
||||
@@ -110,7 +107,8 @@ int main(int argc, char *argv[])
|
||||
else
|
||||
fprintf(hosts, "%s\t%s\n",address,hostname);
|
||||
|
||||
fprintf(hosts, "%s\tgateway\n",gateway);
|
||||
if (strlen(gateway) > 0)
|
||||
fprintf(hosts, "%s\tgateway\n", gateway);
|
||||
|
||||
while (fgets(buffer, STRING_SIZE, fd))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user