1 |
commit: a6cc7f06cf3807a0e0590697e1f14e6ab9055271 |
2 |
Author: William Hubbs <w.d.hubbs <AT> gmail <DOT> com> |
3 |
AuthorDate: Wed Feb 21 19:49:41 2018 +0000 |
4 |
Commit: William Hubbs <williamh <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Feb 21 19:49:41 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/openrc.git/commit/?id=a6cc7f06 |
7 |
|
8 |
rc.c: remove PATH_MAX references |
9 |
|
10 |
src/rc/rc.c | 17 +++++++++-------- |
11 |
1 file changed, 9 insertions(+), 8 deletions(-) |
12 |
|
13 |
diff --git a/src/rc/rc.c b/src/rc/rc.c |
14 |
index 110591e4..1f462c66 100644 |
15 |
--- a/src/rc/rc.c |
16 |
+++ b/src/rc/rc.c |
17 |
@@ -336,26 +336,26 @@ set_krunlevel(const char *level) |
18 |
return true; |
19 |
} |
20 |
|
21 |
-static size_t |
22 |
-get_krunlevel(char *buffer, int buffer_len) |
23 |
+static char *get_krunlevel(void) |
24 |
{ |
25 |
+ char *buffer = NULL; |
26 |
FILE *fp; |
27 |
size_t i = 0; |
28 |
|
29 |
if (!exists(RC_KRUNLEVEL)) |
30 |
- return 0; |
31 |
+ return NULL; |
32 |
if (!(fp = fopen(RC_KRUNLEVEL, "r"))) { |
33 |
eerror("fopen `%s': %s", RC_KRUNLEVEL, strerror(errno)); |
34 |
- return 0; |
35 |
+ return NULL; |
36 |
} |
37 |
|
38 |
- if (fgets(buffer, buffer_len, fp)) { |
39 |
+ if (getline(&buffer, &i, fp) != -1) { |
40 |
i = strlen(buffer); |
41 |
if (buffer[i - 1] == '\n') |
42 |
buffer[i - 1] = 0; |
43 |
} |
44 |
fclose(fp); |
45 |
- return i; |
46 |
+ return buffer; |
47 |
} |
48 |
|
49 |
static void |
50 |
@@ -743,7 +743,7 @@ int main(int argc, char **argv) |
51 |
RC_STRING *service; |
52 |
bool going_down = false; |
53 |
int depoptions = RC_DEP_STRICT | RC_DEP_TRACE; |
54 |
- char krunlevel [PATH_MAX]; |
55 |
+ char *krunlevel = NULL; |
56 |
char pidstr[10]; |
57 |
int opt; |
58 |
bool parallel; |
59 |
@@ -892,7 +892,8 @@ int main(int argc, char **argv) |
60 |
(strcmp(newlevel, RC_LEVEL_SYSINIT) != 0 && |
61 |
strcmp(newlevel, getenv("RC_BOOTLEVEL")) != 0)) |
62 |
{ |
63 |
- if (get_krunlevel(krunlevel, sizeof(krunlevel))) { |
64 |
+ krunlevel = get_krunlevel(); |
65 |
+ if (krunlevel) { |
66 |
newlevel = krunlevel; |
67 |
set_krunlevel(NULL); |
68 |
} |