[PATCH 2/2] pactl: Stop parsing option when the first non-option is encountered

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Peter Meerwald <p.meerwald@xxxxxxxxxxxxxxxxxx>

fix bug
https://bugs.freedesktop.org/show_bug.cgi?id=77108

see getopt(3):
""By default, getopt() permutes the contents of argv as it scans, so that
  eventually all the nonoptions are at the end.  Two other modes are also
  implemented.   If  the first character of optstring is '+' or the envi?
  ronment variable POSIXLY_CORRECT is set, then option  processing  stops
  as soon as a nonoption argument is encountered.  If the first character
  of optstring is '-', then each nonoption argv-element is handled as  if
  it were the argument of an option with character code 1.  (This is used
  by programs that were written to expect options and other argv-elements
  in any order and that care about the ordering of the two.)  The special
  argument "--" forces an end of option-scanning regardless of the  scan?
  ning mode.""

prepend optstring with '+' to use POSIXLY_CORRECT mode

Signed-off-by: Peter Meerwald <pmeerw at pmeerw.net>
---
 src/utils/pactl.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/utils/pactl.c b/src/utils/pactl.c
index 8483464..555cb48 100644
--- a/src/utils/pactl.c
+++ b/src/utils/pactl.c
@@ -1596,7 +1596,7 @@ int main(int argc, char *argv[]) {
 
     proplist = pa_proplist_new();
 
-    while ((c = getopt_long(argc, argv, "s:n:h", long_options, NULL)) != -1) {
+    while ((c = getopt_long(argc, argv, "+s:n:h", long_options, NULL)) != -1) {
         switch (c) {
             case 'h' :
                 help(bn);
-- 
1.7.9.5



[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux