Преглед изворни кода

* Cleanup fish-key to be consistent with other Chanchars

Bryan Drewery пре 14 година
родитељ
комит
1fbdb97c6a
3 измењених фајлова са 11 додато и 11 уклоњено
  1. 1 1
      src/chan.h
  2. 9 8
      src/mod/channels.mod/chanmisc.c
  3. 1 2
      src/mod/channels.mod/cmdschan.c

+ 1 - 1
src/chan.h

@@ -185,7 +185,6 @@ struct chanset_t {
   interval_t auto_delay;
   int knock_flags;
   int protect_backup;
-  char fish_key[50];
 /* Chanint template 
  *int temp;
  */
@@ -215,6 +214,7 @@ struct chanset_t {
   char mns[21];			/* negative mode changes		*/
   char key_prot[121];		/* desired password			*/
   bd::Array<bd::String> *groups;/* groups that should join */
+  char fish_key[50];
 /* Chanchar template
  *char temp[121];
  */

+ 9 - 8
src/mod/channels.mod/chanmisc.c

@@ -387,6 +387,15 @@ int channel_modify(char *result, struct chanset_t *chan, int items, char **item,
       }
       chan->limitraise = atoi(item[i]);
       chan->limit_prot = 0;
+    } else if (!strcmp(item[i], "fish-key")) {
+      i++;
+      if (i >= items) {
+        if (result)
+          strlcpy(result, "channel fish-key needs argument", RESULT_LEN);
+        return ERROR;
+      }
+      set_fish_key(chan->dname, item[i]);
+      strlcpy(chan->fish_key, item[i], sizeof(chan->fish_key));
 /*
     } else if (!strcmp(item[i], "revenge-mode")) {
       i++;
@@ -565,14 +574,6 @@ int channel_modify(char *result, struct chanset_t *chan, int items, char **item,
         return ERROR;
       }
       chan->protect_backup = atoi(item[i]);
-    } else if (!strcmp(item[i], "fish-key")) {
-      i++;
-      if (i >= items) {
-        set_fish_key(chan->dname, "");
-        return ERROR;
-      }
-      set_fish_key(chan->dname, item[i]);
-      strlcpy(chan->fish_key, item[i], sizeof(chan->fish_key));
     }
 
 /* Chanint template

+ 1 - 2
src/mod/channels.mod/cmdschan.c

@@ -1185,6 +1185,7 @@ static void cmd_chaninfo(int idx, char *par)
     get_mode_protect(chan, work, sizeof(work));
     dprintf(idx, "Protect modes (chanmode): %s\n", work[0] ? work : "None");
     dprintf(idx, "Groups: %s\n", chan->groups && chan->groups->length() ? static_cast<bd::String>(chan->groups->join(" ")).c_str() : "None");
+    dprintf(idx, "FiSH Key: %s\n", chan->fish_key[0] ? chan->fish_key : "not set");
 //    dprintf(idx, "Protect topic (topic)   : %s\n", chan->topic[0] ? chan->topic : "");
 /* Chanchar template
  *  dprintf(idx, "String temp: %s\n", chan->temp[0] ? chan->temp : "NULL");
@@ -1256,8 +1257,6 @@ static void cmd_chaninfo(int idx, char *par)
     SHOW_INT("Protect-backup: ", chan->protect_backup, "Do!", "Don't!");
     SHOW_INT("Voice-non-ident: ", chan->voice_non_ident, "Do!", "Don't!");
 
-    dprintf(idx, "FiSH Key: %s\n", FishKeys.contains(chan->dname) && FishKeys[chan->dname]->sharedKey.length() ? FishKeys[chan->dname]->sharedKey.c_str() : "not set");
-
     dprintf(idx, "Flood settings:   chan ctcp join kick deop nick mjoin\n");
     dprintf(idx, "  number:          %3d  %3d  %3d  %3d  %3d  %3d  %3d\n",
 	    chan->flood_pub_thr, chan->flood_ctcp_thr,