lol I know it means nothing but look....ITS A BOOT LOADER LOL
ldr_size = fread(ldr_buf, 1, size, ldrfile);
fclose(ldrfile);
if (ldr_size > size - 0x200 * hdr.offset2) {
printf("boot loader is too large.\n");
ret = 10;
goto end;
}
}
/* change boot flag */
if (n_flag >= 0) {
write_be32(hdr_buf + 0x200, n_flag);
if ((fseek(file, 0x200, SEEK_SET) != 0) ||
(fwrite(hdr_buf + 0x200, 4, 1, file) < 1)) {
perror(argv[0]);
ret = 11;
goto end;
}
printf("boot flag changed.\n");
}
/* change boot loader format flag */
if (n_format >= 0) {
write_be32(hdr_buf + 0x20, n_format);
if ((fseek(file, 0x20, SEEK_SET) != 0) ||
(fwrite(hdr_buf + 0x20, 4, 1, file) < 1)) {
perror(argv[0]);
ret = 12;
goto end;
}
printf("boot loader format changed.\n");
}
/* write boot loader */
if (n_file != 0) {
if ((fseek(file, hdr.offset2 * 0x200, SEEK_SET) != 0) ||
(fwrite(ldr_buf, ldr_size, 1, file) < 1)) {
perror(argv[0]);
ret = 13;
goto end;
}
write_be32(hdr_buf + 0x24, ldr_size);
if ((fseek(file, 0x24, SEEK_SET) != 0) ||
(fwrite(hdr_buf + 0x24, 4, 1, file) < 1)) {
perror(argv[0]);
ret = 14;
goto end;
}
printf("new boot loader wrote(%ld bytes).\n", ldr_size);
}