From 6922e6678d247af8c9d63df7a3db2fe83c328f7e Mon Sep 17 00:00:00 2001 From: Dirk Engling Date: Tue, 25 Feb 2014 00:30:31 +0100 Subject: Get rid of warnings uncovered with clangs -Weverything --- src/export/extract_version_2.c | 65 +++++++++++++++++++++--------------------- 1 file changed, 32 insertions(+), 33 deletions(-) (limited to 'src/export/extract_version_2.c') diff --git a/src/export/extract_version_2.c b/src/export/extract_version_2.c index 6686dca..c4914a7 100644 --- a/src/export/extract_version_2.c +++ b/src/export/extract_version_2.c @@ -28,10 +28,9 @@ static uint8_t mantra_in[] = { 0x68, 0x35, 0x2d, 0x6c }; int main( int args, char **argv ) { - int filenum = 0, run = 1; - size_t offset = 0, reported = 0, enc_len = 32; - ssize_t oldoffset = -1; - uint8_t mantra[4], id0, id5, *mappedfile; + int filenum = 0, run = 1, first_run = 1; + size_t offset = 0, old_offset = 0, reported = 0, enc_len = 32; + uint8_t mantra[4], id0, id5, *mapped_file; MAP map; /* For streets we do have a enc_len of 34 */ @@ -39,11 +38,11 @@ int main( int args, char **argv ) switch( getopt( args, argv, ":e:" ) ) { case -1 : run = 0; break; case 'e': - enc_len = atol( optarg ); + enc_len = strtoul( optarg, 0, 0 ); break; default: - fputs( "Syntax: %s [-e encrypted_length (default: 32, for streets 34 or 0)] path-to-teiln.dat", stderr ); exit( 1 ); - break; + fputs( "Syntax: %s [-e encrypted_length (default: 32, for streets 34 or 0)] path-to-teiln.dat", stderr ); + exit( 1 ); } } run = 1; @@ -52,25 +51,25 @@ int main( int args, char **argv ) { fputs( "Missing filename.", stderr ); exit( 1 ); } map = map_file( argv[optind], 1 ); - mappedfile = map->addr; + mapped_file = map->addr; - mantra[0] = mantra_in[0] ^ mappedfile[4]; - mantra[1] = mantra_in[1] ^ mappedfile[5]; - mantra[2] = mantra_in[2] ^ mappedfile[2]; - mantra[3] = mantra_in[3] ^ mappedfile[3]; + mantra[0] = mantra_in[0] ^ mapped_file[4]; + mantra[1] = mantra_in[1] ^ mapped_file[5]; + mantra[2] = mantra_in[2] ^ mapped_file[2]; + mantra[3] = mantra_in[3] ^ mapped_file[3]; - id0 = mappedfile[0]; - id5 = mappedfile[5]; + id0 = mapped_file[0]; + id5 = mapped_file[5]; while( run ) { while( ( offset < map->size ) && ( - ( mappedfile[ offset + 0 ] != id0 ) || - ( mappedfile[ offset + 2 ] != ( '-' ^ mantra[2] )) || - ( mappedfile[ offset + 3 ] != ( 'l' ^ mantra[3] )) || - ( mappedfile[ offset + 4 ] != ( 'h' ^ mantra[0] )) || - ( mappedfile[ offset + 5 ] != id5 ) || - ( mappedfile[ offset + 6 ] != ( '-' ^ mantra[2] )) + ( mapped_file[ offset + 0 ] != id0 ) || + ( mapped_file[ offset + 2 ] != ( '-' ^ mantra[2] )) || + ( mapped_file[ offset + 3 ] != ( 'l' ^ mantra[3] )) || + ( mapped_file[ offset + 4 ] != ( 'h' ^ mantra[0] )) || + ( mapped_file[ offset + 5 ] != id5 ) || + ( mapped_file[ offset + 6 ] != ( '-' ^ mantra[2] )) ) ) offset++; // printf( "Found an appropriate offset at: %zd\n", offset ); @@ -85,11 +84,12 @@ int main( int args, char **argv ) if( offset == map->size ) run = 0; - if( oldoffset != -1 ) + if( !first_run ) { - uint8_t *mf = mappedfile + oldoffset, df[128]; + uint8_t *mf = mapped_file + old_offset, df[128]; size_t filename_len, header_len, i; - char filename_template[32], filename[32]; + int fh; + char filename[32]; /* De-"crypt" obfuscation to our header copy */ for( i=0; i header_len ) { - write( i, df, enc_len ); - write( i, mf + enc_len, offset - oldoffset - enc_len ); + write( fh, df, enc_len ); + write( fh, mf + enc_len, offset - old_offset - enc_len ); } else { - write( i, df, header_len ); - write( i, mf + header_len, offset - oldoffset - header_len ); + write( fh, df, header_len ); + write( fh, mf + header_len, offset - old_offset - header_len ); } - close( i ); + close( fh ); } - oldoffset = offset; - offset++; + first_run = 0; + old_offset = offset++; } unmap_file( &map ); -- cgit v1.2.3