Skip to content

Commit 963213c

Browse files
committed
Move all newlines to beginning of strings
1 parent fe9551d commit 963213c

File tree

1 file changed

+61
-58
lines changed

1 file changed

+61
-58
lines changed

extract-xiso.c

Lines changed: 61 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -430,23 +430,23 @@
430430
", banner, argv[ 0 ], argv[ 0 ] );
431431

432432
#define exiso_log(...) if ( ! s_quiet ) { printf(__VA_ARGS__); }
433-
#define exiso_warn(...) if ( ! s_quiet ) { printf(__VA_ARGS__); s_warned = true; }
433+
#define exiso_warn(...) if ( ! s_quiet ) { printf("\nWARNING: " __VA_ARGS__); s_warned = true; }
434434
#define flush() if ( ! s_quiet ) { fflush( stdout ); }
435435

436-
#define mem_err() { log_err( __FILE__, __LINE__, "out of memory error\n" ); err = 1; }
437-
#define read_err() { log_err( __FILE__, __LINE__, "read error: %s\n", strerror( errno ) ); err = 1; }
438-
#define seek_err() { log_err( __FILE__, __LINE__, "seek error: %s\n", strerror( errno ) ); err = 1; }
439-
#define write_err() { log_err( __FILE__, __LINE__, "write error: %s\n", strerror( errno ) ); err = 1; }
440-
#define rread_err() { log_err( __FILE__, __LINE__, "unable to read remote file\n" ); err = 1; }
441-
#define rwrite_err() { log_err( __FILE__, __LINE__, "unable to write to remote file\n" ); err = 1; }
442-
#define unknown_err() { log_err( __FILE__, __LINE__, "an unrecoverable error has occurred\n" ); err = 1; }
443-
#define open_err( in_file ) { log_err( __FILE__, __LINE__, "open error: %s %s\n", ( in_file ), strerror( errno ) ); err = 1; }
444-
#define chdir_err( in_dir ) { log_err( __FILE__, __LINE__, "unable to change to directory %s: %s\n", ( in_dir ), strerror( errno ) ); err = 1; }
445-
#define mkdir_err( in_dir ) { log_err( __FILE__, __LINE__, "unable to create directory %s: %s\n", ( in_dir ), strerror( errno ) ); err = 1; }
446-
#define ropen_err( in_file ) { log_err( __FILE__, __LINE__, "unable to open remote file %s\n", ( in_file ) ); err = 1; }
447-
#define rchdir_err( in_dir ) { log_err( __FILE__, __LINE__, "unable to change to remote directory %s\n", ( in_dir ) ); err = 1; }
448-
#define rmkdir_err( in_dir ) { log_err( __FILE__, __LINE__, "unable to create remote directory %s\n", ( in_dir ) ); err = 1; }
449-
#define misc_err( in_format, a, b, c ) { log_err( __FILE__, __LINE__, ( in_format ), ( a ), ( b ), ( c ) ); err = 1; }
436+
#define mem_err() { log_err( __FILE__, __LINE__, "out of memory error" ); err = 1; }
437+
#define read_err() { log_err( __FILE__, __LINE__, "read error: %s", strerror( errno ) ); err = 1; }
438+
#define seek_err() { log_err( __FILE__, __LINE__, "seek error: %s", strerror( errno ) ); err = 1; }
439+
#define write_err() { log_err( __FILE__, __LINE__, "write error: %s", strerror( errno ) ); err = 1; }
440+
#define rread_err() { log_err( __FILE__, __LINE__, "unable to read remote file" ); err = 1; }
441+
#define rwrite_err() { log_err( __FILE__, __LINE__, "unable to write to remote file" ); err = 1; }
442+
#define unknown_err() { log_err( __FILE__, __LINE__, "an unrecoverable error has occurred" ); err = 1; }
443+
#define open_err( in_file ) { log_err( __FILE__, __LINE__, "open error: %s %s", ( in_file ), strerror( errno ) ); err = 1; }
444+
#define chdir_err( in_dir ) { log_err( __FILE__, __LINE__, "unable to change to directory %s: %s", ( in_dir ), strerror( errno ) ); err = 1; }
445+
#define mkdir_err( in_dir ) { log_err( __FILE__, __LINE__, "unable to create directory %s: %s", ( in_dir ), strerror( errno ) ); err = 1; }
446+
#define ropen_err( in_file ) { log_err( __FILE__, __LINE__, "unable to open remote file %s", ( in_file ) ); err = 1; }
447+
#define rchdir_err( in_dir ) { log_err( __FILE__, __LINE__, "unable to change to remote directory %s", ( in_dir ) ); err = 1; }
448+
#define rmkdir_err( in_dir ) { log_err( __FILE__, __LINE__, "unable to create remote directory %s", ( in_dir ) ); err = 1; }
449+
#define misc_err( ... ) { log_err( __FILE__, __LINE__, __VA_ARGS__ ); err = 1; }
450450

