mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
make this run at a reasonable speed - say a few hundred times faster
This commit is contained in:
+16
-11
@@ -1,26 +1,31 @@
|
||||
/* mmapcat.c - derived from source by misiek@pld.ORG.PL */
|
||||
|
||||
#include <fcntl.h>
|
||||
#include<fcntl.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/mman.h>
|
||||
#include <sys/stat.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int fd;
|
||||
char *ptr;
|
||||
struct stat64 st;
|
||||
int fd,n;
|
||||
char *ptr, *ptr2;
|
||||
struct stat st;
|
||||
|
||||
fd = open(argv[1], O_RDONLY);
|
||||
if (fd < 0) {
|
||||
fd=open(argv[1],O_RDONLY);
|
||||
if(fd<0) {
|
||||
perror(argv[1]);
|
||||
exit(1);
|
||||
}
|
||||
fstat64(fd, &st);
|
||||
ptr = mmap64(NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
|
||||
while (*ptr != 0)
|
||||
write(1, ptr++, 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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user