QA source updates and some associated test changes
[xfstests-dev.git] / src / mmapcat.c
1 /* mmapcat.c - derived from source by misiek@pld.ORG.PL */
2
3 #include <fcntl.h>
4 #include <stdio.h>
5 #include <stdlib.h>
6 #include <unistd.h>
7 #include <sys/mman.h>
8 #include <sys/stat.h>
9
10 int main(int argc, char **argv)
11 {
12         int fd;
13         char *ptr, *ptr2;
14         struct stat st;
15
16         fd=open(argv[1],O_RDONLY);
17         if(fd<0) {
18                 perror(argv[1]);
19                 exit(1);
20         }
21         fstat(fd,&st);
22         if(st.st_size%4096==0) {
23                 fprintf(stderr,"bad file size!\n");
24                 exit(1);
25         }
26
27         ptr2 = ptr = mmap(NULL,st.st_size,PROT_READ,MAP_PRIVATE,fd,0);
28         while (*ptr!=0) ptr++;
29         write(1,ptr2,ptr - ptr2);
30         exit(0);
31 }
32