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