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)); } }
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); } }
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; }
void avro_writer_flush(avro_writer_t writer) { if (is_file_io(writer)) { fflush(avro_writer_to_file(writer)->fp); } }