Hurd compat fixes. Mostly dealing with absent PATH_MAX
[oweals/busybox.git] / coreutils / realpath.c
index 28906ba55493b48ce128b3d97a6c3e535b7dcca8..90a71ed7ddf282732d02fa91099008f2299bc565 100644 (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);
 }