annotate main.cpp @ 1:08df60a01bc1

debug flag, handle input with signal
author John W. Eaton <jwe@octave.org>
date Mon, 20 May 2019 13:45:58 -0400
parents dff751fb985c
children 822a2fe5bb51
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
1 #include <string>
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
2
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
3 #include <readline/history.h>
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
4
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
5 #include "gui-main.h"
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
6 #include "tty-main.h"
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
7
1
08df60a01bc1 debug flag, handle input with signal
John W. Eaton <jwe@octave.org>
parents: 0
diff changeset
8 namespace calc
08df60a01bc1 debug flag, handle input with signal
John W. Eaton <jwe@octave.org>
parents: 0
diff changeset
9 {
08df60a01bc1 debug flag, handle input with signal
John W. Eaton <jwe@octave.org>
parents: 0
diff changeset
10 bool tty_mode = false;
08df60a01bc1 debug flag, handle input with signal
John W. Eaton <jwe@octave.org>
parents: 0
diff changeset
11 bool debug_mode = false;
08df60a01bc1 debug flag, handle input with signal
John W. Eaton <jwe@octave.org>
parents: 0
diff changeset
12 }
0
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
13
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
14 int
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
15 main (int argc, char **argv)
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
16 {
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
17 int new_argc = 0;
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
18
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
19 char **new_argv = new char* [argc + 1];
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
20
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
21 new_argv[new_argc++] = argv[0];
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
22
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
23 for (int i = 1; i < argc; i++)
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
24 {
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
25 if (argv[i] == std::string ("--tty"))
1
08df60a01bc1 debug flag, handle input with signal
John W. Eaton <jwe@octave.org>
parents: 0
diff changeset
26 calc::tty_mode = true;
08df60a01bc1 debug flag, handle input with signal
John W. Eaton <jwe@octave.org>
parents: 0
diff changeset
27 else
08df60a01bc1 debug flag, handle input with signal
John W. Eaton <jwe@octave.org>
parents: 0
diff changeset
28 new_argv[new_argc++] = argv[i];
08df60a01bc1 debug flag, handle input with signal
John W. Eaton <jwe@octave.org>
parents: 0
diff changeset
29
08df60a01bc1 debug flag, handle input with signal
John W. Eaton <jwe@octave.org>
parents: 0
diff changeset
30 if (argv[i] == std::string ("--debug"))
08df60a01bc1 debug flag, handle input with signal
John W. Eaton <jwe@octave.org>
parents: 0
diff changeset
31 calc::debug_mode = true;
0
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
32 else
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
33 new_argv[new_argc++] = argv[i];
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
34 }
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
35
1
08df60a01bc1 debug flag, handle input with signal
John W. Eaton <jwe@octave.org>
parents: 0
diff changeset
36 int status = calc::tty_mode
0
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
37 ? tty::main (new_argc, new_argv)
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
38 : gui::main (new_argc, new_argv);
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
39
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
40 delete [] new_argv;
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
41
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
42 return status;
dff751fb985c initial revision
John W. Eaton <jwe@octave.org>
parents:
diff changeset
43 }