From owner-freebsd-bugs@freebsd.org Sat Dec 24 22:55:48 2016 Return-Path: Delivered-To: freebsd-bugs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BD0E7C8F382 for ; Sat, 24 Dec 2016 22:55:48 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AC6D31CD for ; Sat, 24 Dec 2016 22:55:48 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id uBOMtmhL069865 for ; Sat, 24 Dec 2016 22:55:48 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 215207] [patch] getopt(1) example mangles command-line arguments with embedded spaces Date: Sat, 24 Dec 2016 22:55:48 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: bin X-Bugzilla-Version: CURRENT X-Bugzilla-Keywords: patch X-Bugzilla-Severity: Affects Many People X-Bugzilla-Who: jilles@FreeBSD.org X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Dec 2016 22:55:48 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D215207 Jilles Tjoelker changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jilles@FreeBSD.org --- Comment #1 from Jilles Tjoelker --- The patched version ignores getopt(1)'s output except for the number of iterations of a loop. This drops necessary adjustments made by getopt(1) su= ch as changing -ab to -a -b. As noted in the BUGS section of getopt(1), fixing arguments with whitespace= and shell metacharacters is hard. With the current API, it is not possible. A reasonable solution for shell scripts is to use the getopts builtin inste= ad of getopt(1). This fixes the problems with special characters and poor error messages and simplifies the code in the script. The man page could recommend this more. If you insist on using something called "getopt" or want to use long option= s, an alternative is to use a non-standard mode of the misc/getopt port. --=20 You are receiving this mail because: You are the assignee for the bug.=