Gentoo Archives: gentoo-commits

From: William Hubbs <williamh@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/openrc:master commit in: src/rc/
Date: Wed, 21 Feb 2018 19:50:48
Message-Id: 1519242581.a6cc7f06cf3807a0e0590697e1f14e6ab9055271.williamh@OpenRC
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 }