static int read_file_mmap_psb(char* filename, int do_write) { file_reader_mmap_state_t* ph = file_reader_mmap_open(NULL, filename); string_builder_t* psb = sb_alloc(STRING_BUILDER_INIT_SIZE); char* irs = "\n"; int bc = 0; while (TRUE) { char* line = read_line_mmap_psb(ph, psb, irs); if (line == NULL) break; if (do_write) { fputs(line, stdout); fputc('\n', stdout); } bc += strlen(line); } sb_free(psb); file_reader_mmap_close(ph, NULL); return bc; }
static int read_file_mmap_psb(char* filename) { file_reader_mmap_state_t* ph = file_reader_mmap_open(filename); char* irs = "\n"; int irs_len = strlen(irs); string_builder_t sb; string_builder_t* psb = &sb; sb_init(&sb, STRING_BUILDER_INIT_SIZE); int bc = 0; while (TRUE) { char* line = read_line_mmap_psb(ph, psb, irs, irs_len); if (line == NULL) break; bc += strlen(line); } file_reader_mmap_close(ph); return bc; }
// ---------------------------------------------------------------- void* file_reader_mmap_vopen(void* pvstate, char* prepipe, char* file_name) { return file_reader_mmap_open(prepipe, file_name); }