From 5e002635fcfda365a0f7c0e84cd534c44abaa6a9 Mon Sep 17 00:00:00 2001 From: Aris Adamantiadis Date: Tue, 3 Nov 2009 21:04:36 +0100 Subject: [PATCH] Fix compilation on freebsd 6.0 which lacks argp.h --- ConfigureChecks.cmake | 1 + examples/samplesshd.c | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 8ca82585..c2bed2ec 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -21,6 +21,7 @@ check_c_compiler_flag("-fvisibility=hidden" WITH_VISIBILITY_HIDDEN) endif(CMAKE_COMPILER_IS_GNUC) # HEADER FILES +check_include_file(argp.h HAVE_ARGP_H) check_include_file(pty.h HAVE_PTY_H) check_include_file(terminos.h HAVE_TERMIOS_H) if (WIN32) diff --git a/examples/samplesshd.c b/examples/samplesshd.c index 142e8805..f2013b76 100644 --- a/examples/samplesshd.c +++ b/examples/samplesshd.c @@ -14,7 +14,10 @@ clients must be made or how a client should react. #include #include + +#ifdef HAVE_ARGP_H #include +#endif #include #include #include @@ -34,7 +37,7 @@ static int auth_password(char *user, char *password){ return 0; return 1; // authenticated } - +#ifdef HAVE_ARGP_H const char *argp_program_version = "libssh server example " SSH_STRINGIFY(LIBSSH_VERSION); const char *argp_program_bug_address = ""; @@ -135,6 +138,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state) { /* Our argp parser. */ static struct argp argp = {options, parse_opt, args_doc, doc, NULL, NULL, NULL}; +#endif /* HAVE_ARGP_H */ int main(int argc, char **argv){ ssh_session session; @@ -153,12 +157,13 @@ int main(int argc, char **argv){ ssh_bind_options_set(sshbind, SSH_BIND_OPTIONS_DSAKEY, KEYS_FOLDER "ssh_host_dsa_key"); ssh_bind_options_set(sshbind, SSH_BIND_OPTIONS_RSAKEY, KEYS_FOLDER "ssh_host_rsa_key"); +#ifdef HAVE_ARGP_H /* * Parse our arguments; every option seen by parse_opt will * be reflected in arguments. */ argp_parse (&argp, argc, argv, 0, 0, sshbind); - +#endif if(ssh_bind_listen(sshbind)<0){ printf("Error listening to socket: %s\n",ssh_get_error(sshbind)); return 1;