digitalmars.D.bugs - [Issue 5610] New: std.getopt.getopt Access Violation
- d-bugmail puremagic.com (27/27) Feb 18 2011 http://d.puremagic.com/issues/show_bug.cgi?id=5610
- d-bugmail puremagic.com (30/30) May 24 2011 http://d.puremagic.com/issues/show_bug.cgi?id=5610
http://d.puremagic.com/issues/show_bug.cgi?id=5610
Summary: std.getopt.getopt Access Violation
Product: D
Version: D2
Platform: Other
OS/Version: Windows
Status: NEW
Severity: normal
Priority: P2
Component: Phobos
AssignedTo: nobody puremagic.com
ReportedBy: golovanov_alexey mail.ru
---
Created an attachment (id=917)
smallest testcase
program using std.getopt and started with non-english option (especially
prepended by '-') crushes with error: object.Error: Access Violation.
Environment:
Windows XP SP3
DMD 2.052
Command line:
getopt_test.exe -файл
Output:
object.Error: Access Violation
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 18 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5610
Andrej Mitrovic <andrej.mitrovich gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |andrej.mitrovich gmail.com
Resolution| |INVALID
19:24:35 PDT ---
I'm testing this on v2.053. I suggest you upgrade to this version, it will give
you nice stacktraces and a more useful error message.
getopt only accepts a single argument with a single dash. You could pass a
single unicode character if you want to e.g.:
getopt_test.exe -ф
And you'll get:
getopt.d(411): Unrecognized option -ф
which just means you have to write the code to handle such a case, but it
works.
Your multi-argument call will work if you prepend two dashes:
import std.getopt;
void main(string[] args)
{
bool test;
getopt(args, "файл", &test);
assert(test);
}
getopt_test.exe --файл
So I'm closing this down, unless you find the bug persists.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 24 2011








d-bugmail puremagic.com