X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=cmds-property.c;h=03bafa054701bea1609c0c30ab7d6b97804d5c88;hb=6d3fea8f46568ae9f54bd50f9de2aeeb76e0cd23;hp=eed5f4aa48a139b21c3a799ac94020ee1747ba6b;hpb=c742debab11fb01b5f14743f06485c5f773655bc;p=platform%2Fupstream%2Fbtrfs-progs.git diff --git a/cmds-property.c b/cmds-property.c index eed5f4a..03bafa0 100644 --- a/cmds-property.c +++ b/cmds-property.c @@ -26,6 +26,7 @@ #include "props.h" #include "ctree.h" #include "utils.h" +#include "help.h" static const char * const property_cmd_group_usage[] = { "btrfs property get/set/list [-t ] [] [value]", @@ -47,36 +48,6 @@ static int parse_prop(const char *arg, const struct prop_handler *props, return -1; } -static int get_fsid(const char *path, u8 *fsid, int silent) -{ - int ret; - int fd; - struct btrfs_ioctl_fs_info_args args; - - fd = open(path, O_RDONLY); - if (fd < 0) { - ret = -errno; - if (!silent) - error("failed to open %s: %s", path, - strerror(-ret)); - goto out; - } - - ret = ioctl(fd, BTRFS_IOC_FS_INFO, &args); - if (ret < 0) { - ret = -errno; - goto out; - } - - memcpy(fsid, args.fsid, BTRFS_FSID_SIZE); - ret = 0; - -out: - if (fd != -1) - close(fd); - return ret; -} - static int check_btrfs_object(const char *object) { int ret; @@ -199,12 +170,6 @@ out: return ret; } -static int print_prop_help(const struct prop_handler *prop) -{ - fprintf(stdout, "%-20s%s\n", prop->name, prop->desc); - return 0; -} - static int dump_prop(const struct prop_handler *prop, const char *object, int types, @@ -217,7 +182,7 @@ static int dump_prop(const struct prop_handler *prop, if (!name_and_help) ret = prop->handler(type, object, prop->name, NULL); else - ret = print_prop_help(prop); + printf("%-20s%s\n", prop->name, prop->desc); } return ret; } @@ -298,7 +263,7 @@ static void parse_args(int argc, char **argv, { int ret; char *type_str = NULL; - int max_nonopt_args = 0; + int max_nonopt_args = 1; optind = 1; while (1) { @@ -315,8 +280,6 @@ static void parse_args(int argc, char **argv, } } - if (object) - max_nonopt_args++; if (name) max_nonopt_args++; if (value) @@ -345,19 +308,13 @@ static void parse_args(int argc, char **argv, } } - if (object && optind < argc) - *object = argv[optind++]; - if (name && optind < argc) + *object = argv[optind++]; + if (optind < argc) *name = argv[optind++]; - if (value && optind < argc) + if (optind < argc) *value = argv[optind++]; - if (optind != argc) { - error("unexpected agruments found"); - usage(usage_str); - } - - if (!*types && object && *object) { + if (!*types) { ret = autodetect_object_types(*object, types); if (ret < 0) { error("failed to detect object type: %s", @@ -393,10 +350,6 @@ static int cmd_property_get(int argc, char **argv) parse_args(argc, argv, cmd_property_get_usage, &types, &object, &name, NULL, 1); - if (!object) { - error("invalid arguments"); - usage(cmd_property_get_usage); - } if (name) ret = setget_prop(types, object, name, NULL); @@ -424,10 +377,6 @@ static int cmd_property_set(int argc, char **argv) parse_args(argc, argv, cmd_property_set_usage, &types, &object, &name, &value, 3); - if (!object || !name || !value) { - error("invalid arguments"); - usage(cmd_property_set_usage); - } ret = setget_prop(types, object, name, value); @@ -450,10 +399,6 @@ static int cmd_property_list(int argc, char **argv) parse_args(argc, argv, cmd_property_list_usage, &types, &object, NULL, NULL, 1); - if (!object) { - error("invalid arguments"); - usage(cmd_property_list_usage); - } ret = dump_props(types, object, 1);