Changeset 3232 in MondoRescue for branches/3.2/mindi-busybox/util-linux/blockdev.c
- Timestamp:
- Jan 1, 2014, 12:47:38 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3.2/mindi-busybox/util-linux/blockdev.c
r3085 r3232 7 7 */ 8 8 9 //applet:IF_BLOCKDEV(APPLET(blockdev, _BB_DIR_SBIN, _BB_SUID_DROP))9 //applet:IF_BLOCKDEV(APPLET(blockdev, BB_DIR_SBIN, BB_SUID_DROP)) 10 10 11 11 //kbuild:lib-$(CONFIG_BLOCKDEV) += blockdev.o … … 20 20 //usage: "OPTION BLOCKDEV" 21 21 //usage:#define blockdev_full_usage "\n\n" 22 //usage: "Options:" 23 //usage: "\n --setro Set ro" 22 //usage: " --setro Set ro" 24 23 //usage: "\n --setrw Set rw" 25 24 //usage: "\n --getro Get ro" … … 27 26 //usage: "\n --getbsz Get block size" 28 27 //usage: "\n --setbsz BYTES Set block size" 29 //usage: "\n --getsize Get device size in 512-byte sectors" 28 //usage: "\n --getsz Get device size in 512-byte sectors" 29 /*//usage: "\n --getsize Get device size in sectors (deprecated)"*/ 30 30 //usage: "\n --getsize64 Get device size in bytes" 31 31 //usage: "\n --flushbufs Flush buffers" … … 35 35 #include "libbb.h" 36 36 #include <linux/fs.h> 37 38 /* Patch bco to compile this busybox on rhel3 */39 #ifndef BLKGETSIZE6440 #define BLKGETSIZE64 _IOR(0x12,114,size_t)41 #endif42 37 43 38 enum { … … 51 46 FL_USRARG = 4, /* argument is provided by user */ 52 47 FL_NORESULT = 8, 48 FL_SCALE512 = 16, 53 49 }; 54 50 … … 91 87 .flags = ARG_INT + FL_NORESULT + FL_USRARG, 92 88 .argval = 0, 89 },{ 90 .ioc = BLKGETSIZE64, 91 .name = "getsz", 92 .flags = ARG_U64 + FL_SCALE512, 93 .argval = -1, 93 94 },{ 94 95 .ioc = BLKGETSIZE, … … 129 130 130 131 int blockdev_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 131 int blockdev_main(int argc , char **argv)132 int blockdev_main(int argc UNUSED_PARAM, char **argv) 132 133 { 133 134 const struct bdc *bdcmd; … … 140 141 } ioctl_val_on_stack; 141 142 142 if ((unsigned)(argc - 3) > 1) /* must have 2 or 3 args */ 143 argv++; 144 if (!argv[0] || !argv[1]) /* must have at least 2 args */ 143 145 bb_show_usage(); 144 146 145 bdcmd = find_cmd(* ++argv);147 bdcmd = find_cmd(*argv); 146 148 147 149 u64 = (int)bdcmd->argval; … … 149 151 u64 = xatoi_positive(*++argv); 150 152 151 if (!*++argv || argv[1]) 153 argv++; 154 if (!argv[0] || argv[1]) 152 155 bb_show_usage(); 153 fd = xopen( *argv, O_RDONLY);156 fd = xopen(argv[0], O_RDONLY); 154 157 155 158 ioctl_val_on_stack.u64 = u64; … … 179 182 u64 = ioctl_val_on_stack.u64; 180 183 184 if (bdcmd->flags & FL_SCALE512) 185 u64 >>= 9; 186 181 187 /* Zero- or one-extend the value if needed, then print */ 182 188 switch (bdcmd->flags & (ARG_MASK+FL_NORESULT)) {
Note:
See TracChangeset
for help on using the changeset viewer.