#include "../include/program.h" #include #include void amal_program_init(amal_program *self) { ignore_result_int(buffer_init(&self->data, NULL)); } void amal_program_deinit(amal_program *self) { buffer_deinit(&self->data); } int amal_program_append_bytecode(amal_program *self, Bytecode *bytecode) { return buffer_append(&self->data, bytecode->data.data, bytecode->data.size); } int amal_program_run(amal_program *self) { /* TODO: Implement */ (void)self; return 0; } int amal_program_save(amal_program *self, const char *filepath) { FILE *file; file = fopen(filepath, "wb"); if(!file) { int err; err = errno; perror(filepath); return -err; } if(fwrite(self->data.data, 1, self->data.size, file) != self->data.size) { int err; err = errno; perror(filepath); return -err; } fclose(file); return 0; }