diff options
author | Connor Lane Smith <cls@lubutu.com> | 2011-11-19 19:54:55 +0100 |
---|---|---|
committer | Connor Lane Smith <cls@lubutu.com> | 2011-11-19 19:54:55 +0100 |
commit | bb4424df072332243890714b055e978a5c70adf3 (patch) | |
tree | 269b5219179f964d31c6f84d5019bb1479f81800 /lsx.c | |
parent | 8ac44eb75a3e2190aa7b89548956b2de33c5a6ce (diff) |
replace lsx with stest
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); -} |