Skip to content

Commit f72f2e9

Browse files
committed
Move all newlines to beginning of strings
1 parent b034c12 commit f72f2e9

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();
@@ -979,7 +985,7 @@ int create_xiso( char *in_root_directory, char *in_output_directory, dir_node_av
979985
#endif
980986
}
981987
if ( ! err ) {
982-
exiso_log( "%s %s%s:\n\n", in_root ? "rewriting" : "\ncreating", iso_name, in_name ? "" : ".iso" );
988+
exiso_log( "\n%s %s%s:\n", in_root ? "rewriting" : "creating", iso_name, in_name ? "" : ".iso" );
983989

984990
root.start_sector = XISO_ROOT_DIRECTORY_SECTOR;
985991

@@ -991,15 +997,15 @@ int create_xiso( char *in_root_directory, char *in_output_directory, dir_node_av
991997
} else {
992998
int i, n = 0;
993999

994-
exiso_log( "generating avl tree from %sfilesystem: ", "" ); flush();
1000+
exiso_log("\ngenerating avl tree from filesystem: "); flush();
9951001

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

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

1002-
exiso_log( "%s\n\n", err ? "failed!" : "[OK]" );
1008+
exiso_log( "%s\n", err ? "failed!" : "[OK]" );
10031009
}
10041010
}
10051011
if ( ! err && in_progress_callback ) (*in_progress_callback)( 0, s_total_bytes );
@@ -1130,7 +1136,7 @@ int decode_xiso( char *in_xiso, char *in_path, modes in_mode, char **out_iso_pat
11301136
}
11311137
}
11321138

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

11351141
if ( ! err && in_mode == k_extract && in_path ) {
11361142
if ( ( cwd = getcwd( nil, 0 ) ) == nil ) mem_err();
@@ -1143,7 +1149,7 @@ int decode_xiso( char *in_xiso, char *in_path, modes in_mode, char **out_iso_pat
11431149
iso_name = short_name ? short_name : name;
11441150

11451151
if ( ! err && in_mode != k_rewrite ) {
1146-
exiso_log( "%s %s:\n\n", in_mode == k_extract ? "extracting" : "listing", name );
1152+
exiso_log( "\n%s %s:\n", in_mode == k_extract ? "extracting" : "listing", name );
11471153

11481154
if ( in_mode == k_extract ) {
11491155
if ( ! in_path ) {
@@ -1177,7 +1183,7 @@ int decode_xiso( char *in_xiso, char *in_path, modes in_mode, char **out_iso_pat
11771183
}
11781184

11791185
if ( err == err_iso_rewritten ) err = 0;
1180-
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 );
1186+
if ( err ) misc_err( "failed to %s xbox iso image %s", in_mode == k_rewrite ? "rewrite" : in_mode == k_extract ? "extract" : "list", name );
11811187

11821188
if ( xiso != -1 ) close( xiso );
11831189

@@ -1207,7 +1213,7 @@ int traverse_xiso(int in_xiso, xoff_t in_dir_start, uint16_t entry_offset, char*
12071213
if (in_mode == k_generate_avl) err = (avl_insert(in_root, EMPTY_SUBDIRECTORY) == k_avl_error);
12081214
}
12091215
else {
1210-
exiso_warn("WARNING: Invalid node found and skipped!\n");
1216+
exiso_warn("Invalid node found and skipped!");
12111217
}
12121218
return err;
12131219
}
@@ -1249,7 +1255,7 @@ int traverse_xiso(int in_xiso, xoff_t in_dir_start, uint16_t entry_offset, char*
12491255
if (!err) {
12501256
avl->file_size = node->file_size;
12511257
avl->old_start_sector = node->start_sector;
1252-
if (avl_insert(in_root, avl) == k_avl_error) misc_err("this iso appears to be corrupt\n", 0, 0, 0);
1258+
if (avl_insert(in_root, avl) == k_avl_error) misc_err("this iso appears to be corrupt");
12531259
}
12541260
}
12551261

@@ -1291,8 +1297,7 @@ int process_node(int in_xiso, dir_node* node, char* in_path, modes in_mode, dir_
12911297
if (!err && (err = chdir(node->filename))) chdir_err(node->filename);
12921298
}
12931299
if (!err && in_mode != k_generate_avl) {
1294-
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();
1295-
exiso_log("\n");
1300+
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();
12961301
}
12971302
}
12981303
}
@@ -1318,8 +1323,7 @@ int process_node(int in_xiso, dir_node* node, char* in_path, modes in_mode, dir_
13181323
err = extract_file(in_xiso, node, in_mode, in_path);
13191324
}
13201325
else {
1321-
exiso_log("%s%s (%u bytes)", in_path, node->filename, node->file_size); flush();
1322-
exiso_log("\n");
1326+
exiso_log("\n%s%s (%u bytes)", in_path, node->filename, node->file_size); flush();
13231327
}
13241328

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

16131617
if ( ! err ) {
1618+
exiso_log("\n");
16141619
if (in_file->file_size == 0) {
1615-
exiso_log("%s%s%s (0 bytes) [100%%]%s\r", in_mode == k_extract ? "extracting " : "", path, in_file->filename, "");
1620+
exiso_log("%s%s%s (0 bytes) [100%%]\r", in_mode == k_extract ? "extracting " : "", path, in_file->filename);
16161621
}
16171622
else {
16181623
i = 0;
@@ -1630,22 +1635,20 @@ int extract_file( int in_xiso, dir_node *in_file, modes in_mode , char* path) {
16301635
}
16311636
totalsize += read_size;
16321637
totalpercent = (totalsize * 100.0f) / in_file->file_size;
1633-
exiso_log("%s%s%s (%u bytes) [%.1f%%]%s\r", in_mode == k_extract ? "extracting " : "", path, in_file->filename, in_file->file_size, totalpercent, "");
1638+
exiso_log("%s%s%s (%u bytes) [%.1f%%]\r", in_mode == k_extract ? "extracting " : "", path, in_file->filename, in_file->file_size, totalpercent);
16341639

16351640
i += read_size;
16361641
size = min(in_file->file_size - i, READWRITE_BUFFER_SIZE);
16371642
} while (i < in_file->file_size && read_size > 0);
16381643
if (!err && i < in_file->file_size) {
1639-
exiso_warn("\nWARNING: File %s is truncated. Reported size: %u bytes, read size: %u bytes!", in_file->filename, in_file->file_size, i);
1644+
exiso_warn("File %s is truncated. Reported size: %u bytes, read size: %u bytes!", in_file->filename, in_file->file_size, i);
16401645
in_file->file_size = i;
16411646
}
16421647
}
16431648
if (in_mode == k_extract) close(out);
16441649
}
16451650
}
16461651

