1616#define TRAPIT_PORT 26842
1717#endif
1818
19+ #ifndef TRAPIT_VERSION
20+ #define TRAPIT_VERSION " unstable"
21+ #endif
22+
23+ const std::string version (TRAPIT_VERSION);
24+
1925int cmd_usage (const char *prog) noexcept ;
26+ int cmd_version (const char *prog) noexcept ;
2027int cmd_trap (const char *prog, int argc, char **argv) noexcept ;
2128int cmd_wake (const char *prog, int argc, char **argv) noexcept ;
2229
@@ -56,6 +63,8 @@ int main(int argc, char **argv) {
5663 } else if (strcmp (argv[1 ], " help" ) == 0 ) {
5764 cmd_usage (argv[0 ]);
5865 return 0 ;
66+ } else if (strcmp (argv[1 ], " version" ) == 0 ) {
67+ return cmd_version (argv[0 ]);
5968 } else {
6069 return cmd_usage (argv[0 ]);
6170 }
@@ -65,12 +74,17 @@ int main(int argc, char **argv) {
6574int cmd_usage (const char *prog) noexcept {
6675 const char *hl = " Usage: " ;
6776 const char *pr = " " ;
68- std::cerr << hl << prog << " [exec|wake|help]" << std::endl;
77+ std::cerr << hl << prog << " [exec|wake|version| help]" << std::endl;
6978 std::cerr << pr << prog << " exec -- [argument ...]" << std::endl;
7079 std::cerr << pr << prog << " wake" << std::endl;
7180 return 2 ;
7281}
7382
83+ int cmd_version (const char *prog) noexcept {
84+ std::cout << version << std::endl;
85+ return 0 ;
86+ }
87+
7488int cmd_trap (const char *prog, int argc, char **argv) noexcept {
7589 /*
7690 * Layout: [ARG 0] [ARG 0] [ARG 1] ... [NULL]
0 commit comments