diff options
author | Jérémie Koenig <jk@jk.fr.eu.org> | 2010-03-26 19:08:53 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2010-03-26 19:08:53 +0100 |
commit | fbedacfc8caa1ec8f14e664a881cb0a93c8f8712 (patch) | |
tree | 6c08780bbaad6320149930bdbcfbee5a2eed9f5d /scripts/basic | |
parent | 35fdb1bc9cb82fa5630c2d40ae49110ecd7c88ea (diff) | |
download | busybox-w32-fbedacfc8caa1ec8f14e664a881cb0a93c8f8712.tar.gz busybox-w32-fbedacfc8caa1ec8f14e664a881cb0a93c8f8712.tar.bz2 busybox-w32-fbedacfc8caa1ec8f14e664a881cb0a93c8f8712.zip |
Hurd compat fixes. Mostly dealing with absent PATH_MAX
Signed-off-by: Jérémie Koenig <jk@jk.fr.eu.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'scripts/basic')
-rw-r--r-- | scripts/basic/docproc.c | 22 | ||||
-rw-r--r-- | scripts/basic/fixdep.c | 4 |
2 files changed, 14 insertions, 12 deletions
diff --git a/scripts/basic/docproc.c b/scripts/basic/docproc.c index dc7a0fcd2..ef5181226 100644 --- a/scripts/basic/docproc.c +++ b/scripts/basic/docproc.c | |||
@@ -79,7 +79,9 @@ void exec_kernel_doc(char **svec) | |||
79 | { | 79 | { |
80 | pid_t pid; | 80 | pid_t pid; |
81 | int ret; | 81 | int ret; |
82 | char real_filename[PATH_MAX + 1]; | 82 | char *real_filename; |
83 | int rflen; | ||
84 | |||
83 | /* Make sure output generated so far are flushed */ | 85 | /* Make sure output generated so far are flushed */ |
84 | fflush(stdout); | 86 | fflush(stdout); |
85 | switch(pid=fork()) { | 87 | switch(pid=fork()) { |
@@ -87,10 +89,11 @@ void exec_kernel_doc(char **svec) | |||
87 | perror("fork"); | 89 | perror("fork"); |
88 | exit(1); | 90 | exit(1); |
89 | case 0: | 91 | case 0: |
90 | memset(real_filename, 0, sizeof(real_filename)); | 92 | rflen = strlen(getenv("SRCTREE")); |
91 | strncat(real_filename, getenv("SRCTREE"), PATH_MAX); | 93 | rflen += strlen(KERNELDOCPATH KERNELDOC); |
92 | strncat(real_filename, KERNELDOCPATH KERNELDOC, | 94 | real_filename = alloca(rflen + 1); |
93 | PATH_MAX - strlen(real_filename)); | 95 | strcpy(real_filename, getenv("SRCTREE")); |
96 | strcat(real_filename, KERNELDOCPATH KERNELDOC); | ||
94 | execvp(real_filename, svec); | 97 | execvp(real_filename, svec); |
95 | fprintf(stderr, "exec "); | 98 | fprintf(stderr, "exec "); |
96 | perror(real_filename); | 99 | perror(real_filename); |
@@ -166,11 +169,10 @@ void find_export_symbols(char * filename) | |||
166 | struct symfile *sym; | 169 | struct symfile *sym; |
167 | char line[MAXLINESZ]; | 170 | char line[MAXLINESZ]; |
168 | if (filename_exist(filename) == NULL) { | 171 | if (filename_exist(filename) == NULL) { |
169 | char real_filename[PATH_MAX + 1]; | 172 | int rflen = strlen(getenv("SRCTREE")) + strlen(filename); |
170 | memset(real_filename, 0, sizeof(real_filename)); | 173 | char *real_filename = alloca(rflen + 1); |
171 | strncat(real_filename, getenv("SRCTREE"), PATH_MAX); | 174 | strcpy(real_filename, getenv("SRCTREE")); |
172 | strncat(real_filename, filename, | 175 | strcat(real_filename, filename); |
173 | PATH_MAX - strlen(real_filename)); | ||
174 | sym = add_new_file(filename); | 176 | sym = add_new_file(filename); |
175 | fp = fopen(real_filename, "r"); | 177 | fp = fopen(real_filename, "r"); |
176 | if (fp == NULL) | 178 | if (fp == NULL) |
diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c index 6d61044c4..bbb575cec 100644 --- a/scripts/basic/fixdep.c +++ b/scripts/basic/fixdep.c | |||
@@ -203,7 +203,7 @@ void clear_config(void) | |||
203 | */ | 203 | */ |
204 | void use_config(char *m, int slen) | 204 | void use_config(char *m, int slen) |
205 | { | 205 | { |
206 | char s[PATH_MAX]; | 206 | char *s = alloca(slen+1); |
207 | char *p; | 207 | char *p; |
208 | 208 | ||
209 | if (is_defined_config(m, slen)) | 209 | if (is_defined_config(m, slen)) |
@@ -310,7 +310,7 @@ void parse_dep_file(void *map, size_t len) | |||
310 | char *m = map; | 310 | char *m = map; |
311 | char *end = m + len; | 311 | char *end = m + len; |
312 | char *p; | 312 | char *p; |
313 | char s[PATH_MAX]; | 313 | char *s = alloca(len); |
314 | 314 | ||
315 | p = memchr(m, ':', len); | 315 | p = memchr(m, ':', len); |
316 | if (!p) { | 316 | if (!p) { |