예제 #1
0
파일: io.c 프로젝트: fizx/node-avro
void avro_writer_free(avro_writer_t writer)
{
	if (is_memory_io(writer)) {
		free(avro_writer_to_memory(writer));
	} else if (is_file_io(writer)) {
		fclose(avro_writer_to_file(writer)->fp);
		free(avro_writer_to_file(writer));
	}
}
예제 #2
0
파일: io.c 프로젝트: 1ack/Impala
void avro_writer_free(avro_writer_t writer)
{
	if (is_memory_io(writer)) {
		avro_freet(struct _avro_writer_memory_t, writer);
	} else if (is_file_io(writer)) {
		if (avro_writer_to_file(writer)->should_close) {
			fclose(avro_writer_to_file(writer)->fp);
		}
		avro_freet(struct _avro_writer_file_t, writer);
	}
}
예제 #3
0
파일: io.c 프로젝트: 1ack/Impala
int avro_write(avro_writer_t writer, void *buf, int64_t len)
{
	if (buf && len >= 0) {
		if (is_memory_io(writer)) {
			return avro_write_memory(avro_writer_to_memory(writer),
						 buf, len);
		} else if (is_file_io(writer)) {
			return avro_write_file(avro_writer_to_file(writer), buf,
					       len);
		}
	}
	return EINVAL;
}
예제 #4
0
파일: io.c 프로젝트: 1ack/Impala
void avro_writer_flush(avro_writer_t writer)
{
	if (is_file_io(writer)) {
		fflush(avro_writer_to_file(writer)->fp);
	}
}