digitalmars.D.bugs - [Issue 2142] New: getopt() doesn't process bundled comman-line options properly
- d-bugmail puremagic.com (41/41) Jun 06 2008 http://d.puremagic.com/issues/show_bug.cgi?id=2142
- d-bugmail puremagic.com (5/5) Jun 26 2008 http://d.puremagic.com/issues/show_bug.cgi?id=2142
- d-bugmail puremagic.com (10/10) Oct 11 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2142
- d-bugmail puremagic.com (11/11) Sep 26 2010 http://d.puremagic.com/issues/show_bug.cgi?id=2142
http://d.puremagic.com/issues/show_bug.cgi?id=2142
Summary: getopt() doesn't process bundled comman-line options
properly
Product: D
Version: 2.014
Platform: PC
OS/Version: Windows
Status: NEW
Severity: normal
Priority: P2
Component: Phobos
AssignedTo: bugzilla digitalmars.com
ReportedBy: kolos80 bk.ru
getopt() sees only one short option in bundled options - the one that is given
to getopt() first.
Example:
boo f_linenum, f_filename;
getopt
(
args,
std.getopt.config.bundling,
//std.getopt.config.caseSensitive,
"linenum|l", &f_linenum,
"filename|n", &f_filename
);
In `-ln' and `-nl' options only `l' will be recognized in this case.
And if we will change the order like this:
...
"filename|n", &f_filename,
"linenum|l", &f_linenum
...
`n' will be recognized, but `l' will be skipped
I think, it's from line 538 of getopt.d:
536 if (cfg.bundling && !isLong && v.length == 1
537 && std.string.find(arg, v) >= 0)
538 return true; <--- this is wrong
P.S. I cannot check my solution, because phobos doesn't compile:
Error: multiple definition of object-2: _D8object.212__ModuleInfoZ and object:
_
D8object.212__ModuleInfoZ
--
Jun 06 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2142 I found that if short option is recognized, then the whole argument containing it is removed from <args>, leaving all remaining bundled options unprocessed. --
Jun 26 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2142
Andrei Alexandrescu <andrei metalanguage.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
CC| |andrei metalanguage.com
AssignedTo|nobody puremagic.com |andrei metalanguage.com
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 11 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2142
Andrei Alexandrescu <andrei metalanguage.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
08:25:34 PDT ---
http://www.dsource.org/projects/phobos/changeset/2050
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 26 2010









d-bugmail puremagic.com 