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 /coreutils | |
| 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 'coreutils')
| -rw-r--r-- | coreutils/realpath.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/coreutils/realpath.c b/coreutils/realpath.c index 28906ba55..90a71ed7d 100644 --- a/coreutils/realpath.c +++ b/coreutils/realpath.c | |||
| @@ -17,30 +17,20 @@ int realpath_main(int argc UNUSED_PARAM, char **argv) | |||
| 17 | { | 17 | { |
| 18 | int retval = EXIT_SUCCESS; | 18 | int retval = EXIT_SUCCESS; |
| 19 | 19 | ||
| 20 | #if PATH_MAX > (BUFSIZ+1) | ||
| 21 | RESERVE_CONFIG_BUFFER(resolved_path, PATH_MAX); | ||
| 22 | # define resolved_path_MUST_FREE 1 | ||
| 23 | #else | ||
| 24 | #define resolved_path bb_common_bufsiz1 | ||
| 25 | # define resolved_path_MUST_FREE 0 | ||
| 26 | #endif | ||
| 27 | |||
| 28 | if (!*++argv) { | 20 | if (!*++argv) { |
| 29 | bb_show_usage(); | 21 | bb_show_usage(); |
| 30 | } | 22 | } |
| 31 | 23 | ||
| 32 | do { | 24 | do { |
| 33 | if (realpath(*argv, resolved_path) != NULL) { | 25 | char *resolved_path = xmalloc_realpath(*argv); |
| 26 | if (resolved_path != NULL) { | ||
| 34 | puts(resolved_path); | 27 | puts(resolved_path); |
| 28 | free(resolved_path); | ||
| 35 | } else { | 29 | } else { |
| 36 | retval = EXIT_FAILURE; | 30 | retval = EXIT_FAILURE; |
| 37 | bb_simple_perror_msg(*argv); | 31 | bb_simple_perror_msg(*argv); |
| 38 | } | 32 | } |
| 39 | } while (*++argv); | 33 | } while (*++argv); |
| 40 | 34 | ||
| 41 | #if ENABLE_FEATURE_CLEAN_UP && resolved_path_MUST_FREE | ||
| 42 | RELEASE_CONFIG_BUFFER(resolved_path); | ||
| 43 | #endif | ||
| 44 | |||
| 45 | fflush_stdout_and_exit(retval); | 35 | fflush_stdout_and_exit(retval); |
| 46 | } | 36 | } |
