repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 7321be2ccd861f1a260e16bf8ddbd32490fbc340:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 7321be2ccd861f1a260e16bf8ddbd32490fbc340
Author: Alexander Barton 
Date:   Thu Nov 11 12:39:49 2010 +0100

    New numeric 329: get channel creation time on "MODE #chan" commands

diff --git a/src/ngircd/irc-mode.c b/src/ngircd/irc-mode.c
index df464a7dba7efca0058cdede4d18ec8090a7eeea..
index ..a4c1d89b330ed175bb02ea158c595693a22be11e 100644
--- a/src/ngircd/irc-mode.c
+++ b/src/ngircd/irc-mode.c
@@ -294,8 +294,17 @@ Channel_Mode_Answer_Request(CLIENT *Origin, CHANNEL *Channel)
 	if (the_args[0])
 		strlcat(the_modes, the_args, sizeof(the_modes));

-	return IRC_WriteStrClient(Origin, RPL_CHANNELMODEIS_MSG,
-		Client_ID(Origin), Channel_Name(Channel), the_modes);
+	if (!IRC_WriteStrClient(Origin, RPL_CHANNELMODEIS_MSG,
+				Client_ID(Origin), Channel_Name(Channel),
+				the_modes))
+		return DISCONNECTED;
+#ifndef STRICT_RFC
+	if (!IRC_WriteStrClient(Origin, RPL_CREATIONTIME_MSG,
+				  Client_ID(Origin), Channel_Name(Channel),
+				  Channel_CreationTime(Channel)))
+		return DISCONNECTED;
+#endif
+	return CONNECTED;
 }


diff --git a/src/ngircd/messages.h b/src/ngircd/messages.h
index 03ddc363375c7633abd0234761eee4c8b2d67353..
index ..900d2ff1101a9f80d77cc6efc75194ca48fa07a4 100644
--- a/src/ngircd/messages.h
+++ b/src/ngircd/messages.h
@@ -65,6 +65,7 @@
 #define RPL_LIST_MSG			"322 %s %s %ld :%s"
 #define RPL_LISTEND_MSG			"323 %s :End of LIST"
 #define RPL_CHANNELMODEIS_MSG		"324 %s %s +%s"
+#define RPL_CREATIONTIME_MSG		"329 %s %s %ld"
 #define RPL_NOTOPIC_MSG			"331 %s %s :No topic is set"
 #define RPL_TOPIC_MSG			"332 %s %s :%s"
 #define RPL_TOPICSETBY_MSG		"333 %s %s %s %u"

-----END OF PAGE-----