write: Make get_btr_value() return void.
[paraslash.git] / command.c
index bbe0441bfef43c339c499cb197cffd64b0fec5eb..bcbbc3406def48eba64adeb31eecd81997f634b2 100644 (file)
--- a/command.c
+++ b/command.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1997-2009 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1997-2010 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -23,9 +23,9 @@
 #include "afh.h"
 #include "afs.h"
 #include "server.h"
-#include "vss.h"
 #include "list.h"
 #include "send.h"
+#include "vss.h"
 #include "rc4.h"
 #include "net.h"
 #include "daemon.h"
@@ -191,10 +191,10 @@ static int check_sender_args(int argc, char * const * argv, struct sender_comman
 int com_sender(struct rc4_context *rc4c, int argc, char * const * argv)
 {
        int i, ret;
+       char *msg = NULL;
        struct sender_command_data scd;
 
        if (argc < 2) {
-               char *msg = NULL;
                for (i = 0; senders[i].name; i++) {
                        char *tmp = make_message("%s%s\n",
                                msg? msg : "", senders[i].name);
@@ -207,7 +207,6 @@ int com_sender(struct rc4_context *rc4c, int argc, char * const * argv)
        }
        ret = check_sender_args(argc, argv, &scd);
        if (ret < 0) {
-               char *msg;
                if (scd.sender_num < 0)
                        return ret;
                msg = senders[scd.sender_num].help();
@@ -215,6 +214,16 @@ int com_sender(struct rc4_context *rc4c, int argc, char * const * argv)
                free(msg);
                return ret;
        }
+
+       switch (scd.cmd_num) {
+       case SENDER_ADD:
+       case SENDER_DELETE:
+               assert(senders[scd.sender_num].resolve_target);
+               ret = senders[scd.sender_num].resolve_target(argv[3], &scd);
+               if (ret < 0)
+                       return ret;
+       }
+
        for (i = 0; i < 10; i++) {
                mutex_lock(mmd_mutex);
                if (mmd->sender_cmd_data.cmd_num >= 0) {