make this run at a reasonable speed - say a few hundred times faster

This commit is contained in:
Steve Lord
2002-06-18 11:55:12 +00:00
parent eafc89f616
commit ea2c992037
+13 -8
View File
@@ -2,25 +2,30 @@
#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) {
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);
}