- int r;
- FILE *f;
-
- assert(hn);
-
- if (!(f = fopen("/etc/sysconfig/network", "re")))
- return -errno;
-
- for (;;) {
- char line[LINE_MAX];
- char *s, *k;
-
- if (!fgets(line, sizeof(line), f)) {
- if (feof(f))
- break;
-
- r = -errno;
- goto finish;
- }
-
- s = strstrip(line);
-
- if (!startswith(s, "HOSTNAME="))
- continue;
-
- if (!(k = strdup(s+9))) {
- r = -ENOMEM;
- goto finish;
- }
-
- *hn = k;
- break;
- }
-
- r = 0;
+#define FILENAME "/etc/sysconfig/network"
+#elif defined(TARGET_SUSE)
+#define FILENAME "/etc/HOSTNAME"
+#elif defined(TARGET_DEBIAN)
+#define FILENAME "/etc/hostname"
+#elif defined(TARGET_ARCH)
+#define FILENAME "/etc/rc.conf"
+#endif