From 5ff920e20597b0eec01f312e8d83d32c883a292a Mon Sep 17 00:00:00 2001 From: Björn Stenberg Date: Thu, 19 Dec 2002 15:00:16 +0000 Subject: Added support for the FM Recorder header git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3029 a1c6a512-1295-4272-9138-f99709370657 --- tools/descramble.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'tools') diff --git a/tools/descramble.c b/tools/descramble.c index d9a4bf59d9..2469db0d21 100644 --- a/tools/descramble.c +++ b/tools/descramble.c @@ -24,22 +24,31 @@ int main (int argc, char** argv) { unsigned long length,i,slen; unsigned char *inbuf,*outbuf; + unsigned char *iname = argv[1]; + unsigned char *oname = argv[2]; + int headerlen = 6; FILE* file; if (argc < 3) { - printf("usage: %s \n",argv[0]); + printf("usage: %s [-fm] \n",argv[0]); return -1; } + + if (argv[1][0] == '-') { /* assume any parameter is -fm :-) */ + headerlen = 24; + iname = argv[2]; + oname = argv[3]; + } /* open file and check size */ - file = fopen(argv[1],"rb"); + file = fopen(iname,"rb"); if (!file) { - perror(argv[1]); + perror(oname); return -1; } fseek(file,0,SEEK_END); - length = ftell(file) - 6; /* skip 6-byte header */ - fseek(file,6,SEEK_SET); + length = ftell(file) - headerlen; /* skip header */ + fseek(file,headerlen,SEEK_SET); inbuf = malloc(length); outbuf = malloc(length); if ( !inbuf || !outbuf ) { @@ -50,7 +59,7 @@ int main (int argc, char** argv) /* read file */ i=fread(inbuf,1,length,file); if ( !i ) { - perror(argv[1]); + perror(iname); return -1; } fclose(file); @@ -65,7 +74,7 @@ int main (int argc, char** argv) } /* write file */ - file = fopen(argv[2],"wb"); + file = fopen(oname,"wb"); if ( !file ) { perror(argv[2]); return -1; -- cgit v1.2.3