coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: readlink(1) of more than one file?


From: Jim Meyering
Subject: Re: readlink(1) of more than one file?
Date: Wed, 12 Dec 2012 21:19:14 +0100

Pádraig Brady wrote:
> On 12/12/2012 07:05 PM, Aaron Davies wrote:
>> Is there a reason the interface for readlink(1) is “FILE” instead of
>> “FILE...”? I’ve often wanted to do e.g. “find -type l|xargs
>> readlink” or (in zsh) “readlink **/*(@)”, and having to do a shell
>> loop or use “xargs -n1” seems inelegant.
>
> Note the newer more general realpath(1)
> supports multiple files.
>
> Though there is no reason I see that readlink(1)
> can't do so too.  I also see the BSD version
> can accept multiple args, so I'll probably add
> something along the lines of the following
> unless there are objections.

Thanks.  That seems like the right way to go.

...
> +      const char *fname;
> +      char *value;
> +      fname = argv[optind];
...
> +      value = (can_mode != -1
> +               ? canonicalize_filename_mode (fname, can_mode)
> +               : areadlink_with_size (fname, 63));

Maybe save two lines in the loop body by moving each of those declarations
down to its initialization?

         const char *fname = argv[optind];
         char *value = (can_mode != -1
                        ? canonicalize_filename_mode (fname, can_mode)
                        : areadlink_with_size (fname, 63));



reply via email to

[Prev in Thread] Current Thread [Next in Thread]