diff options
Diffstat (limited to 'vfat-volid/vfat-volid.c')
-rw-r--r-- | vfat-volid/vfat-volid.c | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/vfat-volid/vfat-volid.c b/vfat-volid/vfat-volid.c index 91cb09b..631438f 100644 --- a/vfat-volid/vfat-volid.c +++ b/vfat-volid/vfat-volid.c @@ -22,17 +22,11 @@ #define VFAT_IOCTL_GET_VOLUME_ID _IOR('r', 0x12, __u32) #endif -#ifndef VFAT_IOCTL_GET_VOLUME_ID_SAFE -#warning The IOCTL safe code has not been defined in public headers... -#define VFAT_IOCTL_GET_VOLUME_ID_SAFE _IOR('r', 0x13, __u32) -#endif - int main(int argc, char *argv[]) { struct option lopt[] = { { "path", required_argument, NULL, 'p' }, { "ignore-error", no_argument, NULL, 'i' }, - { "use-safe-ioctl", no_argument, NULL, 's' }, { "use-bad-addr", no_argument, NULL, 'e' }, { NULL, 0, NULL, 0 }, }; @@ -42,8 +36,7 @@ int main(int argc, char *argv[]) int h; int c, opti, ignore_ioctl_error = 0, - use_bad_addr = 0, - use_safe_ioctl = 0; + use_bad_addr = 0; __u32 id; while ((c = getopt_long(argc, argv, shopt, lopt, &opti)) != -1 ) { @@ -54,9 +47,6 @@ int main(int argc, char *argv[]) case 'i': ignore_ioctl_error = 1; break; - case 's': - use_safe_ioctl = 1; - break; case 'e': use_bad_addr = 1; break; @@ -78,12 +68,9 @@ int main(int argc, char *argv[]) return -h; } - if (use_safe_ioctl) { - res = ioctl(h, VFAT_IOCTL_GET_VOLUME_ID_SAFE, use_bad_addr ? 0x1234 : &id); - } else { - res = ioctl(h, VFAT_IOCTL_GET_VOLUME_ID); - id = res; - } + res = ioctl(h, VFAT_IOCTL_GET_VOLUME_ID); + id = res; + if (res < 0 && !ignore_ioctl_error) { perror("Error on ioctl"); free(device); |