Commits

Anonymous committed ffbe8ef

[svn] Make oper_up() take +i/-i during opering up into account
(e.g. no_oper_invis extension, +i in operator::umodes).
Remove the hack from no_oper_invis.

Comments (0)

Files changed (4)

+jilles      2007/02/24 18:35:58 UTC	(20070224-3215)
+  Log:
+  no_oper_invis: decrement invisible count when clearing
+  invisible on a local client who has just opered up
+  oper_up() should really do this
+  
+
+  Changes:	Modified:
+  +2 -0		trunk/extensions/no_oper_invis.c (File Modified) 
+
+
 jilles      2007/02/21 19:52:51 UTC	(20070221-3213)
   Log:
   Put "End of Channel Quiet List" instead of

extensions/no_oper_invis.c

  * hidden_oper privilege).
  * -- jilles
  *
- * $Id: no_oper_invis.c 3215 2007-02-24 18:35:58Z jilles $
+ * $Id: no_oper_invis.c 3219 2007-02-24 19:34:28Z jilles $
  */
 
 #include "stdinc.h"
 	{ NULL, NULL }
 };
 
-DECLARE_MODULE_AV1(no_oper_invis, NULL, NULL, NULL, NULL, noi_hfnlist, "$Revision: 3215 $");
+DECLARE_MODULE_AV1(no_oper_invis, NULL, NULL, NULL, NULL, noi_hfnlist, "$Revision: 3219 $");
 
 static void
 h_noi_umode_changed(hook_data_umode_changed *hdata)
 		 * if they opered up while invisible -- jilles */
 		if (hdata->oldumodes & UMODE_OPER)
 			sendto_one_notice(source_p, ":*** Opers may not set themselves invisible");
-		else /* XXX oper_up() should really do this */
-			Count.invisi--;
 	}
 }
-#define SERNO "20070221-3213"
+#define SERNO "20070224-3215"
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_user.c 3203 2007-02-04 15:08:04Z jilles $
+ *  $Id: s_user.c 3219 2007-02-24 19:34:28Z jilles $
  */
 
 #include "stdinc.h"
 	sendto_realops_snomask(SNO_GENERAL, L_ALL,
 			     "%s (%s@%s) is now an operator", source_p->name,
 			     source_p->username, source_p->host);
+	if(!(old & UMODE_INVISIBLE) && IsInvisible(source_p))
+		++Count.invisi;
+	if((old & UMODE_INVISIBLE) && !IsInvisible(source_p))
+		--Count.invisi;
 	send_umode_out(source_p, source_p, old);
 	sendto_one(source_p, form_str(RPL_SNOMASK), me.name, source_p->name,
 		   construct_snobuf(source_p->snomask));
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.