@@ -1400,11 +1400,13 @@ user_welcome(struct Client *source_p)
1400
1400
void
1401
1401
oper_up (struct Client * source_p , struct oper_conf * oper_p )
1402
1402
{
1403
- unsigned int old = source_p -> umodes , oldsnomask = source_p -> snomask , i = 0 ;
1403
+ unsigned int old = source_p -> umodes , oldsnomask = source_p -> snomask
1404
+ unsigned int i = 0 ;
1404
1405
rb_dlink_node * ptr ;
1406
+ struct membership * mscptr ;
1405
1407
struct Channel * chptr ;
1406
- unsigned char cmode1 [256 ], cmode2 [256 ];
1407
- unsigned char * cmode_ptr = cmode1 ;
1408
+ unsigned char cmodes_hidden [256 ], cmodes_send [256 ];
1409
+ unsigned char * cmode_ptr = cmodes_hidden ;
1408
1410
1409
1411
hook_data_umode_changed hdata ;
1410
1412
@@ -1484,16 +1486,17 @@ oper_up(struct Client *source_p, struct oper_conf *oper_p)
1484
1486
1485
1487
RB_DLINK_FOREACH (ptr , source_p -> user -> channel .head )
1486
1488
{
1487
- chptr = ((struct membership * )ptr -> data )-> chptr ;
1488
- cmode_ptr = cmode2 ;
1489
+ mscptr = ptr -> data ;
1490
+ chptr = mscptr -> chptr ;
1491
+ cmode_ptr = cmodes_send ;
1489
1492
1490
- for (i = 0 ; cmode1 [i ]; i ++ )
1491
- if (chptr -> mode .mode & chmode_flags [cmode1 [i ]])
1492
- * cmode_ptr ++ = cmode1 [i ];
1493
+ for (i = 0 ; cmodes_hidden [i ]; i ++ )
1494
+ if (chptr -> mode .mode & chmode_flags [cmodes_hidden [i ]])
1495
+ * cmode_ptr ++ = cmodes_hidden [i ];
1493
1496
* cmode_ptr = '\0' ;
1494
1497
1495
- if (* cmode2 )
1496
- sendto_one (source_p , ":%s MODE %s +%s" , me .name , chptr -> chname , cmode2 );
1498
+ if (cmodes_send [ 0 ] != '\0' )
1499
+ sendto_one (source_p , ":%s MODE %s +%s" , me .name , chptr -> chname , cmodes_send );
1497
1500
}
1498
1501
}
1499
1502
0 commit comments