fix clean
[tridge/junkcode.git] / range_find.c
1 #include <stdio.h>
2 #include <unistd.h>
3 #include <sys/mman.h>
4 #include <fcntl.h>
5 #include <sys/file.h>
6
7 static void *map_file(char *fname, size_t *size)
8 {
9         int fd = open(fname, O_RDONLY);
10         struct stat st;
11         void *p;
12
13         fstat(fd, &st);
14         p = mmap(0, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
15         close(fd);
16
17         *size = st.st_size;
18         return p;
19 }
20
21 int main(int argc, const char *argv[])
22 {
23         const char *fname;
24         char *p, *str;
25         size_t size;
26         int slen;
27
28         if (argc < 3) {
29                 printf("range_find <file> <string>\n");
30                 exit(1);
31         }
32
33         fname = argv[1];
34         str = argv[2];
35
36         slen = strlen(str);
37
38         p = map_file(fname, &size);
39         if (p == NULL) {
40                 perror(fname);
41         }
42         
43         printf("Searching for '%s' in '%s'\n", str, fname);
44
45
46         return 0;
47 }