Introduce template commands for command_util.sh.
[paraslash.git] / command.c
index ecadfc401e206f4697f3350bdd784eef59c15272..0434a80f3826cfacc8cacb028062b6ac80749499 100644 (file)
--- a/command.c
+++ b/command.c
 #include "daemon.h"
 #include "string.h"
 #include "fd.h"
+#include "list.h"
 #include "user_list.h"
 #include "server_command_list.h"
+#include "afs_command_list.h"
 
 /** commands including options must be shorter than this */
 #define MAX_COMMAND_LEN 4096
@@ -470,6 +472,10 @@ static struct server_command *get_cmd_ptr(char *name, char **handler)
        for (; cmd->name; cmd++)
                if (!strcmp(cmd->name, name))
                        return cmd;
+       /* not found, look for commands supported by afs */
+       for (cmd = afs_cmds; cmd; cmd++)
+               if (!strcmp(cmd->name, name))
+                       return cmd;
        return NULL;
 }
 
@@ -490,7 +496,10 @@ int com_help(int fd, int argc, char **argv)
                mmd_unlock();
                ret = send_list_of_commands(fd, cmd, handler);
                free(handler);
-               return ret;
+               if (ret < 0)
+                       return ret;
+               cmd = afs_cmds;
+               ret = send_list_of_commands(fd, cmd, "afs");
        }
        /* argument given for help */
        cmd = get_cmd_ptr(argv[1], &handler);