Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
steam
systemd
Commits
ea6145da
Commit
ea6145da
authored
May 08, 2010
by
Lennart Poettering
Browse files
hostname: unify hostname configuration file parsers a little
parent
924b4d5b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Makefile.am
View file @
ea6145da
...
...
@@ -77,7 +77,7 @@ EXTRA_DIST = \
units/systemd-logger.service.in
\
units/systemd-logger.socket
BASIC_SOURCES
=
\
BASIC_SOURCES
=
\
util.c
\
util.h
\
hashmap.c
\
...
...
@@ -95,7 +95,7 @@ BASIC_SOURCES= \
ratelimit.c
\
ratelimit.h
COMMON_SOURCES
=
\
COMMON_SOURCES
=
\
$(BASIC_SOURCES)
\
unit.c
\
unit.h
\
...
...
hostname-setup.c
View file @
ea6145da
...
...
@@ -32,56 +32,25 @@
#define LINE_MAX 4096
static
int
read_hostname
(
char
**
hn
)
{
#if defined(TARGET_FEDORA)
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
finish:
fclose
(
f
);
return
r
;
static
int
read_hostname
(
char
**
hn
)
{
#
el
if defined(TARGET_ARCH)
#if
defined(TARGET_FEDORA) ||
defined(TARGET_ARCH)
int
r
;
FILE
*
f
;
assert
(
hn
);
if
(
!
(
f
=
fopen
(
"/etc/rc.conf"
,
"re"
)))
if
(
!
(
f
=
fopen
(
FILENAME
,
"re"
)))
return
-
errno
;
for
(;;)
{
...
...
@@ -116,13 +85,13 @@ finish:
fclose
(
f
);
return
r
;
#elif defined(TARGET_SUSE)
#elif defined(TARGET_SUSE)
|| defined(TARGET_DEBIAN)
int
r
;
char
*
s
,
*
k
;
assert
(
hn
);
if
((
r
=
read_one_line_file
(
"/etc/HOST
NAME
"
,
&
s
))
<
0
)
if
((
r
=
read_one_line_file
(
FILE
NAME
,
&
s
))
<
0
)
return
r
;
k
=
strdup
(
strstrip
(
s
));
...
...
@@ -133,22 +102,6 @@ finish:
*
hn
=
k
;
#elif defined(TARGET_DEBIAN)
int
r
;
char
*
s
,
*
k
;
assert
(
hn
);
if
((
r
=
read_one_line_file
(
"/etc/hostname"
,
&
s
))
<
0
)
return
r
;
k
=
strdup
(
strstrip
(
s
));
free
(
s
);
if
(
!
k
)
return
-
ENOMEM
;
*
hn
=
k
;
#else
#warning "Don't know how to read the hostname"
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment