}
}
- if(!netname) {
- netname = getenv("NETNAME");
- if(netname)
- netname = xstrdup(netname);
- }
+ if(!netname && (netname = getenv("NETNAME")))
+ netname = xstrdup(netname);
+
+ /* netname "." is special: a "top-level name" */
+
+ if(netname && !strcmp(netname, ".")) {
+ free(netname);
+ netname = NULL;
+ }
return true;
}
while(fgets(buf1, sizeof buf1, f)) {
buf1[sizeof buf1 - 1] = 0;
- strcpy(buf2, buf1);
+ strncpy(buf2, buf1, sizeof buf2);
// Parse line in a simple way
char *bvalue;