Просмотр исходного кода

* Added macro have_cmd() to check if a cmd is available on the bot (hub/leaf)

svn: 1945
Bryan Drewery 21 лет назад
Родитель
Сommit
b9fc771453
4 измененных файлов с 6 добавлено и 6 удалено
  1. 1 2
      src/cmds.c
  2. 1 1
      src/dcc.c
  3. 3 2
      src/eggdrop.h
  4. 1 1
      src/tclhash.c

+ 1 - 2
src/cmds.c

@@ -710,8 +710,7 @@ int
 findhelp(const char *cmd)
 {
   for (int hi = 0; (help[hi].cmd) && (help[hi].desc); hi++)
-    if (!egg_strcasecmp(cmd, help[hi].cmd) &&
-      (!help[hi].type || (help[hi].type == HUB && conf.bot->hub) || (help[hi].type == LEAF && !conf.bot->hub)))
+    if (!egg_strcasecmp(cmd, help[hi].cmd) && have_cmd(help[hi].type))
       return hi;
 
   return -1;

+ 1 - 1
src/dcc.c

@@ -422,7 +422,7 @@ dcc_bot(int idx, char *code, int i)
 
     if (!y) {
       /* Found a match */
-      if (!C_bot[i].type || (C_bot[i].type == HUB && conf.bot->hub) || (C_bot[i].type == LEAF && !conf.bot->hub))
+      if (have_cmd(C_bot[i].type))
         (C_bot[i].func) (idx, msg);
       break;
     } else if (y < 0)

+ 3 - 2
src/eggdrop.h

@@ -129,7 +129,8 @@ enum {		/* TAKE A GUESS */
 #define FLOOD_GLOBAL_MAX 3
 
 
-#define HUB  1
-#define LEAF 2
+#define HUB  BIT0
+#define LEAF BIT1
+#define have_cmd(flags) (!(flags & (HUB|LEAF)) || (flags & HUB && conf.bot->hub) || (flags & LEAF && !conf.bot->hub))
 
 #endif				/* _EGG_EGGDROP_H */

+ 1 - 1
src/tclhash.c

@@ -450,7 +450,7 @@ void add_builtins(const char *table_name, cmd_t *cmds)
 	bind_table_t *table = bind_table_lookup_or_fake(table_name);
 
 	for (; cmds->name; cmds++) {
-          if (!cmds->type || (cmds->type == HUB && conf.bot->hub) || (cmds->type == LEAF && !conf.bot->hub)) {
+          if (have_cmd(cmds->type)) {
                 /* add BT_dcc cmds to cmdlist[] :: add to the help system.. */
                 if (!strcmp(table->name, "dcc") && (findhelp(cmds->name) != -1)) {
                   cmdlist[cmdi].name = cmds->name;