On Tue, Aug 26, 2014 at 03:41:04PM +0200, Maxim Andersson wrote:
2014-08-26 15:32 GMT+02:00 Dave Reisner <d@falconindy.com>:
On Tue, Aug 26, 2014 at 03:15:09PM +0200, Lukas Fleischer wrote:
On Tue, 26 Aug 2014 at 15:11:12, Lukas Fleischer wrote:
On Tue, 26 Aug 2014 at 14:52:10, Dave Reisner wrote:
[...] Again with the lack of quoting...
<(printf "$PWD/%s\n" *.pkg.tar?(.+([^.])) | pacsort --files |
I'm somewhat concerned about this because we're injecting a path into the format string (yes, we've done this elsewhere and it's equally concerning). Since it's pre-existing, we can probably ignore this bug for now. Could you leave a TODO to address it, though? It's probably sufficient to just escape % and \ chars in $PWD, but it needs testing. [...]
I did not look at the code but can't you use something like
pkgs=(*.pkg.tar?(.+([^.]))) printf "%s\n" ${file[@]/#/$PWD/} | pacsort --files | [...]
Whoops.
pkgs=(*.pkg.tar?(.+([^.]))) printf "%s\n" "${pkgs[@]/#/$PWD/}" | pacsort --files | [...]
Yes, this ought to be sufficient.
Another way that also works is:
<(printf '%s\n' "$PWD"/*.pkg.tar?(.+([^.])) | pacsort --files |
is that an ok way of doing it?
I actually like this better, since it avoids a potentially large copy of a glob expansion -- paccache tends to work with fairly large datasets and bash sucks at memory management. Thanks!