[Scummvm-cvs-logs] CVS: tools compress_simon.c,1.4,1.5
Gregory Montoir
cyx at users.sourceforge.net
Tue Mar 29 13:17:00 CEST 2005
Update of /cvsroot/scummvm/tools
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19363
Modified Files:
compress_simon.c
Log Message:
Changed compress_simon to match compress_sou behaviour, that is : creating temporary files in current directory. Should fix bug #1169111.
Index: compress_simon.c
===================================================================
RCS file: /cvsroot/scummvm/tools/compress_simon.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- compress_simon.c 1 Jan 2005 10:33:29 -0000 1.4
+++ compress_simon.c 29 Mar 2005 21:16:13 -0000 1.5
@@ -21,6 +21,9 @@
#include "compress.h"
+#define TEMP_DAT "tempfile.dat"
+#define TEMP_IDX "tempfile.idx"
+
static FILE *input, *output_idx, *output_snd;
static CompressMode gCompMode = kMP3Mode;
@@ -49,17 +52,15 @@
fclose(output_idx);
fclose(input);
- sprintf(tmp, "%s%s", infile_base, head);
+ sprintf(tmp, "%s.%s", infile_base, head);
output_idx = fopen(tmp, "wb");
- sprintf(tmp, "%sidx", infile_base);
- input = fopen(tmp, "rb");
+ input = fopen(TEMP_IDX, "rb");
while ((size = fread(fbuf, 1, 2048, input)) > 0) {
fwrite(fbuf, 1, size, output_idx);
}
fclose(input);
- sprintf(tmp, "%sdat", infile_base);
- input = fopen(tmp, "rb");
+ input = fopen(TEMP_DAT, "rb");
while ((size = fread(fbuf, 1, 2048, input)) > 0) {
fwrite(fbuf, 1, size, output_idx);
}
@@ -67,10 +68,8 @@
fclose(output_idx);
/* And some clean-up :-) */
- sprintf(tmp, "%sidx", infile_base);
- unlink(tmp);
- sprintf(tmp, "%sdat", infile_base);
- unlink(tmp);
+ unlink(TEMP_IDX);
+ unlink(TEMP_DAT);
unlink(TEMP_RAW);
unlink(tempEncoded);
unlink(TEMP_WAV);
@@ -187,18 +186,22 @@
static void convert_pc(char *infile)
{
- int i, n, size, num;
- char tmp[256];
+ int i, size, num;
uint32 filenums[32768];
uint32 offsets[32768];
+ char *p;
- memccpy(infile_base, infile, '.', strlen(infile));
- n = strlen(infile_base);
- if (infile_base[n-1] == '.')
- infile_base[n] = '\0';
- else {
- infile_base[n] = '.';
- infile_base[n + 1] = '\0';
+ p = strrchr(infile, '/');
+ if (!p) {
+ p = strrchr(infile, '\\');
+ if (!p) {
+ p = infile - 1;
+ }
+ }
+ strcpy(infile_base, p + 1);
+ p = strrchr(infile_base, '.');
+ if (p) {
+ *p = '\0';
}
input = fopen(infile, "rb");
@@ -207,11 +210,17 @@
exit(-1);
}
- sprintf(tmp, "%sidx", infile_base);
- output_idx = fopen(tmp, "wb");
+ output_idx = fopen(TEMP_IDX, "wb");
+ if (!output_idx) {
+ printf("Can't open file " TEMP_IDX " for write!\n" );
+ exit(-1);
+ }
- sprintf(tmp, "%sdat", infile_base);
- output_snd = fopen(tmp, "wb");
+ output_snd = fopen(TEMP_DAT, "wb");
+ if (!output_snd) {
+ printf("Can't open file " TEMP_DAT " for write!\n" );
+ exit(-1);
+ }
num = get_offsets(filenums, offsets);
@@ -243,8 +252,7 @@
uint32 filenums[32768];
uint32 offsets[32768];
-
- sprintf(infile_base, "simon2.");
+ sprintf(infile_base, "simon2");
input = fopen("voices.idx", "rb");
if (!input) {
@@ -252,11 +260,17 @@
exit(-1);
}
- sprintf(tmp, "%sidx", infile_base);
- output_idx = fopen(tmp, "wb");
+ output_idx = fopen(TEMP_IDX, "wb");
+ if (!output_idx) {
+ printf("Can't open file " TEMP_IDX " for write!\n" );
+ exit(-1);
+ }
- sprintf(tmp, "%sdat", infile_base);
- output_snd = fopen(tmp, "wb");
+ output_snd = fopen(TEMP_DAT, "wb");
+ if (!output_snd) {
+ printf("Can't open file " TEMP_DAT " for write!\n" );
+ exit(-1);
+ }
num = get_offsets_mac(filenums, offsets);
More information about the Scummvm-git-logs
mailing list