diff options
Diffstat (limited to 'Xenogears/archive.cpp')
-rw-r--r-- | Xenogears/archive.cpp | 74 |
1 files changed, 37 insertions, 37 deletions
diff --git a/Xenogears/archive.cpp b/Xenogears/archive.cpp index 6701c2c..286fa43 100644 --- a/Xenogears/archive.cpp +++ b/Xenogears/archive.cpp @@ -1,37 +1,37 @@ -#include <stdio.h> -#include <values.h> -#include <stdlib.h> -#include "fileutils.h" - -void dearchive(FILE * f) { - long nb; - long * address; - char fname[100]; - int i; - FILE * f_out; - - fread(&nb, 4, 1, f); - nb++; - fprintf(stderr, "Reading index... (%li elements)\n", nb); - - address = (long *) malloc(nb * sizeof(long) + 1); - - for (i = 0; i < nb; i++) { - fread(address + i, 4, 1, f); - } - address[nb] = MAXINT; - - for (i = 0; i < nb; i++) { - fprintf(stderr, "Dumping file %i\n", i); - sprintf(fname, "part-%i.lz", i); - f_out = fopen(fname, "wb"); - copy(fileno(f), fileno(f_out), address[i + 1] - address[i]); - fclose(f_out); - } - - free(address); -} - -int main(void) { - dearchive(stdin); -} +#include <stdio.h>
+#include <values.h>
+#include <stdlib.h>
+#include "fileutils.h"
+
+void dearchive(FILE * f) {
+ long nb;
+ long * address;
+ char fname[100];
+ int i;
+ FILE * f_out;
+
+ fread(&nb, 4, 1, f);
+ nb++;
+ fprintf(stderr, "Reading index... (%li elements)\n", nb);
+
+ address = (long *) malloc(nb * sizeof(long) + 1);
+
+ for (i = 0; i < nb; i++) {
+ fread(address + i, 4, 1, f);
+ }
+ address[nb] = MAXINT;
+
+ for (i = 0; i < nb; i++) {
+ fprintf(stderr, "Dumping file %i\n", i);
+ sprintf(fname, "part-%i.lz", i);
+ f_out = fopen(fname, "wb");
+ copy(fileno(f), fileno(f_out), address[i + 1] - address[i]);
+ fclose(f_out);
+ }
+
+ free(address);
+}
+
+int main(void) {
+ dearchive(stdin);
+}
|