From 7c265e8bda5f5f6ea6921ccc82ec09859c0695eb Mon Sep 17 00:00:00 2001 From: "Thomas \"Cakeisalie5\" Touhey" Date: Tue, 4 Apr 2017 11:01:34 +0200 Subject: [PATCH] Corrected p7servtest with new library interface. --- src/p7/dump.c | 4 ++-- src/p7servtest/client.c | 23 +++++++++++++++++------ src/p7servtest/main.h | 5 +++-- src/p7servtest/server.c | 32 ++++++++++++++++++++++++-------- 4 files changed, 46 insertions(+), 18 deletions(-) diff --git a/src/p7/dump.c b/src/p7/dump.c index 931c399..4c448ba 100644 --- a/src/p7/dump.c +++ b/src/p7/dump.c @@ -37,9 +37,9 @@ int dump(p7_handle_t *handle) /* Wiped out things */ if (info->preprog_rom_wiped) - log("Warning: Preprogrammed ROM information looks wiped out !\n"); + log("Warning: Preprogrammed ROM information looks wiped out!\n"); if (info->bootcode_wiped) - log("Warning: Bootcode information looks wiped out !\n"); + log("Warning: Bootcode information looks wiped out!\n"); if (info->os_wiped) log("Warning: OS information looks wiped out!\n"); if (!info->username[0]) diff --git a/src/p7servtest/client.c b/src/p7servtest/client.c index 3d6bacd..3fc577b 100644 --- a/src/p7servtest/client.c +++ b/src/p7servtest/client.c @@ -21,15 +21,25 @@ #include #include -void run_client(int in, int out) +int run_client(int in, int out) { + /* make the stream */ + p7_stream_t stream; + int err = p7_sopen_streams(&stream, NULL, in, out); + if (err) { + fprintf(stderr, "Client stream initialization has encountered " + "an error: %s\n", p7_strerror(err)); + return (1); + } + /* make the handle */ - p7_handle_t *handle = NULL; int err; - if ((err = p7_fdinit(&handle, P7_ACTIVE | P7_CHECK | P7_TERM, "client", - in, out, &p7_default_settings))) { - fprintf(stderr, "Client initialization encountered an error: %s\n", + p7_handle_t *handle = NULL; + err = p7_sinit(&handle, p7_flag_active | p7_flag_check | p7_flag_term, + "client", &stream, NULL); + if (err) { + fprintf(stderr, "Client initialization has encountered an error: %s\n", p7_strerror(err)); - return ; + return (1); } /* change working directory. */ @@ -38,4 +48,5 @@ void run_client(int in, int out) /* we're done. */ p7_exit(handle); + return (0); } diff --git a/src/p7servtest/main.h b/src/p7servtest/main.h index b772db1..b88618c 100644 --- a/src/p7servtest/main.h +++ b/src/p7servtest/main.h @@ -19,10 +19,11 @@ #ifndef MAIN_H # define MAIN_H # include +# include int parse_args(int ac, char **av); -void run_server(int in, int out); -void run_client(int in, int out); +int run_server(int in, int out); +int run_client(int in, int out); #endif /* MAIN_H */ diff --git a/src/p7servtest/server.c b/src/p7servtest/server.c index c583cfe..fa074dc 100644 --- a/src/p7servtest/server.c +++ b/src/p7servtest/server.c @@ -28,12 +28,16 @@ * directory_exists: * Check if a directory exists. * + * @arg cookie the cookie. * @arg dirname the directory. * @arg devname the devname. + * @return the error (0 if ok). */ -static int directory_exists(const char *dirname) +static int directory_exists(void *cookie, const char *dirname) { + (void)cookie; + /* check directory name */ if (!strcmp(dirname, "oui")) return (0); @@ -90,16 +94,28 @@ static p7_filesystem_t server_filesystems[] = { * @arg out the output. */ -void run_server(int in, int out) +int run_server(int in, int out) { - p7_handle_t *handle = NULL; int err; - if ((err = p7_fdinit(&handle, 0, "server", in, out, - &p7_default_settings))) { - fprintf(stderr, "Server encountered an error while initializing: %s\n", - p7_strerror(err)); - return ; + /* make the stream */ + p7_stream_t stream; + int err = p7_sopen_streams(&stream, NULL, in, out); + if (err) { + fprintf(stderr, "Server stream initialization has encountered " + "an error: %s\n", p7_strerror(err)); + return (1); } + /* make the handle */ + p7_handle_t *handle = NULL; + err = p7_sinit(&handle, 0, "server", &stream, NULL); + if (err) { + fprintf(stderr, "Server initialization has encountered an error: %s\n", + p7_strerror(err)); + return (1); + } + + /* protect and serve */ p7_serve(handle, &server_information, server_filesystems); p7_exit(handle); + return (0); }