Skip to content

Commit ed8057e

Browse files
committed
Fix some warnings
1 parent c41e8f9 commit ed8057e

File tree

1 file changed

+21
-20
lines changed

1 file changed

+21
-20
lines changed

extract-xiso.c

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@
334334
#include "win32/asprintf.c"
335335
#endif
336336
#define lseek _lseeki64
337-
#define mkdir( a, b ) mkdir( a )
337+
#define mkdir( a, b ) _mkdir( (a) )
338338

339339
typedef __int32 int32_t;
340340
typedef __int64 xoff_t;
@@ -598,7 +598,7 @@ int create_xiso( char *in_root_directory, char *in_output_directory, dir_node_av
598598
FILE_TIME *alloc_filetime_now( void );
599599
int generate_avl_tree_local( dir_node_avl **out_root, int *io_n );
600600
int generate_avl_tree_remote( dir_node_avl **out_root, int *io_n );
601-
int write_directory( dir_node_avl *in_avl, int in_xiso, int in_depth );
601+
int write_directory( dir_node_avl *in_avl, write_tree_context* in_context, int in_depth );
602602
int write_file( dir_node_avl *in_avl, write_tree_context *in_context, int in_depth );
603603
int write_tree( dir_node_avl *in_avl, write_tree_context *in_context, int in_depth );
604604
int calculate_total_files_and_bytes( dir_node_avl *in_avl, void *in_context, int in_depth );
@@ -1060,7 +1060,7 @@ int create_xiso( char *in_root_directory, char *in_output_directory, dir_node_av
10601060
if ( ! err && ( pos = lseek( xiso, (xoff_t) 0, SEEK_END ) ) == -1 ) seek_err();
10611061
if ( ! err && write( xiso, buf, i = (int) (( XISO_FILE_MODULUS - pos % XISO_FILE_MODULUS ) % XISO_FILE_MODULUS) ) != i ) write_err();
10621062

1063-
if ( ! err ) err = write_volume_descriptors( xiso, ( pos + (xoff_t) i ) / XISO_SECTOR_SIZE );
1063+
if ( ! err ) err = write_volume_descriptors( xiso, (uint32_t)((pos + (xoff_t)i) / XISO_SECTOR_SIZE) );
10641064

10651065
if ( ! err && lseek( xiso, (xoff_t) XISO_OPTIMIZED_TAG_OFFSET, SEEK_SET ) == -1 ) seek_err();
10661066
if ( ! err && write( xiso, XISO_OPTIMIZED_TAG, XISO_OPTIMIZED_TAG_LENGTH ) != XISO_OPTIMIZED_TAG_LENGTH ) write_err();
@@ -1123,7 +1123,7 @@ int decode_xiso( char *in_xiso, char *in_path, modes in_mode, char **out_iso_pat
11231123

11241124
if ( ! err && in_mode == k_extract && in_path ) {
11251125
if ( ( cwd = getcwd( nil, 0 ) ) == nil ) mem_err();
1126-
if ( ! err && mkdir( in_path, 0755 ) );
1126+
if ( ! err && mkdir( in_path, 0755 ) == -1 ) mkdir_err( in_path );
11271127
if ( ! err && chdir( in_path ) == -1 ) chdir_err( in_path );
11281128
}
11291129

@@ -1582,7 +1582,8 @@ char *boyer_moore_search( char *in_text, long in_text_len ) {
15821582
int extract_file( int in_xiso, dir_node *in_file, modes in_mode , char* path) {
15831583
int err = 0;
15841584
bool warn = false;
1585-
uint32_t i, size, read_size, totalsize = 0, totalpercent = 0;
1585+
uint32_t i, size, read_size, totalsize = 0;
1586+
float totalpercent = 0.0f;
15861587
int out;
15871588

15881589
if ( s_remove_systemupdate && strstr( path, s_systemupdate ) ){
@@ -1614,8 +1615,8 @@ int extract_file( int in_xiso, dir_node *in_file, modes in_mode , char* path) {
16141615
}
16151616
}
16161617
totalsize += read_size;
1617-
totalpercent = (totalsize * 100.0) / in_file->file_size;
1618-
exiso_log("%s%s%s (%u bytes) [%u%%]%s\r", in_mode == k_extract ? "extracting " : "", path, in_file->filename, in_file->file_size, totalpercent, "");
1618+
totalpercent = (totalsize * 100.0f) / in_file->file_size;
1619+
exiso_log("%s%s%s (%u bytes) [%.0f%%]%s\r", in_mode == k_extract ? "extracting " : "", path, in_file->filename, in_file->file_size, totalpercent, "");
16191620

16201621
i += read_size;
16211622
size = min(in_file->file_size - i, READWRITE_BUFFER_SIZE);
@@ -1674,7 +1675,7 @@ int write_tree( dir_node_avl *in_avl, write_tree_context *in_context, int in_dep
16741675
if ( ! err ) err = avl_traverse_depth_first( in_avl->subdirectory, (traversal_callback) write_tree, &context, k_prefix, 0 );
16751676

16761677
if (!err && lseek(in_context->xiso, (xoff_t)in_avl->start_sector * XISO_SECTOR_SIZE, SEEK_SET) == -1) seek_err();
1677-
if (!err) err = avl_traverse_depth_first(in_avl->subdirectory, (traversal_callback)write_directory, (void*)in_context->xiso, k_prefix, 0);
1678+
if (!err) err = avl_traverse_depth_first(in_avl->subdirectory, (traversal_callback)write_directory, in_context, k_prefix, 0);
16781679
if (!err && (pos = lseek(in_context->xiso, 0, SEEK_CUR)) == -1) seek_err();
16791680
if (!err && (pad = (int)((XISO_SECTOR_SIZE - (pos % XISO_SECTOR_SIZE)) % XISO_SECTOR_SIZE))) {
16801681
memset(sector, XISO_PAD_BYTE, pad);
@@ -1737,7 +1738,7 @@ int write_file( dir_node_avl *in_avl, write_tree_context *in_context, int in_dep
17371738
}
17381739
bytes -= n;
17391740
if (s_media_enable && (len = strlen(in_avl->filename)) >= 4 && strcasecmp(&in_avl->filename[len - 4], ".xbe") == 0) {
1740-
for (buf[n += i] = 0, p = buf; (p = boyer_moore_search(p, n - (p - buf))) != nil; p += XISO_MEDIA_ENABLE_LENGTH) p[XISO_MEDIA_ENABLE_BYTE_POS] = XISO_MEDIA_ENABLE_BYTE;
1741+
for (buf[n += i] = 0, p = buf; (p = boyer_moore_search(p, n - (long)(p - buf))) != nil; p += XISO_MEDIA_ENABLE_LENGTH) p[XISO_MEDIA_ENABLE_BYTE_POS] = XISO_MEDIA_ENABLE_BYTE;
17411742
if (bytes) {
17421743
i = XISO_MEDIA_ENABLE_LENGTH - 1;
17431744
if (write(in_context->xiso, buf, n - i) != (int)n - i) {
@@ -1788,7 +1789,7 @@ int write_file( dir_node_avl *in_avl, write_tree_context *in_context, int in_dep
17881789
}
17891790

17901791

1791-
int write_directory( dir_node_avl *in_avl, int in_xiso, int in_depth ) {
1792+
int write_directory( dir_node_avl *in_avl, write_tree_context* in_context, int in_depth ) {
17921793
xoff_t pos;
17931794
int err = 0, pad;
17941795
uint16_t l_offset, r_offset;
@@ -1806,15 +1807,15 @@ int write_directory( dir_node_avl *in_avl, int in_xiso, int in_depth ) {
18061807

18071808
memset( sector, XISO_PAD_BYTE, XISO_SECTOR_SIZE );
18081809

1809-
if ( ( pos = lseek( in_xiso, 0, SEEK_CUR ) ) == -1 ) seek_err();
1810-
if ( ! err && ( pad = (int) ( (xoff_t) in_avl->offset + in_avl->dir_start - pos ) ) && write( in_xiso, sector, pad ) != pad ) write_err();
1811-
if ( ! err && write( in_xiso, &l_offset, XISO_TABLE_OFFSET_SIZE ) != XISO_TABLE_OFFSET_SIZE ) write_err();
1812-
if ( ! err && write( in_xiso, &r_offset, XISO_TABLE_OFFSET_SIZE ) != XISO_TABLE_OFFSET_SIZE ) write_err();
1813-
if ( ! err && write( in_xiso, &in_avl->start_sector, XISO_SECTOR_OFFSET_SIZE ) != XISO_SECTOR_OFFSET_SIZE ) write_err();
1814-
if ( ! err && write( in_xiso, &file_size, XISO_FILESIZE_SIZE ) != XISO_FILESIZE_SIZE ) write_err();
1815-
if ( ! err && write( in_xiso, &attributes, XISO_ATTRIBUTES_SIZE ) != XISO_ATTRIBUTES_SIZE ) write_err();
1816-
if ( ! err && write( in_xiso, &length, XISO_FILENAME_LENGTH_SIZE ) != XISO_FILENAME_LENGTH_SIZE ) write_err();
1817-
if ( ! err && write( in_xiso, in_avl->filename, length ) != length ) write_err();
1810+
if ( ( pos = lseek( in_context->xiso, 0, SEEK_CUR ) ) == -1 ) seek_err();
1811+
if ( ! err && ( pad = (int) ( (xoff_t) in_avl->offset + in_avl->dir_start - pos ) ) && write( in_context->xiso, sector, pad ) != pad ) write_err();
1812+
if ( ! err && write( in_context->xiso, &l_offset, XISO_TABLE_OFFSET_SIZE ) != XISO_TABLE_OFFSET_SIZE ) write_err();
1813+
if ( ! err && write( in_context->xiso, &r_offset, XISO_TABLE_OFFSET_SIZE ) != XISO_TABLE_OFFSET_SIZE ) write_err();
1814+
if ( ! err && write( in_context->xiso, &in_avl->start_sector, XISO_SECTOR_OFFSET_SIZE ) != XISO_SECTOR_OFFSET_SIZE ) write_err();
1815+
if ( ! err && write( in_context->xiso, &file_size, XISO_FILESIZE_SIZE ) != XISO_FILESIZE_SIZE ) write_err();
1816+
if ( ! err && write( in_context->xiso, &attributes, XISO_ATTRIBUTES_SIZE ) != XISO_ATTRIBUTES_SIZE ) write_err();
1817+
if ( ! err && write( in_context->xiso, &length, XISO_FILENAME_LENGTH_SIZE ) != XISO_FILENAME_LENGTH_SIZE ) write_err();
1818+
if ( ! err && write( in_context->xiso, in_avl->filename, length ) != length ) write_err();
18181819

18191820
little32( in_avl->start_sector );
18201821
little32( in_avl->file_size );
@@ -1889,7 +1890,7 @@ int calculate_directory_size( dir_node_avl *in_avl, uint32_t *out_size, long in_
18891890

18901891
if ( in_depth == 0 ) *out_size = 0;
18911892

1892-
length = XISO_FILENAME_OFFSET + strlen( in_avl->filename );
1893+
length = XISO_FILENAME_OFFSET + (uint32_t)strlen( in_avl->filename );
18931894
length += ( XISO_DWORD_SIZE - ( length % XISO_DWORD_SIZE ) ) % XISO_DWORD_SIZE;
18941895

18951896
if ( n_sectors( *out_size + length ) > n_sectors( *out_size ) ) {

0 commit comments

Comments
 (0)