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>
This commit is contained in:
Jérémie Koenig 2010-03-26 19:08:53 +01:00 committed by Denys Vlasenko
parent 35fdb1bc9c
commit fbedacfc8c
13 changed files with 85 additions and 61 deletions

View file

@ -17,30 +17,20 @@ int realpath_main(int argc UNUSED_PARAM, char **argv)
{
int retval = EXIT_SUCCESS;
#if PATH_MAX > (BUFSIZ+1)
RESERVE_CONFIG_BUFFER(resolved_path, PATH_MAX);
# define resolved_path_MUST_FREE 1
#else
#define resolved_path bb_common_bufsiz1
# define resolved_path_MUST_FREE 0
#endif
if (!*++argv) {
bb_show_usage();
}
do {
if (realpath(*argv, resolved_path) != NULL) {
char *resolved_path = xmalloc_realpath(*argv);
if (resolved_path != NULL) {
puts(resolved_path);
free(resolved_path);
} else {
retval = EXIT_FAILURE;
bb_simple_perror_msg(*argv);
}
} while (*++argv);
#if ENABLE_FEATURE_CLEAN_UP && resolved_path_MUST_FREE
RELEASE_CONFIG_BUFFER(resolved_path);
#endif
fflush_stdout_and_exit(retval);
}