]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - client.c
client: Don't print the same error message twice.
[paraslash.git] / client.c
index 4998222ea7c89df98ad55879a08f9dea1b5f6c6b..f89025729ed0dda37158601b8f265acb74db6a15 100644 (file)
--- a/client.c
+++ b/client.c
@@ -114,11 +114,11 @@ static int execute_client_command(const char *cmd, char **result)
                goto out;
        schedule(&command_sched);
        *result = exec_task.result_buf;
-       btr_remove_node(exec_task.btrn);
+       btr_remove_node(&exec_task.btrn);
        client_disconnect(ct);
        ret = 1;
 out:
-       btr_free_node(exec_task.btrn);
+       btr_remove_node(&exec_task.btrn);
        if (ret < 0)
                free(exec_task.result_buf);
        return ret;
@@ -307,7 +307,7 @@ static void setatt_completer(struct i9e_completion_info *ci,
                free(orig);
        }
        sl[2 * num_atts] = NULL;
-       ret = i9e_extract_completions(ci->word, sl, &cr->matches);
+       i9e_extract_completions(ci->word, sl, &cr->matches);
 out:
        free(buf);
        free_argv(sl);
@@ -606,19 +606,20 @@ int main(int argc, char *argv[])
        if (ret >= 0 && ct->task.error < 0) {
                switch(ct->task.error) {
                /* these are not errors */
+               case -E_SERVER_CMD_SUCCESS:
                case -E_EOF:
                case -E_SERVER_EOF:
                case -E_BTR_EOF:
                        ret = 0;
                        break;
-               default: ret = ct->task.error;
+               default: ret = -E_SERVER_CMD_FAILURE;
                }
        }
 out:
        if (ret < 0)
                PARA_ERROR_LOG("%s\n", para_strerror(-ret));
        client_close(ct);
-       btr_free_node(sit.btrn);
-       btr_free_node(sot.btrn);
+       btr_remove_node(&sit.btrn);
+       btr_remove_node(&sot.btrn);
        return ret < 0? EXIT_FAILURE : EXIT_SUCCESS;
 }