Bug 154289

Summary: Typing error in demo script inside man page "getopt(1)"
Product: Documentation Reporter: Jamie Jones <jamie>
Component: Books & ArticlesAssignee: Ulrich Spörlein <uqs>
Status: Closed FIXED    
Severity: Affects Only Me CC: jamie
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description Jamie Jones 2011-01-25 18:10:11 UTC
	

	getopt(1) man page contains the following within the sample code:

                           -a|-b)
                                   echo flag $i set; sflags="${i#-}$sflags";
                                   shift;;
                           -o)

$i and ${i are wrong - they should be $1 and ${1 respectively - as it stands, the example doesn't show which flag is being set

Fix: 

replace $i with $1 and ${i with ${1
How-To-Repeat: 
	man getopt
Comment 1 Ulrich Spörlein freebsd_committer freebsd_triage 2011-01-26 18:32:44 UTC
Responsible Changed
From-To: freebsd-doc->uqs

I'll take it
Comment 2 Ulrich Spörlein freebsd_committer freebsd_triage 2011-01-26 18:43:15 UTC
State Changed
From-To: open->closed

Committed in r217890, thanks for the submission!
Comment 3 dfilter service freebsd_committer freebsd_triage 2011-01-26 18:43:21 UTC
Author: uqs
Date: Wed Jan 26 18:43:15 2011
New Revision: 217890
URL: http://svn.freebsd.org/changeset/base/217890

Log:
  Fix typo in example getopt(1) script: $i vs $1 [1]
  While here apply style hammer.
  
  PR:		docs/154289 [1]
  Submitted by:	Jamie Landeg Jones <jamie@bishopston.net>
  MFC after:	1 week

Modified:
  head/usr.bin/getopt/getopt.1

Modified: head/usr.bin/getopt/getopt.1
==============================================================================
--- head/usr.bin/getopt/getopt.1	Wed Jan 26 18:03:03 2011	(r217889)
+++ head/usr.bin/getopt/getopt.1	Wed Jan 26 18:43:15 2011	(r217890)
@@ -1,6 +1,6 @@
 .\" $FreeBSD$
 .\"
-.Dd July 7, 2010
+.Dd January 26, 2011
 .Dt GETOPT 1
 .Os
 .Sh NAME
@@ -54,8 +54,7 @@ which requires an argument.
 args=\`getopt abo: $*\`
 # you should not use \`getopt abo: "$@"\` since that would parse
 # the arguments differently from what the set command below does.
-if [ $? -ne 0 ]
-then
+if [ $? -ne 0 ]; then
 	echo 'Usage: ...'
 	exit 2
 fi
@@ -63,22 +62,23 @@ set \-\- $args
 # You cannot use the set command with a backquoted getopt directly,
 # since the exit code from getopt would be shadowed by those of set,
 # which is zero by definition.
-while true;
-do
-	case "$1"
-	in
-		\-a|\-b)
-			echo flag $i set; sflags="${i#-}$sflags";
-			shift;;
-		\-o)
-			echo oarg is "'"$2"'"; oarg="$2"; shift;
-			shift;;
-		\-\-)
-			shift; break;;
+while true; do
+	case "$1" in
+	\-a|\-b)
+		echo "flag $1 set"; sflags="${1#-}$sflags"
+		shift
+		;;
+	\-o)
+		echo "oarg is '$2'"; oarg="$2"
+		shift; shift
+		;;
+	\-\-)
+		shift; break
+		;;
 	esac
 done
-echo single-char flags: "'"$sflags"'"
-echo oarg is "'"$oarg"'"
+echo "single-char flags: '$sflags'"
+echo "oarg is '$oarg'"
 .Ed
 .Pp
 This code will accept any of the following as equivalent:
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 4 dfilter service freebsd_committer freebsd_triage 2011-02-13 19:02:32 UTC
Author: uqs
Date: Sun Feb 13 19:02:26 2011
New Revision: 218656
URL: http://svn.freebsd.org/changeset/base/218656

Log:
  MFH r217890
  
  Fix typo in example getopt(1) script: $i vs $1 [1]
  While here apply style hammer.
  
  PR:		docs/154289 [1]
  Submitted by:	Jamie Landeg Jones <jamie@bishopston.net>

Modified:
  stable/8/usr.bin/getopt/getopt.1
Directory Properties:
  stable/8/usr.bin/getopt/   (props changed)

Modified: stable/8/usr.bin/getopt/getopt.1
==============================================================================
--- stable/8/usr.bin/getopt/getopt.1	Sun Feb 13 18:46:34 2011	(r218655)
+++ stable/8/usr.bin/getopt/getopt.1	Sun Feb 13 19:02:26 2011	(r218656)
@@ -1,6 +1,6 @@
 .\" $FreeBSD$
 .\"
-.Dd July 7, 2010
+.Dd January 26, 2011
 .Dt GETOPT 1
 .Os
 .Sh NAME
@@ -55,8 +55,7 @@ which requires an argument.
 args=\`getopt abo: $*\`
 # you should not use \`getopt abo: "$@"\` since that would parse
 # the arguments differently from what the set command below does.
-if [ $? -ne 0 ]
-then
+if [ $? -ne 0 ]; then
 	echo 'Usage: ...'
 	exit 2
 fi
@@ -64,22 +63,23 @@ set \-\- $args
 # You cannot use the set command with a backquoted getopt directly,
 # since the exit code from getopt would be shadowed by those of set,
 # which is zero by definition.
-while true;
-do
-	case "$1"
-	in
-		\-a|\-b)
-			echo flag $i set; sflags="${i#-}$sflags";
-			shift;;
-		\-o)
-			echo oarg is "'"$2"'"; oarg="$2"; shift;
-			shift;;
-		\-\-)
-			shift; break;;
+while true; do
+	case "$1" in
+	\-a|\-b)
+		echo "flag $1 set"; sflags="${1#-}$sflags"
+		shift
+		;;
+	\-o)
+		echo "oarg is '$2'"; oarg="$2"
+		shift; shift
+		;;
+	\-\-)
+		shift; break
+		;;
 	esac
 done
-echo single-char flags: "'"$sflags"'"
-echo oarg is "'"$oarg"'"
+echo "single-char flags: '$sflags'"
+echo "oarg is '$oarg'"
 .Ed
 .Pp
 This code will accept any of the following as equivalent:
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 5 dfilter service freebsd_committer freebsd_triage 2011-02-13 19:07:26 UTC
Author: uqs
Date: Sun Feb 13 19:07:17 2011
New Revision: 218657
URL: http://svn.freebsd.org/changeset/base/218657

Log:
  MFH r209772,217890
  
  Fix an error in the EXAMPLES section of getopt(1), which is based on
  the same fix present in NetBSD.
  
  Fix typo in example getopt(1) script: $i vs $1 [1]
  While here apply style hammer.
  
  PR:		docs/133118, docs/154289 [1]
  Submitted by:	Oleg A. Mamontov, Jamie Landeg Jones

Modified:
  stable/7/usr.bin/getopt/getopt.1
Directory Properties:
  stable/7/usr.bin/getopt/   (props changed)

Modified: stable/7/usr.bin/getopt/getopt.1
==============================================================================
--- stable/7/usr.bin/getopt/getopt.1	Sun Feb 13 19:02:26 2011	(r218656)
+++ stable/7/usr.bin/getopt/getopt.1	Sun Feb 13 19:07:17 2011	(r218657)
@@ -1,6 +1,6 @@
 .\" $FreeBSD$
 .\"
-.Dd April 3, 1999
+.Dd January 26, 2011
 .Dt GETOPT 1
 .Os
 .Sh NAME
@@ -55,8 +55,7 @@ which requires an argument.
 args=\`getopt abo: $*\`
 # you should not use \`getopt abo: "$@"\` since that would parse
 # the arguments differently from what the set command below does.
-if [ $? -ne 0 ]
-then
+if [ $? -ne 0 ]; then
 	echo 'Usage: ...'
 	exit 2
 fi
@@ -64,22 +63,23 @@ set \-\- $args
 # You cannot use the set command with a backquoted getopt directly,
 # since the exit code from getopt would be shadowed by those of set,
 # which is zero by definition.
-for i
-do
-	case "$i"
-	in
-		\-a|\-b)
-			echo flag $i set; sflags="${i#-}$sflags";
-			shift;;
-		\-o)
-			echo oarg is "'"$2"'"; oarg="$2"; shift;
-			shift;;
-		\-\-)
-			shift; break;;
+while true; do
+	case "$1" in
+	\-a|\-b)
+		echo "flag $1 set"; sflags="${1#-}$sflags"
+		shift
+		;;
+	\-o)
+		echo "oarg is '$2'"; oarg="$2"
+		shift; shift
+		;;
+	\-\-)
+		shift; break
+		;;
 	esac
 done
-echo single-char flags: "'"$sflags"'"
-echo oarg is "'"$oarg"'"
+echo "single-char flags: '$sflags'"
+echo "oarg is '$oarg'"
 .Ed
 .Pp
 This code will accept any of the following as equivalent:
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"