Пример #1
0
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;
}
Пример #2
0
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;
}
Пример #3
0
// ----------------------------------------------------------------
void* file_reader_mmap_vopen(void* pvstate, char* prepipe, char* file_name) {
	return file_reader_mmap_open(prepipe, file_name);
}