1647-
if ( ! err ) exiso_log( "\n" );
1648-
16491652
return err;
16501653
}
16511654

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

16751678
if ( ! err ) {
1676-
exiso_log( "adding %s (0 bytes) [OK]\n", context.path );
1679+
exiso_log( "\nadding %s (0 bytes) [OK]", context.path );
16771680

16781681
if ( in_avl->subdirectory != EMPTY_SUBDIRECTORY ) {
16791682
context.xiso = in_context->xiso;
@@ -1732,7 +1735,7 @@ int write_file( dir_node_avl *in_avl, write_tree_context *in_context, int in_dep
17321735
}
17331736

17341737
if ( ! err ) {
1735-
exiso_log( "adding %s%s (%u bytes) ", in_context->path, in_avl->filename, in_avl->file_size ); flush();
1738+
exiso_log( "\nadding %s%s (%u bytes) ", in_context->path, in_avl->filename, in_avl->file_size ); flush();
17361739

17371740
i = 0;
17381741
bytes = in_avl->file_size;
@@ -1782,10 +1785,10 @@ int write_file( dir_node_avl *in_avl, write_tree_context *in_context, int in_dep
17821785
memset(buf, XISO_PAD_BYTE, bytes);
17831786
if (write(in_context->xiso, buf, bytes) != (int)bytes) write_err();
17841787
}
1785-
exiso_log(err ? "failed\n" : "[OK]\n");
1788+
exiso_log(err ? "failed" : "[OK]");
17861789

17871790
if (!err && i != in_avl->file_size) {
1788-
exiso_warn("WARNING: File %s is truncated. Reported size: %u bytes, wrote size: %u bytes!\n", in_avl->filename, i, in_avl->file_size);
1791+
exiso_warn("File %s is truncated. Reported size: %u bytes, wrote size: %u bytes!", in_avl->filename, i, in_avl->file_size);
17891792
}
17901793

17911794
if (!err) {
@@ -1956,7 +1959,7 @@ int generate_avl_tree_local( dir_node_avl **out_root, int *io_n ) {
19561959
} else if ( S_ISREG( sb.st_mode ) ) {
19571960
empty_dir = false;
19581961
if ( sb.st_size > ULONG_MAX ) {
1959-
log_err( __FILE__, __LINE__, "file %s is too large for xiso, skipping...\n", avl->filename );
1962+
log_err( __FILE__, __LINE__, "file %s is too large for xiso, skipping...", avl->filename );
19601963
free( avl->filename );
19611964
free( avl );
19621965
continue;
@@ -1970,7 +1973,7 @@ int generate_avl_tree_local( dir_node_avl **out_root, int *io_n ) {
19701973
}
19711974
}
19721975
if ( ! err ) {
1973-
if ( avl_insert( out_root, avl ) == k_avl_error ) misc_err( "error inserting file %s into tree (duplicate filename?)\n", avl->filename, 0, 0 );
1976+
if ( avl_insert( out_root, avl ) == k_avl_error ) misc_err( "error inserting file %s into tree (duplicate filename?)", avl->filename );
19741977
} else {
19751978
if ( avl ) {
19761979
if ( avl->filename ) free( avl->filename );

0 commit comments

Comments
 (0)