int main(int argc, char **argv) { FILE *fp_in, *fp_out; int action = 0; if (argc != 4) { fprintf(stderr, "usage: %s [-a|-r] <input> <output>\n", argv[0]); return 1; } if (strcmp(argv[1], "-a") == 0) { action = 1; } else if (strcmp(argv[1], "-r") == 0) { action = 2; } else { fprintf(stderr, "usage: %s [-a|-r] <input> <output>\n", argv[0]); } fp_in = fopen(argv[2], "r"); if (!fp_in) { fprintf(stderr, "can't open input file '%s': %s\n", argv[2], strerror(errno)); return 1; } fp_out = fopen(argv[3], "w"); if (!fp_out) { fprintf(stderr, "can't open output file '%s': %s\n", argv[3], strerror(errno)); return 1; } switch (action) { case 1: pack_krnl(fp_in, fp_out); break; case 2: unpack_krnl(fp_in, fp_out); break; default: break; } return 0; }
int main(int argc, char **argv) { FILE *fp_in, *fp_out; int action = 0; if (argc != 4) { fprintf(stderr, "Not enough arguments!"); help(argv); return 1; } fp_in = fopen(argv[2], "rb"); if (!fp_in) { fprintf(stderr, "can't open input file '%s': %s\n", argv[2], strerror(errno)); return 1; } fp_out = fopen(argv[3], "wb"); if (!fp_out) { fprintf(stderr, "can't open output file '%s': %s\n", argv[3], strerror(errno)); return 1; } if (strcmp(argv[1],"-pack") == 0) { pack_krnl(fp_in, fp_out); } else if (strcmp(argv[1],"-unpack") == 0) { unpack_krnl(fp_in, fp_out); } else { help(argv); return 1; } return 0; }