projects
/
pulseview.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
3e61775
)
Fix #1040 by allowing multiple files to be loaded from command line
author
Soeren Apel
<soeren@apelpie.net>
Tue, 5 Jun 2018 16:49:12 +0000
(18:49 +0200)
committer
Uwe Hermann
<uwe@hermann-uwe.de>
Tue, 5 Jun 2018 23:10:32 +0000
(
01:10
+0200)
main.cpp
patch
|
blob
|
history
diff --git
a/main.cpp
b/main.cpp
index cebeca378c69eaf1001229ff7340ae33d4c4e86b..cdc750aa80aade18b21916708463189c78a41f9a 100644
(file)
--- a/
main.cpp
+++ b/
main.cpp
@@
-24,6
+24,7
@@
#include <cstdint>
#include <fstream>
#include <getopt.h>
#include <cstdint>
#include <fstream>
#include <getopt.h>
+#include <vector>
#include <libsigrokcxx/libsigrokcxx.hpp>
#include <libsigrokcxx/libsigrokcxx.hpp>
@@
-162,7
+163,8
@@
int main(int argc, char *argv[])
{
int ret = 0;
shared_ptr<sigrok::Context> context;
{
int ret = 0;
shared_ptr<sigrok::Context> context;
- string open_file, open_file_format, driver;
+ string open_file_format, driver;
+ vector<string> open_files;
bool restore_sessions = true;
bool do_scan = true;
bool do_logging = true;
bool restore_sessions = true;
bool do_scan = true;
bool do_logging = true;
@@
-236,7
+238,7
@@
int main(int argc, char *argv[])
break;
case 'i':
break;
case 'i':
- open_file
= optarg
;
+ open_file
s.push_back(optarg)
;
break;
case 'I':
break;
case 'I':
@@
-253,14
+255,11
@@
int main(int argc, char *argv[])
}
}
}
}
-
if (argc - optind > 1
) {
-
fprintf(stderr, "Only one file can be opened.\n"
);
-
return 1
;
+
while (argc - optind > 0
) {
+
open_files.push_back(argv[optind]
);
+
optind++
;
}
}
- if (argc - optind == 1)
- open_file = argv[argc - 1];
-
// Prepare the global settings since logging needs them early on
pv::GlobalSettings settings;
settings.set_defaults_where_needed();
// Prepare the global settings since logging needs them early on
pv::GlobalSettings settings;
settings.set_defaults_where_needed();
@@
-315,10
+314,11
@@
int main(int argc, char *argv[])
if (restore_sessions)
w.restore_sessions();
if (restore_sessions)
w.restore_sessions();
- if (!open_file.empty())
- w.add_session_with_file(open_file, open_file_format);
- else
+ if (open_files.empty())
w.add_default_session();
w.add_default_session();
+ else
+ for (string open_file : open_files)
+ w.add_session_with_file(open_file, open_file_format);
#ifdef ENABLE_SIGNALS
if (SignalHandler::prepare_signals()) {
#ifdef ENABLE_SIGNALS
if (SignalHandler::prepare_signals()) {