repo: ngircd action: commit revision: path_from: revision_from: ddc3ad05842e31ee0b771b0f8a344016ea926816: path_to: revision_to:
commit ddc3ad05842e31ee0b771b0f8a344016ea926816
Author: 9pfs <9pfs@amcforum.wiki>
Date: Tue Dec 5 02:08:32 2023 -0600
Make requested changes
diff --git a/src/ngircd/irc-channel.c b/src/ngircd/irc-channel.c
--- a/src/ngircd/irc-channel.c
+++ b/src/ngircd/irc-channel.c
@@ -237,14 +237,7 @@ join_forward(CLIENT *Client, CLIENT *target, CHANNEL *chan,
}
/* tell users in this channel about the new client */
- #define IMPLEMENT_EXTENDED_JOIN
- #ifndef IMPLEMENT_EXTENDED_JOIN
- IRC_WriteStrChannelPrefix(Client, chan, target, false,
- "JOIN :%s", channame);
- #endif
- #ifdef IMPLEMENT_EXTENDED_JOIN
CLIENT *c;
- // Pointless alias
CHANNEL *Chan;
CONN_ID conn;
CL2CHAN *cl2chan;
@@ -252,41 +245,31 @@ join_forward(CLIENT *Client, CLIENT *target, CHANNEL *chan,
cl2chan = Channel_FirstMember( Chan );
while(cl2chan) {
c = Channel_GetClient( cl2chan );
- //if (!Remote) {
- if (Client_Conn(c) <= NONE)
- c = NULL;
- else if(Client_Type(c) == CLIENT_SERVER)
- c = NULL;
- //}
+ if (Client_Conn(c) <= NONE)
+ c = NULL;
+ else if(Client_Type(c) == CLIENT_SERVER)
+ c = NULL;
if(c)
c = Client_NextHop(c);
-
if(c && c != Client) {
/* Ok, another Client */
conn = Client_Conn(c);
- /*if (Client_Type(c) == CLIENT_SERVER)
- //Conn_SetFlag(conn, SEND_TO_SERVER);
- //Conn_WriteStr(conn, ":%s JOIN :%s",
- //Client_ID(Prefix), channame);
- else*/
- if(Client_Cap(c) & CLIENT_CAP_EXTENDED_JOIN) {
- char * account_name;
- if(Client_AccountName(Client)) {
- account_name = Client_AccountName(Client);
- }
- else {
- account_name = "*";
- }
- Conn_WriteStr(conn, ":%s JOIN %s %s :%s", Client_MaskCloaked(Client), channame, account_name, Client_Info(Client));
+ if(Client_Cap(c) & CLIENT_CAP_EXTENDED_JOIN) {
+ char * account_name;
+ if(Client_AccountName(Client)) {
+ account_name = Client_AccountName(Client);
}
else {
- Conn_WriteStr(conn, ":%s JOIN %s", Client_MaskCloaked(Client), channame);
+ account_name = "*";
}
- //Conn_SetFlag(conn, SEND_TO_USER);
+ IRC_WriteStrClientPrefix(Client, Client, "JOIN %s %s :%s", channame, account_name, Client_Info(Client));
+ }
+ else {
+ IRC_WriteStrClientPrefix(Client, Client, "JOIN %s", channame);
+ }
}
cl2chan = Channel_NextMember(Chan, cl2chan);
}
- #endif
/* synchronize channel modes */
if (modes[1]) {
@@ -313,28 +296,18 @@ join_send_topic(CLIENT *Client, CLIENT *target, CHANNEL *chan,
if (Client_Type(Client) != CLIENT_USER)
return true;
/* acknowledge join */
- #ifndef IMPLEMENT_EXTENDED_JOIN
- if (!IRC_WriteStrClientPrefix(Client, target, "JOIN :%s", channame))
- return false;
- #endif
- #ifdef IMPLEMENT_EXTENDED_JOIN
CONN_ID conn;
conn = Client_Conn(Client);
if(Client_Cap(Client) & CLIENT_CAP_EXTENDED_JOIN) {
char * account_name;
- if(Client_AccountName(Client)) {
+ if(Client_AccountName(Client))
account_name = Client_AccountName(Client);
- }
- else {
+ else
account_name = "*";
- }
Conn_WriteStr(conn, ":%s JOIN %s %s :%s", Client_MaskCloaked(Client), channame, account_name, Client_Info(Client));
- }
- else {
- Conn_WriteStr(conn, ":%s JOIN %s", Client_MaskCloaked(Client), channame);
- }
- #endif
-
+ }
+ else
+ Conn_WriteStr(conn, ":%s JOIN %s", Client_MaskCloaked(Client), channame);
/* Send topic to client, if any */
topic = Channel_Topic(chan);
assert(topic != NULL);
-----END OF PAGE-----