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:
parent
35fdb1bc9c
commit
fbedacfc8c
13 changed files with 85 additions and 61 deletions
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue