A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://yazgoo.github.io/fuse_kafka/html/handle__file__modified_8c_source.html below:

fuse_kafka: src/handle_file_modified.c Source File

00001 void handle_file_modified(char* path, fk_hash offsets, char* root)
00002 {
00003     char* old_path = path;
00004     if(path == NULL) return;
00005     long int offset = (long int) fk_hash_get(offsets, path, 1);
00006     if(offset == -1)
00007     {
00008         path = strdup(path);
00009         offset = 0;
00010     }
00011     trace_debug("handle_file_modified: File %s modified, offset being %ld.", path, offset);
00012     char* line = 0;
00013     size_t length;
00014     FILE* f = fopen(path, "r");
00015     if(f != NULL)
00016     {
00017         fseek(f, 0, SEEK_END); if(ftell(f) < offset) offset = 0;
00018         fseek(f, offset, SEEK_SET);
00019         ssize_t size;
00020         while((size = getline(&line, &length, f)) > 0)
00021         {
00022             trace_debug("handle_file_modified: File %s, writing %s %d", path, line, size);
00023             output_write(root, path, line, size, 0);
00024         }
00025         if(ftell(f) > offset)
00026         {
00027             trace_debug("handle_file_modified: File %s started reading @%ld, ended @%ld.",
00028                     path, offset, ftell(f));
00029         }
00030         fk_hash_put(offsets, old_path, (void*) ftell(f), 1);
00031         fclose(f);
00032     }
00033     else
00034         if(old_path != path) free(old_path);
00035     free(path);
00036     free(line);
00037 }
00038 

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4