diff options
author | Jakob Unterwurzacher | 2020-05-24 23:46:41 +0200 |
---|---|---|
committer | Jakob Unterwurzacher | 2020-05-24 23:46:41 +0200 |
commit | 6019598fdb9d223beec7da5848cf950ca90e85e7 (patch) | |
tree | bf2a6ee2241b4dd1b5331d0514cafd455d9a1b4a /contrib/getdents_c/getdents.c | |
parent | 71c0481f0e42c6bf1749dde8a30d9a6b728e83a0 (diff) |
contrib: collect getdents stuff in getdents-debug folder
Diffstat (limited to 'contrib/getdents_c/getdents.c')
-rw-r--r-- | contrib/getdents_c/getdents.c | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/contrib/getdents_c/getdents.c b/contrib/getdents_c/getdents.c deleted file mode 100644 index 98c2346..0000000 --- a/contrib/getdents_c/getdents.c +++ /dev/null @@ -1,39 +0,0 @@ -// See ../getdents/getdents.go for some info on why -// this exists. - -#include <fcntl.h> -#include <stdio.h> -#include <unistd.h> -#include <stdlib.h> -#include <stdint.h> -#include <sys/stat.h> -#include <sys/syscall.h> -#include <errno.h> - -int main(int argc, char *argv[]) -{ - if(argc < 2) { - printf("Usage: %s PATH\n", argv[0]); - printf("Run getdents(2) on PATH\n"); - exit(1); - } - - const char *path = argv[1]; - int fd = open(path, O_RDONLY); - if (fd == -1) { - perror("open"); - exit(1); - } - - char tmp[10000]; - int sum = 0; - for ( ; ; ) { - int n = syscall(SYS_getdents64, fd, tmp, sizeof(tmp)); - printf("getdents64 fd%d: n=%d, errno=%d\n", fd, n, errno); - if (n <= 0) { - printf("total %d bytes\n", sum); - break; - } - sum += n; - } -} |