fdisk: move more data to struct globals; shrink code

function                                             old     new   delta
nowarn                                                 1       -      -1
listing                                                1       -      -1
dos_compatible_flag                                    1       -      -1
warn_cylinders                                        44      42      -2
open_list_and_close                                  364     362      -2
fdisk_fatal                                           41      38      -3
verify                                              1053    1049      -4
user_sectors                                           4       -      -4
user_heads                                             4       -      -4
user_cylinders                                         4       -      -4
pt_sectors                                             4       -      -4
pt_heads                                               4       -      -4
kern_sectors                                           4       -      -4
kern_heads                                             4       -      -4
ext_index                                              4       -      -4
total_number_of_sectors                                8       -      -8
extended_offset                                        8       -      -8
create_doslabel                                      129     120      -9
write_table                                          225     211     -14
delete_partition                                     445     431     -14
set_partition                                        476     459     -17
list_disk_geometry                                   247     229     -18
unable_to_write                                       19       -     -19
add_partition                                       2515    2486     -29
get_boot                                            1709    1636     -73
fdisk_main                                          2812    2679    -133
------------------------------------------------------------------------------
(add/remove: 0/14 grow/shrink: 0/12 up/down: 0/-388)         Total: -388 bytes
   text    data     bss     dec     hex filename
 804634     611    6852  812097   c6441 busybox_old
 804298     610    6804  811712   c62c0 busybox_unstripped
This commit is contained in:
Denis Vlasenko
2008-06-29 05:10:47 +00:00
parent ce13b76002
commit 6eaf0a9883
4 changed files with 66 additions and 68 deletions

View File

@@ -439,10 +439,7 @@ sgi_write_table(void)
assert(two_s_complement_32bit_sum(
(unsigned int*)sgilabel, sizeof(*sgilabel)) == 0);
if (lseek(dev_fd, 0, SEEK_SET) < 0)
fdisk_fatal(unable_to_seek);
if (write(dev_fd, sgilabel, SECTOR_SIZE) != SECTOR_SIZE)
fdisk_fatal(unable_to_write);
write_sector(0, sgilabel);
if (!strncmp((char*)sgilabel->directory[0].vol_file_name, "sgilabel", 8)) {
/*
* keep this habit of first writing the "sgilabel".
@@ -450,10 +447,7 @@ sgi_write_table(void)
*/
sgiinfo *info = fill_sgiinfo();
int infostartblock = SGI_SSWAP32(sgilabel->directory[0].vol_file_start);
if (lseek(dev_fd, infostartblock*SECTOR_SIZE, SEEK_SET) < 0)
fdisk_fatal(unable_to_seek);
if (write(dev_fd, info, SECTOR_SIZE) != SECTOR_SIZE)
fdisk_fatal(unable_to_write);
write_sector(infostartblock, info);
free(info);
}
}