From 7d6f210aa38afe2a9a370f1e0f23edf72a1735bb Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Fri, 15 Jan 2016 16:59:06 -0600 Subject: Command line files without paths were attempting to use stdin as their dirfd, (because ls uses nonstandard directory recursion which collates all the command line arguments under a fake top node, which needs more thorough initialization). --- toys/posix/ls.c | 1 + 1 file changed, 1 insertion(+) (limited to 'toys/posix/ls.c') diff --git a/toys/posix/ls.c b/toys/posix/ls.c index 2f44d247..08ae695d 100644 --- a/toys/posix/ls.c +++ b/toys/posix/ls.c @@ -541,6 +541,7 @@ void ls_main(void) // Iterate through command line arguments, collecting directories and files. // Non-absolute paths are relative to current directory. TT.files = dirtree_start(0, 0); + TT.files->dirfd = AT_FDCWD; for (s = *toys.optargs ? toys.optargs : noargs; *s; s++) { dt = dirtree_start(*s, !(toys.optflags&(FLAG_l|FLAG_d|FLAG_F)) || (toys.optflags&(FLAG_L|FLAG_H))); -- cgit v1.2.3