summaryrefslogtreecommitdiff
path: root/subprojects/packagefiles/janus/wparse.diff
blob: f3034df37b6585661e97623184884240b36afe10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
diff --git a/src/janus.cpp b/src/janus.cpp
index d1ee260..a303b30 100644
--- a/src/janus.cpp
+++ b/src/janus.cpp
@@ -534,6 +536,15 @@ void ArgParser::parse(int argc, char **argv) {
     parse(stream);
 }
 
+void ArgParser::wparse(int argc, wchar_t **argv) {
+    ArgStream stream;
+    for (int i = 1; i < argc; i++) {
+        wstring ws(argv[i]);
+        stream.append(string(ws.begin(), ws.end()));
+    }
+    parse(stream);
+}
+
 
 // -----------------------------------------------------------------------------
 // ArgParser: utilities.
diff --git a/src/janus.h b/src/janus.h
index 37bd956..a049b72 100644
--- a/src/janus.h
+++ b/src/janus.h
@@ -46,6 +46,7 @@ namespace janus {
 
             // Parse command line arguments.
             void parse(int argc, char **argv);
+            void wparse(int argc, wchar_t **argv);
 
             // Returns true if the named option was found while parsing.
             bool found(std::string const& name);