mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
33 lines
559 B
C
33 lines
559 B
C
/* mmapcat.c - derived from source by misiek@pld.ORG.PL */
|
|
|
|
#include <fcntl.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <unistd.h>
|
|
#include <sys/mman.h>
|
|
#include <sys/stat.h>
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
int fd;
|
|
char *ptr, *ptr2;
|
|
struct stat st;
|
|
|
|
fd=open(argv[1],O_RDONLY);
|
|
if(fd<0) {
|
|
perror(argv[1]);
|
|
exit(1);
|
|
}
|
|
fstat(fd,&st);
|
|
if(st.st_size%4096==0) {
|
|
fprintf(stderr,"bad file size!\n");
|
|
exit(1);
|
|
}
|
|
|
|
ptr2 = ptr = mmap(NULL,st.st_size,PROT_READ,MAP_PRIVATE,fd,0);
|
|
while (*ptr!=0) ptr++;
|
|
write(1,ptr2,ptr - ptr2);
|
|
exit(0);
|
|
}
|
|
|