int main(int argc, char **argv) { int res; if(0 != check_args(argc, argv)) return 1; const char *old_filename = argv[1]; char *new_filename; /* verify checksum*/ if(0 == md5_check_file(old_filename, JP_SPC_MD5)) { fprintf(stderr, "ERROR - invalid file checksum.\n"); res = 1; goto clean; } new_filename = get_new_filename(old_filename); /* copy file */ file_clone(new_filename, old_filename); /* expand rom */ expand(new_filename); /* insert screentitle */ /* insert font fr */ res = 0; clean: if(NULL != new_filename) free(new_filename); return res; }
int write_in_file(t_file *file, unsigned char *bytes, header_t *header, char *filename) { char *new_filename; int size_file; int fd; if ((new_filename = get_new_filename(filename)) == NULL) return (-1); size_file = get_max(file); if ((fd = open(new_filename, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)) == -1) return (my_putstr("error: open\n", 2)); write(fd, header, sizeof(*header)); write(fd, bytes, size_file); close(fd); my_putstr(" ---> ", 1); my_putstr(new_filename, 1); my_putstr(" <---\n", 1); free(new_filename); return (0); }