client: Fix typo in comment.
[paraslash.git] / client_common.c
index 7bdb4738bab5feb15b4c7acb1180decb61ccfda5..f4b09cd23c2eeedf7974583f3bf2cf145c993fc5 100644 (file)
@@ -13,7 +13,6 @@
 #include "error.h"
 #include "list.h"
 #include "sched.h"
-#include "client.cmdline.h"
 #include "crypt.h"
 #include "net.h"
 #include "fd.h"
 #define CLIENT_BUFSIZE 4000
 
 /**
- * Close the connection to para_server and deallocate per-command ressources.
+ * Close the connection to para_server and deallocate per-command resources.
  *
  * \param ct The client task.
  *
- * This frees all ressources of the current command but keeps the configuration
+ * This frees all resources of the current command but keeps the configuration
  * in \p ct->conf.
  *
  * \sa \ref client_close().
@@ -326,7 +325,7 @@ static int send_sb_command(struct client_task *ct)
  *
  * \sa struct sched, struct task.
  */
-static void client_post_select(struct sched *s, struct task *t)
+static int client_post_select(struct sched *s, struct task *t)
 {
        struct client_task *ct = container_of(t, struct client_task, task);
        struct btr_node *btrn = ct->btrn;
@@ -338,7 +337,7 @@ static void client_post_select(struct sched *s, struct task *t)
        if (ret < 0)
                goto out;
        if (ct->scc.fd < 0)
-               return;
+               return 0;
        switch (ct->status) {
        case CL_CONNECTED: /* receive welcome message */
                ret = client_recv_buffer(ct, &s->rfds, buf, sizeof(buf), &n);
@@ -346,10 +345,10 @@ static void client_post_select(struct sched *s, struct task *t)
                        goto out;
                ct->features = parse_features(buf);
                ct->status = CL_RECEIVED_WELCOME;
-               return;
+               return 0;
        case CL_RECEIVED_WELCOME: /* send auth command */
                if (!FD_ISSET(ct->scc.fd, &s->wfds))
-                       return;
+                       return 0;
                if (has_feature("sideband", ct)) {
                        ct->use_sideband = true;
                        sprintf(buf, AUTH_REQUEST_MSG "%s sideband", ct->user);
@@ -360,7 +359,7 @@ static void client_post_select(struct sched *s, struct task *t)
                if (ret < 0)
                        goto out;
                ct->status = CL_SENT_AUTH;
-               return;
+               return 0;
        case CL_SENT_AUTH:
                /*
                 * Receive challenge and session keys, decrypt the challenge and
@@ -406,7 +405,7 @@ static void client_post_select(struct sched *s, struct task *t)
                hash_to_asc(ct->challenge_hash, buf);
                PARA_INFO_LOG("--> %s\n", buf);
                ct->status = CL_RECEIVED_CHALLENGE;
-               return;
+               return 0;
                }
        case CL_RECEIVED_CHALLENGE:
                if (ct->use_sideband) {
@@ -447,20 +446,20 @@ static void client_post_select(struct sched *s, struct task *t)
                if (!strstr(buf, PROCEED_MSG))
                        goto out;
                ct->status = CL_RECEIVED_PROCEED;
-               return;
+               return 0;
                }
        case CL_RECEIVED_PROCEED: /* concat args and send command */
                {
                int i;
                char *command = NULL;
                if (!FD_ISSET(ct->scc.fd, &s->wfds))
-                       return;
+                       return 0;
                if (ct->use_sideband) {
                        ret = send_sb_command(ct);
                        if (ret <= 0)
                                goto out;
                        ct->status = CL_SENT_COMMAND;
-                       return;
+                       return 0;
                }
                for (i = 0; i < ct->conf.inputs_num; i++) {
                        char *tmp = command;
@@ -475,7 +474,7 @@ static void client_post_select(struct sched *s, struct task *t)
                if (ret < 0)
                        goto out;
                ct->status = CL_SENT_COMMAND;
-               return;
+               return 0;
                }
        case CL_SENT_COMMAND:
                {
@@ -501,7 +500,7 @@ static void client_post_select(struct sched *s, struct task *t)
                        if (strstr(buf2, AWAITING_DATA_MSG)) {
                                free(buf2);
                                ct->status = CL_SENDING;
-                               return;
+                               return 0;
                        }
                        ct->status = CL_RECEIVING;
                        btr_add_output(buf2, n, btrn);
@@ -517,15 +516,15 @@ static void client_post_select(struct sched *s, struct task *t)
                if (ret < 0)
                        goto out;
                if (ret == 0)
-                       return;
+                       return 0;
                if (!FD_ISSET(ct->scc.fd, &s->wfds))
-                       return;
+                       return 0;
                sz = btr_next_buffer(btrn, &buf2);
                ret = sc_send_bin_buffer(&ct->scc, buf2, sz);
                if (ret < 0)
                        goto out;
                btr_consume(btrn, sz);
-               return;
+               return 0;
                }
        case CL_RECEIVING:
                {
@@ -534,13 +533,13 @@ static void client_post_select(struct sched *s, struct task *t)
                if (ret < 0)
                        goto out;
                if (ret == 0)
-                       return;
+                       return 0;
                /*
                 * The FD_ISSET() is not strictly necessary, but is allows us
                 * to skip the malloc below if there is nothing to read anyway.
                 */
                if (!FD_ISSET(ct->scc.fd, &s->rfds))
-                       return;
+                       return 0;
                if (ct->use_sideband) {
                        struct sb_buffer sbb;
                        ret = recv_sb(ct, &s->rfds, &sbb);
@@ -559,13 +558,13 @@ static void client_post_select(struct sched *s, struct task *t)
                }
        }
 out:
-       t->error = ret;
        if (ret < 0) {
                if (!ct->use_sideband && ret != -E_SERVER_EOF &&
                                ret != -E_BTR_EOF && ret != -E_EOF)
-                       PARA_ERROR_LOG("%s\n", para_strerror(-t->error));
+                       PARA_ERROR_LOG("%s\n", para_strerror(-ret));
                btr_remove_node(&ct->btrn);
        }
+       return ret;
 }
 
 /**