diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2021-01-05 15:01:40 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2021-01-05 15:02:10 -0500 |
commit | 41dc1733f12fab96df2089d7c62036a880891010 (patch) | |
tree | a25c9d723fda8bb2e6f1eddc97cef01f7579bd91 | |
parent | 80846e9c28e76774daf7d2d46115d73f108b98db (diff) |
Fix bcachefs device remove --by-id
That's not how you parse an integer in C...
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r-- | cmd_device.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/cmd_device.c b/cmd_device.c index a7ff3615..d962b6fe 100644 --- a/cmd_device.c +++ b/cmd_device.c @@ -172,10 +172,15 @@ int cmd_device_remove(int argc, char *argv[]) if (!path) die("Please supply filesystem to remove device from"); - dev_idx = (intptr_t) arg_pop(); - if (!dev_idx) + char *dev_str = arg_pop(); + if (!dev_str) die("Please supply device id"); + errno = 0; + dev_idx = strtoul(dev_str, NULL, 10); + if (errno) + die("Error parsing device id: %m"); + fs = bcache_fs_open(path); } else { char *dev = arg_pop(); |