diff options
author | Theodore Ts'o <tytso@mit.edu> | 2024-04-23 17:11:26 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2024-04-23 18:47:25 -0400 |
commit | 49125d40ff36490af218f46b9b4d1fdf96553dcd (patch) | |
tree | 6843ef87de3616efa756a93807a20636a0b0d705 | |
parent | 3fcbc9ffbeaa0df3dd06113b61f9b3bed4efb92e (diff) | |
download | e2fsprogs-49125d40ff36490af218f46b9b4d1fdf96553dcd.tar.gz |
Align function prototypes for libss's request handler function
Clang 17's Undefined Behaviour Sanitizer will throw run-time warnings
if a function pointer is dereferenced with a different function
signature than one in the pointer --- even if the difference is a
missing const qualifier. To fix regression test failures, change
declarations of argv to use ss_argv_t instead of an inconsistently
open-coded type.
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-rw-r--r-- | debugfs/debugfs.c | 99 | ||||
-rw-r--r-- | debugfs/debugfs.h | 208 | ||||
-rw-r--r-- | debugfs/do_journal.c | 8 | ||||
-rw-r--r-- | debugfs/dump.c | 6 | ||||
-rw-r--r-- | debugfs/extent_inode.c | 52 | ||||
-rw-r--r-- | debugfs/filefrag.c | 2 | ||||
-rw-r--r-- | debugfs/htree.c | 6 | ||||
-rw-r--r-- | debugfs/icheck.c | 2 | ||||
-rw-r--r-- | debugfs/logdump.c | 2 | ||||
-rw-r--r-- | debugfs/ls.c | 2 | ||||
-rw-r--r-- | debugfs/lsdel.c | 2 | ||||
-rw-r--r-- | debugfs/ncheck.c | 2 | ||||
-rw-r--r-- | debugfs/quota.c | 4 | ||||
-rw-r--r-- | debugfs/set_fields.c | 10 | ||||
-rw-r--r-- | debugfs/unused.c | 2 | ||||
-rw-r--r-- | debugfs/util.c | 6 | ||||
-rw-r--r-- | debugfs/xattrs.c | 8 | ||||
-rw-r--r-- | debugfs/zap.c | 4 | ||||
-rw-r--r-- | lib/ext2fs/tst_bitmaps.c | 45 | ||||
-rw-r--r-- | lib/ss/execute_cmd.c | 2 | ||||
-rw-r--r-- | lib/ss/help.c | 2 | ||||
-rw-r--r-- | lib/ss/list_rqs.c | 2 | ||||
-rw-r--r-- | lib/ss/listen.c | 2 | ||||
-rw-r--r-- | lib/ss/requests.c | 8 | ||||
-rw-r--r-- | lib/ss/ss.h | 16 | ||||
-rw-r--r-- | lib/ss/ss_internal.h | 2 | ||||
-rw-r--r-- | lib/ss/test_ss.c | 6 | ||||
-rw-r--r-- | misc/e2freefrag.c | 2 | ||||
-rw-r--r-- | tests/progs/Makefile.in | 3 | ||||
-rw-r--r-- | tests/progs/test_icount.c | 18 | ||||
-rw-r--r-- | tests/progs/test_icount.h | 29 | ||||
-rw-r--r-- | tests/progs/test_rel.c | 44 | ||||
-rw-r--r-- | tests/progs/test_rel.h | 44 |
33 files changed, 338 insertions, 312 deletions
diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c index b17576e8f..16a03d48e 100644 --- a/debugfs/debugfs.c +++ b/debugfs/debugfs.c @@ -222,7 +222,7 @@ errout: com_err(device, retval, "while trying to close filesystem"); } -void do_open_filesys(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_open_filesys(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { int c, err; @@ -305,7 +305,7 @@ print_usage: "<device>\n", argv[0]); } -void do_lcd(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_lcd(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { if (argc != 2) { @@ -343,7 +343,7 @@ static void close_filesystem(NOARGS) return; } -void do_close_filesys(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_close_filesys(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { int c; @@ -372,7 +372,7 @@ void do_close_filesys(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), } #ifndef READ_ONLY -void do_init_filesys(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_init_filesys(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { struct ext2_super_block param; @@ -433,7 +433,7 @@ static void print_bg_opts(ext2_filsys fs, dgrp_t group, int mask, } } -void do_show_super_stats(int argc, char *argv[], +void do_show_super_stats(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { @@ -531,7 +531,7 @@ print_usage: #ifndef READ_ONLY void do_dirty_filesys(int argc EXT2FS_ATTR((unused)), - char **argv EXT2FS_ATTR((unused)), + ss_argv_t argv EXT2FS_ATTR((unused)), int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { @@ -996,7 +996,7 @@ static void dump_inode(ext2_ino_t inode_num, struct ext2_inode *inode) close_pager(out); } -void do_stat(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_stat(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; @@ -1028,7 +1028,7 @@ void do_stat(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), return; } -void do_dump_extents(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_dump_extents(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { struct ext2_inode inode; @@ -1100,7 +1100,7 @@ static int print_blocks_proc(ext2_filsys fs EXT2FS_ATTR((unused)), return 0; } -void do_blocks(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_blocks(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; @@ -1118,7 +1118,7 @@ void do_blocks(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), return; } -void do_chroot(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_chroot(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; @@ -1136,7 +1136,7 @@ void do_chroot(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } #ifndef READ_ONLY -void do_clri(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_clri(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; @@ -1152,7 +1152,7 @@ void do_clri(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), return; } -void do_freei(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_freei(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { unsigned int len = 1; @@ -1183,7 +1183,7 @@ void do_freei(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), ext2fs_mark_ib_dirty(current_fs); } -void do_seti(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_seti(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { unsigned int len = 1; @@ -1215,7 +1215,7 @@ void do_seti(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } #endif /* READ_ONLY */ -void do_testi(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_testi(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; @@ -1230,7 +1230,7 @@ void do_testi(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } #ifndef READ_ONLY -void do_freeb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_freeb(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { blk64_t block; @@ -1250,7 +1250,7 @@ void do_freeb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), ext2fs_mark_bb_dirty(current_fs); } -void do_setb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_setb(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { blk64_t block; @@ -1271,7 +1271,7 @@ void do_setb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } #endif /* READ_ONLY */ -void do_testb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_testb(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { blk64_t block; @@ -1358,7 +1358,7 @@ static void modify_u32(char *com, const char *prompt, } -void do_modify_inode(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_modify_inode(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { struct ext2_inode inode; @@ -1436,7 +1436,7 @@ void do_modify_inode(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } #endif /* READ_ONLY */ -void do_change_working_dir(int argc, char *argv[], +void do_change_working_dir(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { @@ -1455,7 +1455,7 @@ void do_change_working_dir(int argc, char *argv[], return; } -void do_print_working_directory(int argc, char *argv[], +void do_print_working_directory(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { @@ -1546,7 +1546,7 @@ static void make_link(char *sourcename, char *destname) } -void do_link(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_link(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { if (common_args_process(argc, argv, 3, 3, "link", @@ -1569,7 +1569,7 @@ static int mark_blocks_proc(ext2_filsys fs, blk64_t *blocknr, return 0; } -void do_undel(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_undel(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; @@ -1633,7 +1633,7 @@ static void unlink_file_by_name(char *filename) return; } -void do_unlink(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_unlink(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { if (common_args_process(argc, argv, 2, 2, "link", @@ -1643,7 +1643,7 @@ void do_unlink(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), unlink_file_by_name(argv[1]); } -void do_copy_inode(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_copy_inode(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t src_ino, dest_ino; @@ -1672,7 +1672,7 @@ void do_copy_inode(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), #endif /* READ_ONLY */ -void do_find_free_block(int argc, char *argv[], +void do_find_free_block(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { @@ -1726,7 +1726,7 @@ void do_find_free_block(int argc, char *argv[], printf("\n"); } -void do_find_free_inode(int argc, char *argv[], +void do_find_free_inode(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { @@ -1768,7 +1768,7 @@ void do_find_free_inode(int argc, char *argv[], } #ifndef READ_ONLY -void do_write(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_write(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -1782,7 +1782,7 @@ void do_write(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), com_err(argv[0], retval, 0); } -void do_mknod(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_mknod(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { unsigned long major, minor; @@ -1817,9 +1817,12 @@ void do_mknod(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } if (nr == 5) { - major = strtoul(argv[3], argv+3, 0); - minor = strtoul(argv[4], argv+4, 0); - if (major > 65535 || minor > 65535 || argv[3][0] || argv[4][0]) + char *end1 = NULL, *end2 = NULL; + + major = strtoul(argv[3], &end1, 0); + minor = strtoul(argv[4], &end2, 0); + if (major > 65535 || minor > 65535 || + (end1 && *end1) || (end2 && *end2)) nr = 0; } @@ -1833,7 +1836,7 @@ void do_mknod(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), com_err(argv[0], retval, 0); } -void do_mkdir(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_mkdir(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -1887,7 +1890,7 @@ static void kill_file_by_inode(ext2_ino_t inode) } -void do_kill_file(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_kill_file(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode_num; @@ -1898,7 +1901,7 @@ void do_kill_file(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), kill_file_by_inode(inode_num); } -void do_rm(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_rm(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { int retval; @@ -1960,7 +1963,7 @@ static int rmdir_proc(ext2_ino_t dir EXT2FS_ATTR((unused)), return 0; } -void do_rmdir(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_rmdir(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { int retval; @@ -2019,7 +2022,7 @@ void do_rmdir(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), #endif /* READ_ONLY */ void do_show_debugfs_params(int argc EXT2FS_ATTR((unused)), - char *argv[] EXT2FS_ATTR((unused)), + ss_argv_t argv EXT2FS_ATTR((unused)), int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { @@ -2031,7 +2034,7 @@ void do_show_debugfs_params(int argc EXT2FS_ATTR((unused)), } #ifndef READ_ONLY -void do_expand_dir(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_expand_dir(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; @@ -2046,7 +2049,7 @@ void do_expand_dir(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), return; } -void do_features(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_features(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { int i; @@ -2068,7 +2071,7 @@ void do_features(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } #endif /* READ_ONLY */ -void do_bmap(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_bmap(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; @@ -2133,7 +2136,7 @@ void do_bmap(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), fputc('\n', stdout); } -void do_imap(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_imap(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; @@ -2165,7 +2168,7 @@ void do_imap(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } -void do_idump(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_idump(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { struct ext2_inode_large *inode; @@ -2236,7 +2239,7 @@ err: } #ifndef READ_ONLY -void do_set_current_time(int argc, char *argv[], +void do_set_current_time(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { @@ -2297,7 +2300,7 @@ static int find_supp_feature(__u32 *supp, int feature_type, char *name) return 0; } -void do_supported_features(int argc, char *argv[], +void do_supported_features(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { @@ -2327,7 +2330,7 @@ void do_supported_features(int argc, char *argv[], } #ifndef READ_ONLY -void do_punch(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_punch(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; @@ -2363,7 +2366,7 @@ void do_punch(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } } -void do_fallocate(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_fallocate(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; @@ -2400,7 +2403,7 @@ void do_fallocate(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } } -void do_symlink(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_symlink(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -2417,7 +2420,7 @@ void do_symlink(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), #endif /* READ_ONLY */ #if CONFIG_MMP -void do_dump_mmp(int argc EXT2FS_ATTR((unused)), char *argv[], +void do_dump_mmp(int argc EXT2FS_ATTR((unused)), ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { @@ -2483,7 +2486,7 @@ void do_dump_mmp(int argc EXT2FS_ATTR((unused)), char *argv[], } #else void do_dump_mmp(int argc EXT2FS_ATTR((unused)), - char *argv[] EXT2FS_ATTR((unused)), + ss_argv_t argv EXT2FS_ATTR((unused)), int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { diff --git a/debugfs/debugfs.h b/debugfs/debugfs.h index 85c82b950..88d929cbf 100644 --- a/debugfs/debugfs.h +++ b/debugfs/debugfs.h @@ -44,12 +44,12 @@ extern unsigned long long parse_ulonglong(const char *str, const char *cmd, const char *descr, int *err); extern int strtoblk(const char *cmd, const char *str, const char *errmsg, blk64_t *ret); -extern int common_args_process(int argc, char *argv[], int min_argc, +extern int common_args_process(int argc, ss_argv_t argv, int min_argc, int max_argc, const char *cmd, const char *usage, int flags); -extern int common_inode_args_process(int argc, char *argv[], +extern int common_inode_args_process(int argc, ss_argv_t argv, ext2_ino_t *inode, int flags); -extern int common_block_args_process(int argc, char *argv[], +extern int common_block_args_process(int argc, ss_argv_t argv, blk64_t *block, blk64_t *count); extern int debugfs_read_inode(ext2_ino_t ino, struct ext2_inode * inode, const char *cmd); @@ -66,60 +66,60 @@ extern int ext2_file_type(unsigned int mode); /* ss command functions */ /* dump.c */ -extern void do_dump(int argc, char **argv, int sci_idx, void *infop); -extern void do_cat(int argc, char **argv, int sci_idx, void *infop); -extern void do_rdump(int argc, char **argv, int sci_idx, void *infop); +extern void do_dump(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_cat(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_rdump(int argc, ss_argv_t argv, int sci_idx, void *infop); /* extent_inode.c */ -extern void do_extent_open(int argc, char **argv, int sci_idx, void *infop); -extern void do_extent_close(int argc, char **argv, int sci_idx, void *infop); -extern void do_current_node(int argc, char **argv, int sci_idx, void *infop); -extern void do_root_node(int argc, char **argv, int sci_idx, void *infop); -extern void do_last_leaf(int argc, char **argv, int sci_idx, void *infop); -extern void do_first_sib(int argc, char **argv, int sci_idx, void *infop); -extern void do_last_sib(int argc, char **argv, int sci_idx, void *infop); -extern void do_next_sib(int argc, char **argv, int sci_idx, void *infop); -extern void do_prev_sib(int argc, char **argv, int sci_idx, void *infop); -extern void do_next_leaf(int argc, char **argv, int sci_idx, void *infop); -extern void do_prev_leaf(int argc, char **argv, int sci_idx, void *infop); -extern void do_next(int argc, char **argv, int sci_idx, void *infop); -extern void do_prev(int argc, char **argv, int sci_idx, void *infop); -extern void do_up(int argc, char **argv, int sci_idx, void *infop); -extern void do_down(int argc, char **argv, int sci_idx, void *infop); -extern void do_delete_node(int argc, char **argv, int sci_idx, void *infop); -extern void do_replace_node(int argc, char **argv, int sci_idx, void *infop); -extern void do_split_node(int argc, char **argv, int sci_idx, void *infop); -extern void do_insert_node(int argc, char **argv, int sci_idx, void *infop); -extern void do_set_bmap(int argc, char **argv, int sci_idx, void *infop); -extern void do_print_all(int argc, char **argv, int sci_idx, void *infop); -extern void do_fix_parents(int argc, char **argv, int sci_idx, void *infop); -extern void do_info(int argc, char **argv, int sci_idx, void *infop); -extern void do_goto_block(int argc, char **argv, int sci_idx, void *infop); +extern void do_extent_open(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_extent_close(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_current_node(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_root_node(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_last_leaf(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_first_sib(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_last_sib(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_next_sib(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_prev_sib(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_next_leaf(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_prev_leaf(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_next(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_prev(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_up(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_down(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_delete_node(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_replace_node(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_split_node(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_insert_node(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_set_bmap(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_print_all(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_fix_parents(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_info(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_goto_block(int argc, ss_argv_t argv, int sci_idx, void *infop); /* htree.c */ -extern void do_htree_dump(int argc, char **argv, int sci_idx, void *infop); -extern void do_dx_hash(int argc, char **argv, int sci_idx, void *infop); -extern void do_dirsearch(int argc, char **argv, int sci_idx, void *infop); +extern void do_htree_dump(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_dx_hash(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_dirsearch(int argc, ss_argv_t argv, int sci_idx, void *infop); /* logdump.c */ -extern void do_logdump(int argc, char **argv, int sci_idx, void *infop); +extern void do_logdump(int argc, ss_argv_t argv, int sci_idx, void *infop); /* lsdel.c */ -extern void do_lsdel(int argc, char **argv, int sci_idx, void *infop); +extern void do_lsdel(int argc, ss_argv_t argv, int sci_idx, void *infop); /* icheck.c */ -extern void do_icheck(int argc, char **argv, int sci_idx, void *infop); +extern void do_icheck(int argc, ss_argv_t argv, int sci_idx, void *infop); /* ncheck.c */ -extern void do_ncheck(int argc, char **argv, int sci_idx, void *infop); +extern void do_ncheck(int argc, ss_argv_t argv, int sci_idx, void *infop); /* set_fields.c */ -extern void do_set_super(int argc, char **, int sci_idx, void *infop); -extern void do_set_inode(int argc, char **, int sci_idx, void *infop); -extern void do_set_block_group_descriptor(int argc, char **, int sci_idx, void *infop); +extern void do_set_super(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_set_inode(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_set_block_group_descriptor(int argc, ss_argv_t argv, int sci_idx, void *infop); /* unused.c */ -extern void do_dump_unused(int argc, char **argv, int sci_idx, void *infop); +extern void do_dump_unused(int argc, ss_argv_t argv, int sci_idx, void *infop); /* debugfs.c */ extern ss_request_table *extra_cmds; @@ -127,68 +127,68 @@ extern const char *debug_prog_name; extern void internal_dump_inode(FILE *, const char *, ext2_ino_t, struct ext2_inode *, int); -extern void do_dirty_filesys(int argc, char **argv, int sci_idx, void *infop); -extern void do_open_filesys(int argc, char **argv, int sci_idx, void *infop); -extern void do_close_filesys(int argc, char **argv, int sci_idx, void *infop); -extern void do_lcd(int argc, char **argv, int sci_idx, void *infop); -extern void do_init_filesys(int argc, char **argv, int sci_idx, void *infop); -extern void do_show_super_stats(int argc, char **argv, int sci_idx, void *infop); -extern void do_kill_file(int argc, char **argv, int sci_idx, void *infop); -extern void do_rm(int argc, char **argv, int sci_idx, void *infop); -extern void do_link(int argc, char **argv, int sci_idx, void *infop); -extern void do_undel(int argc, char **argv, int sci_idx, void *infop); -extern void do_unlink(int argc, char **argv, int sci_idx, void *infop); -extern void do_copy_inode(int argc, char *argv[], int sci_idx, void *infop); -extern void do_find_free_block(int argc, char **argv, int sci_idx, void *infop); -extern void do_find_free_inode(int argc, char **argv, int sci_idx, void *infop); -extern void do_stat(int argc, char **argv, int sci_idx, void *infop); -extern void do_dump_extents(int argc, char **argv, int sci_idx, void *infop); -extern void do_blocks(int argc, char *argv[], int sci_idx, void *infop); - -extern void do_chroot(int argc, char **argv, int sci_idx, void *infop); -extern void do_clri(int argc, char **argv, int sci_idx, void *infop); -extern void do_freei(int argc, char **argv, int sci_idx, void *infop); -extern void do_seti(int argc, char **argv, int sci_idx, void *infop); -extern void do_testi(int argc, char **argv, int sci_idx, void *infop); -extern void do_freeb(int argc, char **argv, int sci_idx, void *infop); -extern void do_setb(int argc, char **argv, int sci_idx, void *infop); -extern void do_testb(int argc, char **argv, int sci_idx, void *infop); -extern void do_modify_inode(int argc, char **argv, int sci_idx, void *infop); -extern void do_list_dir(int argc, char **argv, int sci_idx, void *infop); -extern void do_change_working_dir(int argc, char **argv, int sci_idx, void *infop); -extern void do_print_working_directory(int argc, char **argv, int sci_idx, void *infop); -extern void do_write(int argc, char **argv, int sci_idx, void *infop); -extern void do_mknod(int argc, char **argv, int sci_idx, void *infop); -extern void do_mkdir(int argc, char **argv, int sci_idx, void *infop); -extern void do_rmdir(int argc, char **argv, int sci_idx, void *infop); -extern void do_show_debugfs_params(int argc, char **argv, int sci_idx, void *infop); -extern void do_expand_dir(int argc, char **argv, int sci_idx, void *infop); -extern void do_features(int argc, char **argv, int sci_idx, void *infop); -extern void do_bmap(int argc, char **argv, int sci_idx, void *infop); -extern void do_imap(int argc, char **argv, int sci_idx, void *infop); -extern void do_idump(int argc, char *argv[], int sci_idx, void *infop); -extern void do_set_current_time(int argc, char **argv, int sci_idx, void *infop); -extern void do_supported_features(int argc, char **argv, int sci_idx, void *infop); -extern void do_punch(int argc, char **argv, int sci_idx, void *infop); -extern void do_fallocate(int argc, char **argv, int sci_idx, void *infop); -extern void do_symlink(int argc, char **argv, int sci_idx, void *infop); - -extern void do_dump_mmp(int argc, char **argv, int sci_idx, void *infop); -extern void do_set_mmp_value(int argc, char **argv, int sci_idx, void *infop); - -extern void do_freefrag(int argc, char **argv, int sci_idx, void *infop); -extern void do_filefrag(int argc, char *argv[], int sci_idx, void *infop); +extern void do_dirty_filesys(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_open_filesys(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_close_filesys(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_lcd(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_init_filesys(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_show_super_stats(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_kill_file(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_rm(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_link(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_undel(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_unlink(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_copy_inode(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_find_free_block(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_find_free_inode(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_stat(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_dump_extents(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_blocks(int argc, ss_argv_t argv, int sci_idx, void *infop); + +extern void do_chroot(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_clri(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_freei(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_seti(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_testi(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_freeb(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_setb(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_testb(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_modify_inode(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_list_dir(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_change_working_dir(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_print_working_directory(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_write(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_mknod(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_mkdir(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_rmdir(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_show_debugfs_params(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_expand_dir(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_features(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_bmap(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_imap(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_idump(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_set_current_time(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_supported_features(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_punch(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_fallocate(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_symlink(int argc, ss_argv_t argv, int sci_idx, void *infop); + +extern void do_dump_mmp(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_set_mmp_value(int argc, ss_argv_t argv, int sci_idx, void *infop); + +extern void do_freefrag(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_filefrag(int argc, ss_argv_t argv, int sci_idx, void *infop); /* do_journal.c */ -extern void do_journal_write(int argc, char *argv[], int sci_idx, void *infop); -extern void do_journal_open(int argc, char *argv[], int sci_idx, void *infop); -extern void do_journal_close(int argc, char *argv[], int sci_idx, void *infop); -extern void do_journal_run(int argc, char *argv[], int sci_idx, void *infop); +extern void do_journal_write(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_journal_open(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_journal_close(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_journal_run(int argc, ss_argv_t argv, int sci_idx, void *infop); /* quota.c */ -extern void do_list_quota(int argc, char *argv[], int sci_idx, void *infop); -extern void do_get_quota(int argc, char *argv[], int sci_idx, void *infop); +extern void do_list_quota(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_get_quota(int argc, ss_argv_t argv, int sci_idx, void *infop); /* util.c */ extern __s64 string_to_time(const char *arg); @@ -197,13 +197,13 @@ extern void do_byte_hexdump(FILE *fp, unsigned char *buf, size_t bufsize); /* xattrs.c */ void dump_inode_attributes(FILE *out, ext2_ino_t ino); -void do_get_xattr(int argc, char **argv, int sci_idx, void *infop); -void do_set_xattr(int argc, char **argv, int sci_idx, void *infop); -void do_rm_xattr(int argc, char **argv, int sci_idx, void *infop); -void do_list_xattr(int argc, char **argv, int sci_idx, void *infop); +void do_get_xattr(int argc, ss_argv_t argv, int sci_idx, void *infop); +void do_set_xattr(int argc, ss_argv_t argv, int sci_idx, void *infop); +void do_rm_xattr(int argc, ss_argv_t argv, int sci_idx, void *infop); +void do_list_xattr(int argc, ss_argv_t argv, int sci_idx, void *infop); void raw_inode_xattr_dump(FILE *f, unsigned char *buf, unsigned int len); void block_xattr_dump(FILE *f, unsigned char *buf, unsigned int len); /* zap.c */ -extern void do_zap_block(int argc, char **argv, int sci_idx, void *infop); -extern void do_block_dump(int argc, char **argv, int sci_idx, void *infop); +extern void do_zap_block(int argc, ss_argv_t argv, int sci_idx, void *infop); +extern void do_block_dump(int argc, ss_argv_t argv, int sci_idx, void *infop); diff --git a/debugfs/do_journal.c b/debugfs/do_journal.c index 38439c692..116ca845d 100644 --- a/debugfs/do_journal.c +++ b/debugfs/do_journal.c @@ -534,7 +534,7 @@ error: return err; } -void do_journal_write(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_journal_write(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { blk64_t *blist = NULL, *rlist = NULL; @@ -862,7 +862,7 @@ static void update_64bit_flag(journal_t *journal) jbd2_set_feature_64bit(journal); } -void do_journal_open(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_journal_open(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { int opt, enable_csum = 0, csum_ver = 3; @@ -933,7 +933,7 @@ void do_journal_open(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } void do_journal_close(int argc EXT2FS_ATTR((unused)), - char *argv[] EXT2FS_ATTR((unused)), + ss_argv_t argv EXT2FS_ATTR((unused)), int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { @@ -945,7 +945,7 @@ void do_journal_close(int argc EXT2FS_ATTR((unused)), ext2fs_close_journal(current_fs, ¤t_journal); } -void do_journal_run(int argc EXT2FS_ATTR((unused)), char *argv[], +void do_journal_run(int argc EXT2FS_ATTR((unused)), ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { diff --git a/debugfs/dump.c b/debugfs/dump.c index 42f5204a8..4ab7cadcb 100644 --- a/debugfs/dump.c +++ b/debugfs/dump.c @@ -144,7 +144,7 @@ static void dump_file(const char *cmdname, ext2_ino_t ino, int fd, return; } -void do_dump(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_dump(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; @@ -323,7 +323,7 @@ static int rdump_dirent(struct ext2_dir_entry *dirent, return 0; } -void do_rdump(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_rdump(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { struct stat st; @@ -368,7 +368,7 @@ void do_rdump(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), } } -void do_cat(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_cat(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; diff --git a/debugfs/extent_inode.c b/debugfs/extent_inode.c index e4e815ef4..6ef054d1a 100644 --- a/debugfs/extent_inode.c +++ b/debugfs/extent_inode.c @@ -48,7 +48,7 @@ static void dbg_print_extent(char *desc, struct ext2fs_extent *extent) } -static int common_extent_args_process(int argc, char *argv[], int min_argc, +static int common_extent_args_process(int argc, ss_argv_t argv, int min_argc, int max_argc, const char *cmd, const char *usage, int flags) { @@ -65,7 +65,7 @@ static int common_extent_args_process(int argc, char *argv[], int min_argc, static char *orig_prompt, *extent_prompt; -void do_extent_open(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_extent_open(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; @@ -115,7 +115,7 @@ void do_extent_open(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), return; } -void do_extent_close(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_extent_close(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { int ret; @@ -139,7 +139,7 @@ void do_extent_close(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } static void generic_goto_node(const char *my_name, int argc, - char **argv, int op) + ss_argv_t argv, int op) { struct ext2fs_extent extent; errcode_t retval; @@ -161,85 +161,85 @@ static void generic_goto_node(const char *my_name, int argc, dbg_print_extent(0, &extent); } -void do_current_node(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_current_node(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { generic_goto_node("current_node", argc, argv, EXT2_EXTENT_CURRENT); } -void do_root_node(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_root_node(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { generic_goto_node("root_node", argc, argv, EXT2_EXTENT_ROOT); } -void do_last_leaf(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_last_leaf(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { generic_goto_node("last_leaf", argc, argv, EXT2_EXTENT_LAST_LEAF); } -void do_first_sib(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_first_sib(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { generic_goto_node("first_sib", argc, argv, EXT2_EXTENT_FIRST_SIB); } -void do_last_sib(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_last_sib(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { generic_goto_node("next_sib", argc, argv, EXT2_EXTENT_LAST_SIB); } -void do_next_sib(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_next_sib(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { generic_goto_node("next_sib", argc, argv, EXT2_EXTENT_NEXT_SIB); } -void do_prev_sib(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_prev_sib(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { generic_goto_node("prev_sib", argc, argv, EXT2_EXTENT_PREV_SIB); } -void do_next_leaf(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_next_leaf(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { generic_goto_node("next_leaf", argc, argv, EXT2_EXTENT_NEXT_LEAF); } -void do_prev_leaf(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_prev_leaf(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { generic_goto_node("prev_leaf", argc, argv, EXT2_EXTENT_PREV_LEAF); } -void do_next(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_next(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { generic_goto_node("next", argc, argv, EXT2_EXTENT_NEXT); } -void do_prev(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_prev(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { generic_goto_node("prev", argc, argv, EXT2_EXTENT_PREV); } -void do_up(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_up(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { generic_goto_node("up", argc, argv, EXT2_EXTENT_UP); } -void do_down(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_down(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { generic_goto_node("down", argc, argv, EXT2_EXTENT_DOWN); } -void do_delete_node(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_delete_node(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { struct ext2fs_extent extent; @@ -262,7 +262,7 @@ void do_delete_node(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), dbg_print_extent(0, &extent); } -void do_replace_node(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_replace_node(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { const char *usage = "[--uninit] <lblk> <len> <pblk>"; @@ -307,7 +307,7 @@ void do_replace_node(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), generic_goto_node(NULL, argc, argv, EXT2_EXTENT_CURRENT); } -void do_split_node(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_split_node(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -324,7 +324,7 @@ void do_split_node(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), generic_goto_node(NULL, argc, argv, EXT2_EXTENT_CURRENT); } -void do_insert_node(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_insert_node(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { const char *usage = "[--after] [--uninit] <lblk> <len> <pblk>"; @@ -383,7 +383,7 @@ void do_insert_node(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), generic_goto_node(NULL, argc, argv, EXT2_EXTENT_CURRENT); } -void do_set_bmap(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_set_bmap(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { const char *usage = "[--uninit] <lblk> <pblk>"; @@ -432,7 +432,7 @@ void do_set_bmap(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), dbg_print_extent(0, &extent); } -void do_print_all(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_print_all(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { const char *usage = "[--leaf-only|--reverse|--reverse-leaf]"; @@ -484,7 +484,7 @@ void do_print_all(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), } } -void do_fix_parents(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_fix_parents(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -500,7 +500,7 @@ void do_fix_parents(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), } } -void do_info(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_info(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { struct ext2fs_extent extent; @@ -535,7 +535,7 @@ void do_info(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), info.max_uninit_len); } -void do_goto_block(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_goto_block(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { errcode_t retval; diff --git a/debugfs/filefrag.c b/debugfs/filefrag.c index 31c1440c5..9bda65def 100644 --- a/debugfs/filefrag.c +++ b/debugfs/filefrag.c @@ -264,7 +264,7 @@ static void dir_iterate(ext2_ino_t ino, struct filefrag_struct *fs) } } -void do_filefrag(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_filefrag(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { struct filefrag_struct fs; diff --git a/debugfs/htree.c b/debugfs/htree.c index 73a68e92c..a10081507 100644 --- a/debugfs/htree.c +++ b/debugfs/htree.c @@ -245,7 +245,7 @@ errout: -void do_htree_dump(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_htree_dump(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; @@ -329,7 +329,7 @@ errout: /* * This function prints the hash of a given file. */ -void do_dx_hash(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_dx_hash(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_dirhash_t hash, minor_hash; @@ -425,7 +425,7 @@ static int search_dir_block(ext2_filsys fs, blk64_t *blocknr, e2_blkcnt_t blockcnt, blk64_t ref_blk, int ref_offset, void *priv_data); -void do_dirsearch(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_dirsearch(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; diff --git a/debugfs/icheck.c b/debugfs/icheck.c index ed6e95092..175d12c9d 100644 --- a/debugfs/icheck.c +++ b/debugfs/icheck.c @@ -53,7 +53,7 @@ static int icheck_proc(ext2_filsys fs EXT2FS_ATTR((unused)), return 0; } -void do_icheck(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_icheck(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { struct block_walk_struct bw; diff --git a/debugfs/logdump.c b/debugfs/logdump.c index c4d466483..324ed425c 100644 --- a/debugfs/logdump.c +++ b/debugfs/logdump.c @@ -86,7 +86,7 @@ static void do_hexdump (FILE *, char *, int); wrapped_flag = true; \ } -void do_logdump(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_logdump(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { int c; diff --git a/debugfs/ls.c b/debugfs/ls.c index 525f084b8..613ad7380 100644 --- a/debugfs/ls.c +++ b/debugfs/ls.c @@ -179,7 +179,7 @@ static int list_dir_proc(ext2_ino_t dir EXT2FS_ATTR((unused)), return 0; } -void do_list_dir(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_list_dir(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { struct ext2_inode inode; diff --git a/debugfs/lsdel.c b/debugfs/lsdel.c index 52c741973..a09fa8323 100644 --- a/debugfs/lsdel.c +++ b/debugfs/lsdel.c @@ -71,7 +71,7 @@ static int lsdel_proc(ext2_filsys fs, return 0; } -void do_lsdel(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_lsdel(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { struct lsdel_struct lsd; diff --git a/debugfs/ncheck.c b/debugfs/ncheck.c index 963b3a12b..1410e7c6d 100644 --- a/debugfs/ncheck.c +++ b/debugfs/ncheck.c @@ -90,7 +90,7 @@ static int ncheck_proc(struct ext2_dir_entry *dirent, return 0; } -void do_ncheck(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_ncheck(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { struct inode_walk_struct iw; diff --git a/debugfs/quota.c b/debugfs/quota.c index 1da1e03c6..7d8e82f66 100644 --- a/debugfs/quota.c +++ b/debugfs/quota.c @@ -102,7 +102,7 @@ static int list_quota_callback(struct dquot *dq, return 0; } -void do_list_quota(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_list_quota(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -132,7 +132,7 @@ void do_list_quota(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } } -void do_get_quota(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_get_quota(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { int err, type; diff --git a/debugfs/set_fields.c b/debugfs/set_fields.c index 4980a63d8..bfe8a139b 100644 --- a/debugfs/set_fields.c +++ b/debugfs/set_fields.c @@ -844,7 +844,7 @@ static void print_possible_fields(struct field_set_info *fields) } -void do_set_super(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_set_super(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { const char *usage = "<field> <value>\n" @@ -872,7 +872,7 @@ void do_set_super(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } } -void do_set_inode(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_set_inode(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { const char *usage = "<inode> <field> <value>\n" @@ -914,7 +914,7 @@ void do_set_inode(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } } -void do_set_block_group_descriptor(int argc, char *argv[], +void do_set_block_group_descriptor(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { @@ -994,7 +994,7 @@ static errcode_t parse_mmp_clear(struct field_set_info *info, } #ifdef CONFIG_MMP -void do_set_mmp_value(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_set_mmp_value(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { const char *usage = "<field> <value>\n" @@ -1054,7 +1054,7 @@ void do_set_mmp_value(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } #else void do_set_mmp_value(int argc EXT2FS_ATTR((unused)), - char *argv[] EXT2FS_ATTR((unused)), + ss_argv_t argv EXT2FS_ATTR((unused)), int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { diff --git a/debugfs/unused.c b/debugfs/unused.c index 08191a0e4..3d97cc473 100644 --- a/debugfs/unused.c +++ b/debugfs/unused.c @@ -25,7 +25,7 @@ extern char *optarg; #include "debugfs.h" -void do_dump_unused(int argc EXT2FS_ATTR((unused)), char **argv, +void do_dump_unused(int argc EXT2FS_ATTR((unused)), ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { diff --git a/debugfs/util.c b/debugfs/util.c index d3ef63c68..00ab6f6a2 100644 --- a/debugfs/util.c +++ b/debugfs/util.c @@ -347,7 +347,7 @@ int strtoblk(const char *cmd, const char *str, const char *errmsg, * This is a common helper function used by the command processing * routines */ -int common_args_process(int argc, char *argv[], int min_argc, int max_argc, +int common_args_process(int argc, ss_argv_t argv, int min_argc, int max_argc, const char *cmd, const char *usage, int flags) { if (argc < min_argc || argc > max_argc) { @@ -373,7 +373,7 @@ int common_args_process(int argc, char *argv[], int min_argc, int max_argc, * do_testi, etc. Basically, any command which takes a single * argument which is a file/inode number specifier. */ -int common_inode_args_process(int argc, char *argv[], +int common_inode_args_process(int argc, ss_argv_t argv, ext2_ino_t *inode, int flags) { if (common_args_process(argc, argv, 2, 2, argv[0], "<file>", flags)) @@ -388,7 +388,7 @@ int common_inode_args_process(int argc, char *argv[], /* * This is a helper function used by do_freeb, do_setb, and do_testb */ -int common_block_args_process(int argc, char *argv[], +int common_block_args_process(int argc, ss_argv_t argv, blk64_t *block, blk64_t *count) { int err; diff --git a/debugfs/xattrs.c b/debugfs/xattrs.c index cd042bc8b..b518941c9 100644 --- a/debugfs/xattrs.c +++ b/debugfs/xattrs.c @@ -117,7 +117,7 @@ out: err = ext2fs_xattrs_close(&h); } -void do_list_xattr(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_list_xattr(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; @@ -138,7 +138,7 @@ void do_list_xattr(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), dump_inode_attributes(stdout, ino); } -void do_get_xattr(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_get_xattr(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; @@ -236,7 +236,7 @@ out2: fclose(fp); } -void do_set_xattr(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_set_xattr(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; @@ -320,7 +320,7 @@ out2: } } -void do_rm_xattr(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_rm_xattr(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; diff --git a/debugfs/zap.c b/debugfs/zap.c index f862482f4..8d1e84283 100644 --- a/debugfs/zap.c +++ b/debugfs/zap.c @@ -25,7 +25,7 @@ extern char *optarg; #include "debugfs.h" -void do_zap_block(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_zap_block(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { unsigned long pattern = 0; @@ -171,7 +171,7 @@ errout: return; } -void do_block_dump(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_block_dump(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { unsigned char *buf; diff --git a/lib/ext2fs/tst_bitmaps.c b/lib/ext2fs/tst_bitmaps.c index cb3c70dcd..eaf2c595f 100644 --- a/lib/ext2fs/tst_bitmaps.c +++ b/lib/ext2fs/tst_bitmaps.c @@ -140,7 +140,7 @@ unsigned long parse_ulong(const char *str, const char *cmd, } -int check_fs_open(char *name) +int check_fs_open(const char *name) { if (!test_fs) { com_err(name, 0, "Filesystem not open"); @@ -190,7 +190,8 @@ errout: ext2fs_close_free(&test_fs); } -void setup_cmd(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void setup_cmd(int argc, ss_argv_t argv, + int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { int c, err; @@ -271,7 +272,7 @@ void dump_bitmap(ext2fs_generic_bitmap bmap, unsigned int start, unsigned num) free(buf); } -void dump_inode_bitmap_cmd(int argc, char **argv, +void dump_inode_bitmap_cmd(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { @@ -282,7 +283,7 @@ void dump_inode_bitmap_cmd(int argc, char **argv, dump_bitmap(test_fs->inode_map, 1, test_fs->super->s_inodes_count); } -void dump_block_bitmap_cmd(int argc, char **argv, +void dump_block_bitmap_cmd(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { @@ -294,7 +295,8 @@ void dump_block_bitmap_cmd(int argc, char **argv, test_fs->super->s_blocks_count); } -void do_setb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_setb(int argc, ss_argv_t argv, + int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { unsigned int block, num; @@ -333,7 +335,8 @@ void do_setb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), test_result, op_result); } -void do_clearb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_clearb(int argc, ss_argv_t argv, + int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { unsigned int block, num; @@ -372,7 +375,8 @@ void do_clearb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), test_result, op_result); } -void do_testb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_testb(int argc, ss_argv_t argv, + int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { unsigned int block, num; @@ -408,7 +412,8 @@ void do_testb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), printf("Block %u is %s\n", block, test_result ? "set" : "clear"); } -void do_ffzb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_ffzb(int argc, ss_argv_t argv, + int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { unsigned int start, end; @@ -442,7 +447,8 @@ void do_ffzb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), printf("First unmarked block is %llu\n", (unsigned long long) out); } -void do_ffsb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_ffsb(int argc, ss_argv_t argv, + int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { unsigned int start, end; @@ -477,7 +483,8 @@ void do_ffsb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } -void do_zerob(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_zerob(int argc, ss_argv_t argv, + int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { if (check_fs_open(argv[0])) @@ -487,7 +494,8 @@ void do_zerob(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), ext2fs_clear_block_bitmap(test_fs->block_map); } -void do_seti(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_seti(int argc, ss_argv_t argv, + int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { unsigned int inode; @@ -517,7 +525,8 @@ void do_seti(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } } -void do_cleari(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_cleari(int argc, ss_argv_t argv, + int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { unsigned int inode; @@ -547,7 +556,8 @@ void do_cleari(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), } } -void do_testi(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_testi(int argc, ss_argv_t argv, + int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { unsigned int inode; @@ -570,7 +580,8 @@ void do_testi(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), printf("Inode %u is %s\n", inode, test_result ? "set" : "clear"); } -void do_ffzi(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_ffzi(int argc, ss_argv_t argv, + int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { unsigned int start, end; @@ -604,7 +615,8 @@ void do_ffzi(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), printf("First unmarked inode is %u\n", out); } -void do_ffsi(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_ffsi(int argc, ss_argv_t argv, + int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { unsigned int start, end; @@ -638,7 +650,8 @@ void do_ffsi(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), printf("First marked inode is %u\n", out); } -void do_zeroi(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), +void do_zeroi(int argc, ss_argv_t argv, + int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { if (check_fs_open(argv[0])) diff --git a/lib/ss/execute_cmd.c b/lib/ss/execute_cmd.c index d092134a3..1f4399019 100644 --- a/lib/ss/execute_cmd.c +++ b/lib/ss/execute_cmd.c @@ -100,7 +100,7 @@ static int check_request_table(register ss_request_table *rqtbl, int argc, for (name = request->command_names; *name; name++) if (!strcmp(*name, string)) { info->current_request = request->command_names[0]; - (request->function)(argc, (const char *const *) argv, + (request->function)(argc, (ss_argv_t) argv, sci_idx,info->info_ptr); info->current_request = (char *)NULL; return(0); diff --git a/lib/ss/help.c b/lib/ss/help.c index 54c78f239..d3319b697 100644 --- a/lib/ss/help.c +++ b/lib/ss/help.c @@ -34,7 +34,7 @@ #endif #include "ss_internal.h" -void ss_help(int argc, char const * const *argv, int sci_idx, pointer info_ptr) +void ss_help(int argc, ss_argv_t argv, int sci_idx, pointer info_ptr) { char *buffer; char const *request_name; diff --git a/lib/ss/list_rqs.c b/lib/ss/list_rqs.c index 89e37bb20..408d3ac3f 100644 --- a/lib/ss/list_rqs.c +++ b/lib/ss/list_rqs.c @@ -22,7 +22,7 @@ typedef void sigret_t; void ss_list_requests(int argc __SS_ATTR((unused)), - const char * const *argv __SS_ATTR((unused)), + ss_argv_t argv __SS_ATTR((unused)), int sci_idx, void *infop __SS_ATTR((unused))) { ss_request_entry *entry; diff --git a/lib/ss/listen.c b/lib/ss/listen.c index 9578c3e82..df1311d13 100644 --- a/lib/ss/listen.c +++ b/lib/ss/listen.c @@ -135,7 +135,7 @@ void ss_abort_subsystem(int sci_idx, int code) } void ss_quit(int argc __SS_ATTR((unused)), - const char * const *argv __SS_ATTR((unused)), + ss_argv_t argv __SS_ATTR((unused)), int sci_idx, pointer infop __SS_ATTR((unused))) { ss_abort_subsystem(sci_idx, 0); diff --git a/lib/ss/requests.c b/lib/ss/requests.c index 33ce5d206..6a8d00bee 100644 --- a/lib/ss/requests.c +++ b/lib/ss/requests.c @@ -24,7 +24,7 @@ * ss_self_identify -- assigned by default to the "." request */ void ss_self_identify(int argc __SS_ATTR((unused)), - const char * const *argv __SS_ATTR((unused)), + ss_argv_t argv __SS_ATTR((unused)), int sci_idx, void *infop __SS_ATTR((unused))) { register ss_data *info = ss_info(sci_idx); @@ -36,7 +36,7 @@ void ss_self_identify(int argc __SS_ATTR((unused)), * ss_subsystem_name -- print name of subsystem */ void ss_subsystem_name(int argc __SS_ATTR((unused)), - const char * const *argv __SS_ATTR((unused)), + ss_argv_t argv __SS_ATTR((unused)), int sci_idx, void *infop __SS_ATTR((unused))) { @@ -47,7 +47,7 @@ void ss_subsystem_name(int argc __SS_ATTR((unused)), * ss_subsystem_version -- print version of subsystem */ void ss_subsystem_version(int argc __SS_ATTR((unused)), - const char * const *argv __SS_ATTR((unused)), + ss_argv_t argv __SS_ATTR((unused)), int sci_idx, void *infop __SS_ATTR((unused))) { @@ -59,7 +59,7 @@ void ss_subsystem_version(int argc __SS_ATTR((unused)), * set up as (dont_list,dont_summarize)) */ void ss_unimplemented(int argc __SS_ATTR((unused)), - const char * const *argv __SS_ATTR((unused)), + ss_argv_t argv __SS_ATTR((unused)), int sci_idx, void *infop __SS_ATTR((unused))) { ss_perror(sci_idx, SS_ET_UNIMPLEMENTED, ""); diff --git a/lib/ss/ss.h b/lib/ss/ss.h index 7333ffc90..e53da5093 100644 --- a/lib/ss/ss.h +++ b/lib/ss/ss.h @@ -26,7 +26,8 @@ #include <ss/ss_err.h> #define __SS_CONST const -#define __SS_PROTO (int, const char * const *, int, void *) +typedef char * const *ss_argv_t; +#define __SS_PROTO (int, ss_argv_t, int, void *) #ifdef __GNUC__ #define __SS_ATTR(x) __attribute__(x) @@ -79,14 +80,11 @@ int ss_execute_line(int, char *); void ss_add_request_table(int, ss_request_table *, int, int *); void ss_delete_request_table(int, ss_request_table *, int *); void ss_abort_subsystem(int sci_idx, int code); -void ss_quit(int argc, const char * const *argv, int sci_idx, void *infop); -void ss_self_identify(int argc, const char * const *argv, int sci_idx, void *infop); -void ss_subsystem_name(int argc, const char * const *argv, - int sci_idx, void *infop); -void ss_subsystem_version(int argc, const char * const *argv, - int sci_idx, void *infop); -void ss_unimplemented(int argc, const char * const *argv, - int sci_idx, void *infop); +void ss_quit(int argc, ss_argv_t argv, int sci_idx, void *infop); +void ss_self_identify(int argc, ss_argv_t argv, int sci_idx, void *infop); +void ss_subsystem_name(int argc, ss_argv_t argv, int sci_idx, void *infop); +void ss_subsystem_version(int argc, ss_argv_t argv, int sci_idx, void *infop); +void ss_unimplemented(int argc, ss_argv_t argv, int sci_idx, void *infop); void ss_set_prompt(int sci_idx, char *new_prompt); char *ss_get_prompt(int sci_idx); void ss_get_readline(int sci_idx); diff --git a/lib/ss/ss_internal.h b/lib/ss/ss_internal.h index 7b1d23bd2..e2a8d75ad 100644 --- a/lib/ss/ss_internal.h +++ b/lib/ss/ss_internal.h @@ -86,7 +86,7 @@ int ss_execute_line(int sci_idx, char *line_ptr); char **ss_parse(int sci_idx, char *line_ptr, int *argc_ptr); ss_abbrev_info *ss_abbrev_initialize(char *, int *); void ss_page_stdin(void) __SS_ATTR((noreturn)); -void ss_list_requests(int, char const * const *, int, pointer); +void ss_list_requests(int argc, ss_argv_t argv, int sci_idex, void *infop); int ss_execute_command(int sci_idx, char *argv[]); int ss_pager_create(void); char *ss_safe_getenv(const char *arg); diff --git a/lib/ss/test_ss.c b/lib/ss/test_ss.c index 53ca99fc4..a382673f5 100644 --- a/lib/ss/test_ss.c +++ b/lib/ss/test_ss.c @@ -136,9 +136,9 @@ int main(int argc, char **argv) } -void test_cmd (argc, argv) - int argc; - char **argv; +void test_cmd(int argc, const char * const *argv, + int sci_idx __SS_ATTR((unused)), + void *infop __SS_ATTR((unused))) { printf("Hello, world!\n"); printf("Args: "); diff --git a/misc/e2freefrag.c b/misc/e2freefrag.c index 04f155b60..63a3d4351 100644 --- a/misc/e2freefrag.c +++ b/misc/e2freefrag.c @@ -377,7 +377,7 @@ static void open_device(char *device_name, ext2_filsys *fs) #ifdef DEBUGFS #include "debugfs.h" -void do_freefrag(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_freefrag(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) #else int main(int argc, char *argv[]) diff --git a/tests/progs/Makefile.in b/tests/progs/Makefile.in index e1325c619..47d7adfa9 100644 --- a/tests/progs/Makefile.in +++ b/tests/progs/Makefile.in @@ -20,7 +20,8 @@ TEST_REL_OBJS= test_rel.o test_rel_cmds.o TEST_ICOUNT_OBJS= test_icount.o test_icount_cmds.o -SRCS= $(srcdir)/test_rel.c +SRCS= $(srcdir)/test_icount.c \ + $(srcdir)/test_rel.c LIBS= $(LIBEXT2FS) $(LIBSS) $(LIBCOM_ERR) $(SYSLIBS) DEPLIBS= $(LIBEXT2FS) $(DEPLIBSS) $(DEPLIBCOM_ERR) diff --git a/tests/progs/test_icount.c b/tests/progs/test_icount.c index 6ebb100d2..c1005c6f9 100644 --- a/tests/progs/test_icount.c +++ b/tests/progs/test_icount.c @@ -61,7 +61,7 @@ static int parse_inode(const char *request, const char *desc, return 0; } -void do_create_icount(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_create_icount(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -92,7 +92,7 @@ void do_create_icount(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), } } -void do_free_icount(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_free_icount(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { if (argc != 1) { @@ -106,7 +106,7 @@ void do_free_icount(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), test_icount = 0; } -void do_fetch(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_fetch(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -129,7 +129,7 @@ void do_fetch(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), printf("Count is %u\n", count); } -void do_increment(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_increment(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -153,7 +153,7 @@ void do_increment(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), printf("Count is now %u\n", count); } -void do_decrement(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_decrement(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -177,7 +177,7 @@ void do_decrement(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), printf("Count is now %u\n", count); } -void do_store(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_store(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -206,7 +206,7 @@ void do_store(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), } } -void do_dump(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_dump(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -231,7 +231,7 @@ void do_dump(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), } } -void do_validate(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_validate(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -250,7 +250,7 @@ void do_validate(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), printf("Icount structure successfully validated\n"); } -void do_get_size(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), +void do_get_size(int argc, ss_argv_t argv, int sci_idx EXT2FS_ATTR((unused)), void *infop EXT2FS_ATTR((unused))) { ext2_ino_t size; diff --git a/tests/progs/test_icount.h b/tests/progs/test_icount.h index 29d56abfd..b086547b5 100644 --- a/tests/progs/test_icount.h +++ b/tests/progs/test_icount.h @@ -1,10 +1,21 @@ -void do_create_icount(int argc, char **argv, int sci_idx, void *infop); -void do_free_icount(int argc, char **argv, int sci_idx, void *infop); -void do_fetch(int argc, char **argv, int sci_idx, void *infop); -void do_increment(int argc, char **argv, int sci_idx, void *infop); -void do_decrement(int argc, char **argv, int sci_idx, void *infop); -void do_store(int argc, char **argv, int sci_idx, void *infop); -void do_get_size(int argc, char **argv, int sci_idx, void *infop); -void do_dump(int argc, char **argv, int sci_idx, void *infop); -void do_validate(int argc, char **argv, int sci_idx, void *infop); +/* + * test_icount.h + * + * Copyright (C) 1997 Theodore Ts'o. + * + * %Begin-Header% + * This file may be redistributed under the terms of the GNU Public + * License. + * %End-Header% + */ + +void do_create_icount(int argc, ss_argv_t argv, int sci_idx, void *infop); +void do_free_icount(int argc, ss_argv_t argv, int sci_idx, void *infop); +void do_fetch(int argc, ss_argv_t argv, int sci_idx, void *infop); +void do_increment(int argc, ss_argv_t argv, int sci_idx, void *infop); +void do_decrement(int argc, ss_argv_t argv, int sci_idx, void *infop); +void do_store(int argc, ss_argv_t argv, int sci_idx, void *infop); +void do_get_size(int argc, ss_argv_t argv, int sci_idx, void *infop); +void do_dump(int argc, ss_argv_t argv, int sci_idx, void *infop); +void do_validate(int argc, ss_argv_t argv, int sci_idx, void *infop); diff --git a/tests/progs/test_rel.c b/tests/progs/test_rel.c index 8f7280c78..6666b73ed 100644 --- a/tests/progs/test_rel.c +++ b/tests/progs/test_rel.c @@ -141,7 +141,7 @@ static void display_irel_entry(ext2_ino_t old, /* * These are the actual command table procedures */ -void do_brel_ma_create(int argc, char **argv) +void do_brel_ma_create(int argc, ss_argv_t argv) { const char *usage = "Usage: %s name max_blocks\n"; errcode_t retval; @@ -161,7 +161,7 @@ void do_brel_ma_create(int argc, char **argv) return; } -void do_brel_free(int argc, char **argv) +void do_brel_free(int argc, ss_argv_t argv) { if (check_brel(argv[0])) return; @@ -170,7 +170,7 @@ void do_brel_free(int argc, char **argv) return; } -void do_brel_put(int argc, char **argv) +void do_brel_put(int argc, ss_argv_t argv) { const char *usage = "usage: %s old_block new_block [owner] [offset]"; errcode_t retval; @@ -211,7 +211,7 @@ void do_brel_put(int argc, char **argv) return; } -void do_brel_get(int argc, char **argv) +void do_brel_get(int argc, ss_argv_t argv) { const char *usage = "%s block"; errcode_t retval; @@ -235,7 +235,7 @@ void do_brel_get(int argc, char **argv) return; } -void do_brel_start_iter(int argc, char **argv) +void do_brel_start_iter(int argc, ss_argv_t argv) { errcode_t retval; @@ -250,7 +250,7 @@ void do_brel_start_iter(int argc, char **argv) return; } -void do_brel_next(int argc, char **argv) +void do_brel_next(int argc, ss_argv_t argv) { errcode_t retval; struct ext2_block_relocate_entry ent; @@ -272,7 +272,7 @@ void do_brel_next(int argc, char **argv) return; } -void do_brel_dump(int argc, char **argv) +void do_brel_dump(int argc, ss_argv_t argv) { errcode_t retval; struct ext2_block_relocate_entry ent; @@ -301,7 +301,7 @@ void do_brel_dump(int argc, char **argv) return; } -void do_brel_move(int argc, char **argv) +void do_brel_move(int argc, ss_argv_t argv) { const char *usage = "%s old_block new_block"; errcode_t retval; @@ -326,7 +326,7 @@ void do_brel_move(int argc, char **argv) return; } -void do_brel_delete(int argc, char **argv) +void do_brel_delete(int argc, ss_argv_t argv) { const char *usage = "%s block"; errcode_t retval; @@ -348,7 +348,7 @@ void do_brel_delete(int argc, char **argv) } } -void do_irel_ma_create(int argc, char **argv) +void do_irel_ma_create(int argc, ss_argv_t argv) { const char *usage = "Usage: %s name max_inode\n"; errcode_t retval; @@ -368,7 +368,7 @@ void do_irel_ma_create(int argc, char **argv) return; } -void do_irel_free(int argc, char **argv) +void do_irel_free(int argc, ss_argv_t argv) { if (check_irel(argv[0])) return; @@ -378,7 +378,7 @@ void do_irel_free(int argc, char **argv) return; } -void do_irel_put(int argc, char **argv) +void do_irel_put(int argc, ss_argv_t argv) { const char *usage = "%s old new max_refs"; errcode_t retval; @@ -414,7 +414,7 @@ void do_irel_put(int argc, char **argv) return; } -void do_irel_get(int argc, char **argv) +void do_irel_get(int argc, ss_argv_t argv) { const char *usage = "%s inode"; errcode_t retval; @@ -440,7 +440,7 @@ void do_irel_get(int argc, char **argv) return; } -void do_irel_get_by_orig(int argc, char **argv) +void do_irel_get_by_orig(int argc, ss_argv_t argv) { const char *usage = "%s orig_inode"; errcode_t retval; @@ -466,7 +466,7 @@ void do_irel_get_by_orig(int argc, char **argv) return; } -void do_irel_start_iter(int argc, char **argv) +void do_irel_start_iter(int argc, ss_argv_t argv) { errcode_t retval; @@ -481,7 +481,7 @@ void do_irel_start_iter(int argc, char **argv) return; } -void do_irel_next(int argc, char **argv) +void do_irel_next(int argc, ss_argv_t argv) { errcode_t retval; ext2_ino_t old; @@ -503,7 +503,7 @@ void do_irel_next(int argc, char **argv) return; } -void do_irel_dump(int argc, char **argv) +void do_irel_dump(int argc, ss_argv_t argv) { errcode_t retval; ext2_ino_t ino; @@ -532,7 +532,7 @@ void do_irel_dump(int argc, char **argv) return; } -void do_irel_add_ref(int argc, char **argv) +void do_irel_add_ref(int argc, ss_argv_t argv) { const char *usage = "%s inode block offset"; errcode_t retval; @@ -569,7 +569,7 @@ void do_irel_add_ref(int argc, char **argv) return; } -void do_irel_start_iter_ref(int argc, char **argv) +void do_irel_start_iter_ref(int argc, ss_argv_t argv) { const char *usage = "%s inode"; errcode_t retval; @@ -593,7 +593,7 @@ void do_irel_start_iter_ref(int argc, char **argv) return; } -void do_irel_next_ref(int argc, char **argv) +void do_irel_next_ref(int argc, ss_argv_t argv) { struct ext2_inode_reference ref; errcode_t retval; @@ -610,7 +610,7 @@ void do_irel_next_ref(int argc, char **argv) return; } -void do_irel_move(int argc, char **argv) +void do_irel_move(int argc, ss_argv_t argv) { const char *usage = "%s old new"; errcode_t retval; @@ -636,7 +636,7 @@ void do_irel_move(int argc, char **argv) return; } -void do_irel_delete(int argc, char **argv) +void do_irel_delete(int argc, ss_argv_t argv) { const char *usage = "%s inode"; errcode_t retval; diff --git a/tests/progs/test_rel.h b/tests/progs/test_rel.h index 47c4d0980..62267ba93 100644 --- a/tests/progs/test_rel.h +++ b/tests/progs/test_rel.h @@ -11,25 +11,25 @@ -void do_brel_ma_create(int argc, char **argv); -void do_brel_free(int argc, char **argv); -void do_brel_put(int argc, char **argv); -void do_brel_get(int argc, char **argv); -void do_brel_start_iter(int argc, char **argv); -void do_brel_next(int argc, char **argv); -void do_brel_dump(int argc, char **argv); -void do_brel_move(int argc, char **argv); -void do_brel_delete(int argc, char **argv); -void do_irel_ma_create(int argc, char **argv); -void do_irel_free(int argc, char **argv); -void do_irel_put(int argc, char **argv); -void do_irel_get(int argc, char **argv); -void do_irel_get_by_orig(int argc, char **argv); -void do_irel_start_iter(int argc, char **argv); -void do_irel_next(int argc, char **argv); -void do_irel_dump(int argc, char **argv); -void do_irel_add_ref(int argc, char **argv); -void do_irel_start_iter_ref(int argc, char **argv); -void do_irel_next_ref(int argc, char **argv); -void do_irel_move(int argc, char **argv); -void do_irel_delete(int argc, char **argv); +void do_brel_ma_create(int argc, ss_argv_t argv); +void do_brel_free(int argc, ss_argv_t argv); +void do_brel_put(int argc, ss_argv_t argv); +void do_brel_get(int argc, ss_argv_t argv); +void do_brel_start_iter(int argc, ss_argv_t argv); +void do_brel_next(int argc, ss_argv_t argv); +void do_brel_dump(int argc, ss_argv_t argv); +void do_brel_move(int argc, ss_argv_t argv); +void do_brel_delete(int argc, ss_argv_t argv); +void do_irel_ma_create(int argc, ss_argv_t argv); +void do_irel_free(int argc, ss_argv_t argv); +void do_irel_put(int argc, ss_argv_t argv); +void do_irel_get(int argc, ss_argv_t argv); +void do_irel_get_by_orig(int argc, ss_argv_t argv); +void do_irel_start_iter(int argc, ss_argv_t argv); +void do_irel_next(int argc, ss_argv_t argv); +void do_irel_dump(int argc, ss_argv_t argv); +void do_irel_add_ref(int argc, ss_argv_t argv); +void do_irel_start_iter_ref(int argc, ss_argv_t argv); +void do_irel_next_ref(int argc, ss_argv_t argv); +void do_irel_move(int argc, ss_argv_t argv); +void do_irel_delete(int argc, ss_argv_t argv); |