diff options
author | Connor Lane Smith <cls@lubutu.com> | 2011-12-19 16:52:48 +0100 |
---|---|---|
committer | Connor Lane Smith <cls@lubutu.com> | 2011-12-19 16:52:48 +0100 |
commit | 6664e4233faa3d6b677a24196e9af4ac5b1920fd (patch) | |
tree | a81d46c660dfe173c54ae802a9f3c9cacd6399b2 /lsx.c | |
parent | 26c78cd95291d980f8978113cd6daa9841553c93 (diff) | |
parent | 6b1d658d1224cd108d64a6c340d47b66ad99816d (diff) |
merge stest -> default
Diffstat (limited to 'lsx.c')
-rw-r--r-- | lsx.c | 43 |
1 files changed, 0 insertions, 43 deletions
@@ -1,43 +0,0 @@ -/* See LICENSE file for copyright and license details. */ -#include <dirent.h> -#include <errno.h> -#include <limits.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <sys/stat.h> - -static void lsx(const char *dir); - -static int status = EXIT_SUCCESS; - -int -main(int argc, char *argv[]) { - int i; - - if(argc < 2) - lsx("."); - else for(i = 1; i < argc; i++) - lsx(argv[i]); - return status; -} - -void -lsx(const char *dir) { - char buf[PATH_MAX]; - struct dirent *d; - struct stat st; - DIR *dp; - - for(dp = opendir(dir); dp && (d = readdir(dp)); errno = 0) - if(snprintf(buf, sizeof buf, "%s/%s", dir, d->d_name) < (int)sizeof buf - && access(buf, X_OK) == 0 && stat(buf, &st) == 0 && S_ISREG(st.st_mode)) - puts(d->d_name); - - if(errno != 0) { - status = EXIT_FAILURE; - perror(dir); - } - if(dp) - closedir(dp); -} |