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));