X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=hostname-setup.c;h=b8551d9802feb48715d8ebffdfa47c2d0c9b8777;hp=4d7f32d0a79b562432d46619e2df06b6d6ba3ba0;hb=3177a7fa12247d30b854fcb7697cd578b9086bf5;hpb=ea6145dabe707ae721d036c6764c34a493cff401 diff --git a/hostname-setup.c b/hostname-setup.c index 4d7f32d0a..b8551d980 100644 --- a/hostname-setup.c +++ b/hostname-setup.c @@ -40,11 +40,13 @@ #define FILENAME "/etc/hostname" #elif defined(TARGET_ARCH) #define FILENAME "/etc/rc.conf" +#elif defined(TARGET_GENTOO) +#define FILENAME "/etc/conf.d/hostname" #endif static int read_hostname(char **hn) { -#if defined(TARGET_FEDORA) || defined(TARGET_ARCH) +#if defined(TARGET_FEDORA) || defined(TARGET_ARCH) || defined(TARGET_GENTOO) int r; FILE *f; @@ -67,7 +69,7 @@ static int read_hostname(char **hn) { s = strstrip(line); - if (!startswith(s, "HOSTNAME=")) + if (!startswith_no_case(s, "HOSTNAME=")) continue; if (!(k = strdup(s+9))) { @@ -75,6 +77,11 @@ static int read_hostname(char **hn) { goto finish; } + if (!(k = delete_chars(k, "\"\'"))) { + r = -ENOMEM; + goto finish; + } + *hn = k; break; }