451451

452452
#ifndef min
@@ -784,7 +784,6 @@ int main( int argc, char **argv ) {
784784
}
785785
} else for ( i = optind; ! err && i < argc; ++i ) {
786786
++isos;
787-
exiso_log( "\n" );
788787
s_total_bytes = s_total_files = 0;
789788

790789

@@ -804,19 +803,19 @@ int main( int argc, char **argv ) {
804803

805804
if ( rewrite ) {
806805
if ( optimized ) {
807-
exiso_log( "%s is already optimized, skipping...\n", argv[ i ] );
806+
exiso_log( "\n%s is already optimized, skipping...\n", argv[ i ] );
808807
continue;
809808
}
810809

811810
if ( ! err ) {
812811
if (asprintf(&buf, "%s.old", argv[i]) == -1) mem_err();
813-
if ( ! err && stat( buf, &sb ) != -1 ) misc_err( "%s already exists, cannot rewrite %s\n", buf, argv[ i ], 0 );
814-
if ( ! err && rename( argv[ i ], buf ) == -1 ) misc_err( "cannot rename %s to %s\n", argv[ i ], buf, 0 );
812+
if ( ! err && stat( buf, &sb ) != -1 ) misc_err( "%s already exists, cannot rewrite %s", buf, argv[ i ] );
813+
if ( ! err && rename( argv[ i ], buf ) == -1 ) misc_err( "cannot rename %s to %s", argv[ i ], buf );
815814

816815
if ( err ) { err = 0; free( buf ); continue; }
817816
}
818817
if ( ! err ) err = decode_xiso( buf, path, k_rewrite, &new_iso_path );
819-
if ( ! err && delete && unlink( buf ) == -1 ) log_err( __FILE__, __LINE__, "unable to delete %s\n", buf );
818+
if ( ! err && delete && unlink( buf ) == -1 ) log_err( __FILE__, __LINE__, "unable to delete %s", buf );
820819

821820
if ( buf ) free( buf );
822821
} else {
@@ -826,7 +825,7 @@ int main( int argc, char **argv ) {
826825
}
827826
}
828827

829-
if ( ! err ) exiso_log( "\n%u files in %s total %lld bytes\n", s_total_files, rewrite ? new_iso_path : argv[ i ], (long long int) s_total_bytes );
828+
if ( ! err ) exiso_log( "\n\n%u files in %s total %lld bytes\n", s_total_files, rewrite ? new_iso_path : argv[ i ], (long long int) s_total_bytes );
830829

831830
if ( new_iso_path ) {
832831
if ( ! err ) exiso_log( "\n%s successfully rewritten%s%s\n", argv[ i ], path ? " as " : ".", path ? new_iso_path : "" );
@@ -839,7 +838,7 @@ int main( int argc, char **argv ) {
839838
}
840839

841840
if ( ! err && isos > 1 ) exiso_log( "\n%u files in %u xiso's total %lld bytes\n", s_total_files_all_isos, isos, (long long int) s_total_bytes_all_isos );
842-
if ( s_warned ) exiso_log( "\nWARNING: Warning(s) were issued during execution--review stderr!\n" );
841+
if ( s_warned ) exiso_warn( "Warning(s) were issued during execution--review stderr!\n" );
843842

844843
boyer_moore_done();
845844

@@ -850,26 +849,33 @@ int main( int argc, char **argv ) {
850849
}
851850

852851

853-
int log_err( const char *in_file, int in_line, const char *in_format, ... ) {
852+
int log_err(const char* in_file, int in_line, const char* in_format, ...) {
854853
va_list ap;
855-
char *format;
854+
char *format;
856855
int ret;
857856

858857
#if DEBUG
859-
asprintf( &format, "%s:%u %s", in_file, in_line, in_format );
858+
asprintf(&format, "%s:%u %s", in_file, in_line, in_format);
860859
#else
861-
format = (char *) in_format;
860+
format = (char*)in_format;
862861
#endif
863-
864-
if ( s_real_quiet ) ret = 0;
862+
863+
if (s_real_quiet) {
864+
ret = 0;
865+
}
866+
else if(format){
867+
va_start(ap, in_format);
868+
fprintf(stderr, "\n");
869+
ret = vfprintf(stderr, format, ap);
870+
fprintf(stderr, "\n");
871+
va_end(ap);
872+
}
865873
else {
866-
va_start( ap, in_format );
867-
ret = vfprintf( stderr, format, ap );
868-
va_end( ap );
874+
ret = 1;
869875
}
870876

871877
#if DEBUG
872-
free( format );
878+
if(format) free(format);
873879
#endif
874880

875881
return ret;
@@ -899,7 +905,7 @@ int verify_xiso( int in_xiso, int32_t *out_root_dir_sector, int32_t *out_root_di
899905
{
900906
if (lseek(in_xiso, (xoff_t)XISO_HEADER_OFFSET + XGD1_LSEEK_OFFSET, SEEK_SET) == -1) seek_err();
901907
if (!err && read(in_xiso, buffer, XISO_HEADER_DATA_LENGTH) != XISO_HEADER_DATA_LENGTH) read_err();
902-
if (!err && memcmp(buffer, XISO_HEADER_DATA, XISO_HEADER_DATA_LENGTH)) misc_err("%s does not appear to be a valid xbox iso image\n", in_iso_name, 0, 0)
908+
if (!err && memcmp(buffer, XISO_HEADER_DATA, XISO_HEADER_DATA_LENGTH)) misc_err("%s does not appear to be a valid xbox iso image", in_iso_name)
903909
else s_xbox_disc_lseek = XGD1_LSEEK_OFFSET;
904910
}
905911
else s_xbox_disc_lseek = XGD3_LSEEK_OFFSET;
@@ -918,12 +924,12 @@ int verify_xiso( int in_xiso, int32_t *out_root_dir_sector, int32_t *out_root_di
918924
// seek to header tail and verify media tag
919925
if ( ! err && lseek( in_xiso, (xoff_t) XISO_FILETIME_SIZE + XISO_UNUSED_SIZE, SEEK_CUR ) == -1 ) seek_err();
920926
if ( ! err && read( in_xiso, buffer, XISO_HEADER_DATA_LENGTH ) != XISO_HEADER_DATA_LENGTH ) read_err();
921-
if ( ! err && memcmp( buffer, XISO_HEADER_DATA, XISO_HEADER_DATA_LENGTH ) ) misc_err( "%s appears to be corrupt\n", in_iso_name, 0, 0 );
927+
if ( ! err && memcmp( buffer, XISO_HEADER_DATA, XISO_HEADER_DATA_LENGTH ) ) misc_err( "%s appears to be corrupt", in_iso_name );
922928

923929
// seek to root directory sector
924930
if ( ! err ) {
925931
if ( ! *out_root_dir_sector && ! *out_root_dir_size ) {
926-
exiso_log( "xbox image %s contains no files.\n", in_iso_name );
932+
exiso_log( "\nxbox image %s contains no files.\n", in_iso_name );
927933
err = err_iso_no_files;
928934
} else {
929935
if ( lseek( in_xiso, (xoff_t) *out_root_dir_sector * XISO_SECTOR_SIZE, SEEK_SET ) == -1 ) seek_err();
@@ -978,7 +984,7 @@ int create_xiso( char *in_root_directory, char *in_output_directory, dir_node_av
978984
#endif
979985
}
980986
if ( ! err ) {
981-
exiso_log( "%s %s%s:\n\n", in_root ? "rewriting" : "\ncreating", iso_name, in_name ? "" : ".iso" );
987+
exiso_log( "\n%s %s%s:\n", in_root ? "rewriting" : "creating", iso_name, in_name ? "" : ".iso" );
982988

983989
root.start_sector = XISO_ROOT_DIRECTORY_SECTOR;
984990

@@ -990,15 +996,15 @@ int create_xiso( char *in_root_directory, char *in_output_directory, dir_node_av
990996
} else {
991997
int i, n = 0;
992998

993-
exiso_log( "generating avl tree from %sfilesystem: ", "" ); flush();
999+
exiso_log("\ngenerating avl tree from filesystem: "); flush();
9941000

9951001
err = generate_avl_tree_local( &root.subdirectory, &n );
9961002

9971003
for ( i = 0; i < n; ++i ) exiso_log( "\b" );
9981004
for ( i = 0; i < n; ++i ) exiso_log( " " );
9991005
for ( i = 0; i < n; ++i ) exiso_log( "\b" );
10001006

1001-
exiso_log( "%s\n\n", err ? "failed!" : "[OK]" );
1007+
exiso_log( "%s\n", err ? "failed!" : "[OK]" );
10021008
}
10031009
}
10041010
if ( ! err && in_progress_callback ) (*in_progress_callback)( 0, s_total_bytes );
@@ -1126,7 +1132,7 @@ int decode_xiso( char *in_xiso, char *in_path, modes in_mode, char **out_iso_pat
11261132
}
11271133
}
11281134

1129-
if ( ! err && ! len ) misc_err( "invalid xiso image name: %s\n", in_xiso, 0, 0 );
1135+
if ( ! err && ! len ) misc_err( "invalid xiso image name: %s", in_xiso );
11301136

11311137
if ( ! err && in_mode == k_extract && in_path ) {
11321138
if ( ( cwd = getcwd( nil, 0 ) ) == nil ) mem_err();
@@ -1139,7 +1145,7 @@ int decode_xiso( char *in_xiso, char *in_path, modes in_mode, char **out_iso_pat
11391145
iso_name = short_name ? short_name : name;
11401146

11411147
if ( ! err && in_mode != k_rewrite ) {
1142-
exiso_log( "%s %s:\n\n", in_mode == k_extract ? "extracting" : "listing", name );
1148+
exiso_log( "\n%s %s:\n", in_mode == k_extract ? "extracting" : "listing", name );
11431149

11441150
if ( in_mode == k_extract ) {
11451151
if ( ! in_path ) {
@@ -1173,7 +1179,7 @@ int decode_xiso( char *in_xiso, char *in_path, modes in_mode, char **out_iso_pat
11731179
}
11741180

11751181
if ( err == err_iso_rewritten ) err = 0;
1176-
if ( err ) misc_err( "failed to %s xbox iso image %s\n", in_mode == k_rewrite ? "rewrite" : in_mode == k_extract ? "extract" : "list", name, 0 );
1182+
if ( err ) misc_err( "failed to %s xbox iso image %s", in_mode == k_rewrite ? "rewrite" : in_mode == k_extract ? "extract" : "list", name );
11771183

11781184
if ( xiso != -1 ) close( xiso );
11791185

@@ -1203,7 +1209,7 @@ int traverse_xiso(int in_xiso, xoff_t in_dir_start, uint16_t entry_offset, char*
12031209
if (in_mode == k_generate_avl) err = (avl_insert(in_root, EMPTY_SUBDIRECTORY) == k_avl_error);
12041210
}
12051211
else {
1206-
exiso_warn("WARNING: Invalid node found and skipped!\n");
1212+
exiso_warn("Invalid node found and skipped!");
12071213
}
12081214
return err;
12091215
}
@@ -1245,7 +1251,7 @@ int traverse_xiso(int in_xiso, xoff_t in_dir_start, uint16_t entry_offset, char*
12451251
if (!err) {
12461252
avl->file_size = node->file_size;
12471253
avl->old_start_sector = node->start_sector;
1248-
if (avl_insert(in_root, avl) == k_avl_error) misc_err("this iso appears to be corrupt\n", 0, 0, 0);
1254+
if (avl_insert(in_root, avl) == k_avl_error) misc_err("this iso appears to be corrupt");
12491255
}
12501256
}
12511257

@@ -1287,8 +1293,7 @@ int process_node(int in_xiso, dir_node* node, char* in_path, modes in_mode, dir_
12871293
if (!err && (err = chdir(node->filename))) chdir_err(node->filename);
12881294
}
12891295
if (!err && in_mode != k_generate_avl) {
1290-
exiso_log("%s%s%s%s (0 bytes)%s", in_mode == k_extract ? "creating " : "", in_path, node->filename, PATH_CHAR_STR, in_mode == k_extract ? " [OK]" : ""); flush();
1291-
exiso_log("\n");
1296+
exiso_log("\n%s%s%s%s (0 bytes)%s", in_mode == k_extract ? "creating " : "", in_path, node->filename, PATH_CHAR_STR, in_mode == k_extract ? " [OK]" : ""); flush();
12921297
}
12931298
}
12941299
}
@@ -1314,8 +1319,7 @@ int process_node(int in_xiso, dir_node* node, char* in_path, modes in_mode, dir_
13141319
err = extract_file(in_xiso, node, in_mode, in_path);
13151320
}
13161321
else {
1317-
exiso_log("%s%s (%u bytes)", in_path, node->filename, node->file_size); flush();
1318-
exiso_log("\n");
1322+
exiso_log("\n%s%s (%u bytes)", in_path, node->filename, node->file_size); flush();
13191323
}
13201324

13211325
++s_total_files;
@@ -1607,8 +1611,9 @@ int extract_file( int in_xiso, dir_node *in_file, modes in_mode , char* path) {
16071611
if ( ! err && lseek( in_xiso, (xoff_t) in_file->start_sector * XISO_SECTOR_SIZE + s_xbox_disc_lseek, SEEK_SET ) == -1 ) seek_err();
16081612

16091613
if ( ! err ) {
1614+
exiso_log("\n");
16101615
if (in_file->file_size == 0) {
1611-
exiso_log("%s%s%s (0 bytes) [100%%]%s\r", in_mode == k_extract ? "extracting " : "", path, in_file->filename, "");
1616+
exiso_log("%s%s%s (0 bytes) [100%%]\r", in_mode == k_extract ? "extracting " : "", path, in_file->filename);
16121617
}
16131618
else {
16141619
i = 0;
@@ -1626,22 +1631,20 @@ int extract_file( int in_xiso, dir_node *in_file, modes in_mode , char* path) {
16261631
}
16271632
totalsize += read_size;
16281633
totalpercent = (totalsize * 100.0f) / in_file->file_size;
1629-
exiso_log("%s%s%s (%u bytes) [%.1f%%]%s\r", in_mode == k_extract ? "extracting " : "", path, in_file->filename, in_file->file_size, totalpercent, "");
1634+
exiso_log("%s%s%s (%u bytes) [%.1f%%]\r", in_mode == k_extract ? "extracting " : "", path, in_file->filename, in_file->file_size, totalpercent);
16301635

16311636
i += read_size;
16321637
size = min(in_file->file_size - i, READWRITE_BUFFER_SIZE);
16331638
} while (i < in_file->file_size && read_size > 0);
16341639
if (!err && i < in_file->file_size) {
1635-
exiso_warn("\nWARNING: File %s is truncated. Reported size: %u bytes, read size: %u bytes!", in_file->filename, in_file->file_size, i);
1640+
exiso_warn("File %s is truncated. Reported size: %u bytes, read size: %u bytes!", in_file->filename, in_file->file_size, i);
16361641
in_file->file_size = i;
16371642
}
16381643
}
16391644
if (in_mode == k_extract) close(out);
16401645
}
16411646
}
16421647

1643-
if ( ! err ) exiso_log( "\n" );
1644-
16451648
return err;
16461649
}
16471650

@@ -1669,7 +1672,7 @@ int write_tree( dir_node_avl *in_avl, write_tree_context *in_context, int in_dep
16691672
else { if ( asprintf( &context.path, "%c", PATH_CHAR ) == -1 ) mem_err(); }
16701673

16711674
if ( ! err ) {
1672-
exiso_log( "adding %s (0 bytes) [OK]\n", context.path );
1675+
exiso_log( "\nadding %s (0 bytes) [OK]", context.path );
16731676

16741677
if ( in_avl->subdirectory != EMPTY_SUBDIRECTORY ) {
16751678
context.xiso = in_context->xiso;
@@ -1728,7 +1731,7 @@ int write_file( dir_node_avl *in_avl, write_tree_context *in_context, int in_dep
17281731
}
17291732

17301733
if ( ! err ) {
1731-
exiso_log( "adding %s%s (%u bytes) ", in_context->path, in_avl->filename, in_avl->file_size ); flush();
1734+
exiso_log( "\nadding %s%s (%u bytes) ", in_context->path, in_avl->filename, in_avl->file_size ); flush();
17321735

17331736
i = 0;
17341737
bytes = in_avl->file_size;
@@ -1778,10 +1781,10 @@ int write_file( dir_node_avl *in_avl, write_tree_context *in_context, int in_dep
17781781
memset(buf, XISO_PAD_BYTE, bytes);
17791782
if (write(in_context->xiso, buf, bytes) != (int)bytes) write_err();
17801783
}
1781-
exiso_log(err ? "failed\n" : "[OK]\n");
1784+
exiso_log(err ? "failed" : "[OK]");
17821785

17831786
if (!err && i != in_avl->file_size) {
1784-
exiso_warn("WARNING: File %s is truncated. Reported size: %u bytes, wrote size: %u bytes!\n", in_avl->filename, i, in_avl->file_size);
1787+
exiso_warn("File %s is truncated. Reported size: %u bytes, wrote size: %u bytes!", in_avl->filename, i, in_avl->file_size);
17851788
}
17861789

17871790
if (!err) {
@@ -1952,7 +1955,7 @@ int generate_avl_tree_local( dir_node_avl **out_root, int *io_n ) {
19521955
} else if ( S_ISREG( sb.st_mode ) ) {
19531956
empty_dir = false;
19541957
if ( sb.st_size > ULONG_MAX ) {
1955-
log_err( __FILE__, __LINE__, "file %s is too large for xiso, skipping...\n", avl->filename );
1958+
log_err( __FILE__, __LINE__, "file %s is too large for xiso, skipping...", avl->filename );
19561959
free( avl->filename );
19571960
free( avl );
19581961
continue;
@@ -1966,7 +1969,7 @@ int generate_avl_tree_local( dir_node_avl **out_root, int *io_n ) {
19661969
}
19671970
}
19681971
if ( ! err ) {
1969-
if ( avl_insert( out_root, avl ) == k_avl_error ) misc_err( "error inserting file %s into tree (duplicate filename?)\n", avl->filename, 0, 0 );
1972+
if ( avl_insert( out_root, avl ) == k_avl_error ) misc_err( "error inserting file %s into tree (duplicate filename?)", avl->filename );
19701973
} else {
19711974
if ( avl ) {
19721975
if ( avl->filename ) free( avl->filename );

0 commit comments

Comments
 (0)