@@ -16,10 +16,7 @@ int main(int argc, char *argv[]) {
1616 program.add_argument (" --config" )
1717 .help (" Path to ssh config file" )
1818 .default_value (std::string{});
19- program.add_argument (" --exec" )
20- .help (" Execute ssh after selection" )
21- .default_value (false )
22- .implicit_value (true );
19+
2320 program.add_argument (" --no-print" )
2421 .help (" Do not print the command to stdout" )
2522 .default_value (false )
@@ -56,7 +53,6 @@ int main(int argc, char *argv[]) {
5653 st.items = std::move (items);
5754 st.selected = 0 ;
5855 st.quit = false ;
59- st.do_exec = program.get <bool >(" --exec" );
6056 st.no_print = program.get <bool >(" --no-print" );
6157 st.pending_cmd .reset ();
6258
@@ -70,24 +66,22 @@ int main(int argc, char *argv[]) {
7066 if (!st.no_print ) {
7167 std::cout << *st.pending_cmd << std::endl;
7268 }
73- if (st.do_exec ) {
74- std::string dest = scc_app::BuildDest (st.connections [st.selected ]);
75- std::vector<std::string> args_str = {" ssh" , dest};
76- std::vector<char *> args;
77- args.reserve (args_str.size () + 1 );
78- for (auto &s : args_str) {
79- args.push_back (s.data ());
80- }
81- args.push_back (nullptr );
82- const char *ssh_path = " /usr/bin/ssh" ;
83- if (::access (ssh_path, X_OK) == 0 ) {
84- ::execv (ssh_path, args.data());
85- } else {
86- ::execvp (" ssh" , args.data());
87- }
88- std::perror (" exec ssh failed" );
89- return 127 ;
69+ std::string dest = scc_app::BuildDest (st.connections [st.selected ]);
70+ std::vector<std::string> args_str = {" ssh" , dest};
71+ std::vector<char *> args;
72+ args.reserve (args_str.size () + 1 );
73+ for (auto &s : args_str) {
74+ args.push_back (s.data ());
75+ }
76+ args.push_back (nullptr );
77+ const char *ssh_path = " /usr/bin/ssh" ;
78+ if (::access (ssh_path, X_OK) == 0 ) {
79+ ::execv (ssh_path, args.data());
80+ } else {
81+ ::execvp (" ssh" , args.data());
9082 }
83+ std::perror (" exec ssh failed" );
84+ return 127 ;
9185 }
9286
9387 return 0 ;
0 commit comments