summaryrefslogtreecommitdiffstats
path: root/cddl
diff options
context:
space:
mode:
authorsmh <smh@FreeBSD.org>2014-04-24 01:12:52 +0000
committersmh <smh@FreeBSD.org>2014-04-24 01:12:52 +0000
commit5c3c99130bf7e8d7c20a16183bced8ed382625fb (patch)
tree57eb831cd923cb8e532b32d01844c9360fd8ba1b /cddl
parent694b1f9e9189d33e7177cab9e73132d27c70e8e1 (diff)
downloadFreeBSD-src-5c3c99130bf7e8d7c20a16183bced8ed382625fb.zip
FreeBSD-src-5c3c99130bf7e8d7c20a16183bced8ed382625fb.tar.gz
Eliminated optarg global being used outside of the function which called getopt
MFC after: 2 weeks
Diffstat (limited to 'cddl')
-rw-r--r--cddl/contrib/opensolaris/cmd/zfs/zfs_main.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c b/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
index ff015f6..4c5f8d44 100644
--- a/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
+++ b/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
@@ -495,9 +495,8 @@ usage(boolean_t requested)
}
static int
-parseprop(nvlist_t *props)
+parseprop(nvlist_t *props, char *propname)
{
- char *propname = optarg;
char *propval, *strval;
if ((propval = strchr(propname, '=')) == NULL) {
@@ -526,7 +525,7 @@ parse_depth(char *opt, int *flags)
depth = (int)strtol(opt, &tmp, 0);
if (*tmp) {
(void) fprintf(stderr,
- gettext("%s is not an integer\n"), optarg);
+ gettext("%s is not an integer\n"), opt);
usage(B_FALSE);
}
if (depth < 0) {
@@ -617,7 +616,7 @@ zfs_do_clone(int argc, char **argv)
while ((c = getopt(argc, argv, "o:p")) != -1) {
switch (c) {
case 'o':
- if (parseprop(props))
+ if (parseprop(props, optarg))
return (1);
break;
case 'p':
@@ -767,7 +766,7 @@ zfs_do_create(int argc, char **argv)
nomem();
break;
case 'o':
- if (parseprop(props))
+ if (parseprop(props, optarg))
goto error;
break;
case 's':
@@ -3636,7 +3635,7 @@ zfs_do_snapshot(int argc, char **argv)
while ((c = getopt(argc, argv, "ro:")) != -1) {
switch (c) {
case 'o':
- if (parseprop(props))
+ if (parseprop(props, optarg))
return (1);
break;
case 'r':
OpenPOWER on IntegriCloud