From 9a59cee745755cb8c2e85f0f3067158a1f612747 Mon Sep 17 00:00:00 2001 From: Tim Schubert Date: Mon, 29 Oct 2018 10:38:32 +0100 Subject: [PATCH 1/5] Add documentation for bstr --- netcalc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/netcalc.c b/netcalc.c index e2b0103..94b23d2 100644 --- a/netcalc.c +++ b/netcalc.c @@ -155,6 +155,9 @@ void report_error(char *buf, unsigned long buflen, char *msg) { sprintf(buf, "%s\n", msg); } +/// Converts an integer into a string representation of its binary encoding +/// @param n an integer +/// @param out stores the resulting string void bstr(unsigned int n, char **out) { // voodoo int msb = 32 - __builtin_clz(n); From bb66ef1a030b7e2e2891f64296c6e0f8fa0fe950 Mon Sep 17 00:00:00 2001 From: Tim Schubert Date: Mon, 29 Oct 2018 10:44:02 +0100 Subject: [PATCH 2/5] Add documentation for report_error --- netcalc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/netcalc.c b/netcalc.c index 94b23d2..39da486 100644 --- a/netcalc.c +++ b/netcalc.c @@ -149,6 +149,10 @@ int parse(char *buf, size_t buflen, unsigned int *first, unsigned int *second, c return status; } +/// Prints a formatted error to stderr and a buffer +/// @param buf destination buffer +/// @param buflen length of buf +/// @param msg error message void report_error(char *buf, unsigned long buflen, char *msg) { fprintf(stderr, "%s\n", msg); memset(buf, 0, buflen); From 5b1648e471626733a32a1cb0b4217ad5dad223d6 Mon Sep 17 00:00:00 2001 From: Tim Schubert Date: Mon, 29 Oct 2018 10:46:59 +0100 Subject: [PATCH 3/5] Add documentation for server() --- netcalc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/netcalc.c b/netcalc.c index 39da486..247e87a 100644 --- a/netcalc.c +++ b/netcalc.c @@ -173,6 +173,7 @@ void bstr(unsigned int n, char **out) { } } +/// Starts a server that listens for commands and performs calculations int server() { struct sockaddr_storage c_addr; socklen_t sin_size = sizeof c_addr; From 031905ab5ee5f6b31af55cc13bb08b28708b380c Mon Sep 17 00:00:00 2001 From: Tim Schubert Date: Mon, 29 Oct 2018 10:51:44 +0100 Subject: [PATCH 4/5] Adds documentation for client and server --- netcalc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/netcalc.c b/netcalc.c index 247e87a..96b8cd4 100644 --- a/netcalc.c +++ b/netcalc.c @@ -174,6 +174,7 @@ void bstr(unsigned int n, char **out) { } /// Starts a server that listens for commands and performs calculations +/// @return 0 on success <0 on failure int server() { struct sockaddr_storage c_addr; socklen_t sin_size = sizeof c_addr; @@ -218,8 +219,11 @@ int server() { } close(c_fd); } + return 0; } +/// Connects the client to the server +/// @return 0 on success <0 on failure int connectclient(struct addrinfo *ainfo) { if (connect(SOCKFD, ainfo->ai_addr, ainfo->ai_addrlen) == -1) { perror("connect"); @@ -228,6 +232,8 @@ int connectclient(struct addrinfo *ainfo) { return 0; } +/// Starts a client +/// @return 0 on success -1 on failure int client() { char buf[BUFLEN]; size_t nullsize = 0; From 7bcacfecac9562b24d3375c2509875c8013420a3 Mon Sep 17 00:00:00 2001 From: Tim Schubert Date: Mon, 29 Oct 2018 11:00:56 +0100 Subject: [PATCH 5/5] Add documentation for parse() --- netcalc.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/netcalc.c b/netcalc.c index 96b8cd4..23ab84a 100644 --- a/netcalc.c +++ b/netcalc.c @@ -120,6 +120,13 @@ int base(char *numstr, unsigned int *num) { } } +/// Parses the client input into a command +/// @param buf source buffer +/// @param buflen length of source buffer +/// @param first first operand +/// @param second second operand +/// @param op operator (+,-,*,/) +/// @return 0 on success -1 on parser error, -2 on invalid values int parse(char *buf, size_t buflen, unsigned int *first, unsigned int *second, char *op) { char *num1str = NULL; char *num2str = NULL;