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) { |
