]> jfr.im git - irc/atheme/atheme.git/commitdiff
libathemecore: Deduplicate VERSION string building code
authorAttila Molnar <redacted>
Fri, 12 Sep 2014 16:04:16 +0000 (18:04 +0200)
committerAttila Molnar <redacted>
Fri, 12 Sep 2014 16:04:16 +0000 (18:04 +0200)
include/pmodule.h
libathemecore/ctcp-common.c
libathemecore/ptasks.c

index 7081dad31ed9477ad64d861cb38f31cdec39537f..96ec38b5b17cd9e8f3b06aef5b6716298326a156 100644 (file)
@@ -41,6 +41,7 @@ E void pcommand_delete(const char *token);
 E pcommand_t *pcommand_find(const char *token);
 
 /* ptasks.c */
+E int get_version_string(char *, size_t);
 E void handle_version(user_t *);
 E void handle_admin(user_t *);
 E void handle_info(user_t *);
index 7d39be8b2809f5a9b8b12f2be04b10585d9a5ef6..b41c0bef1cc1b39cc24d064eed0b9bda8cc6a7fa 100644 (file)
@@ -24,6 +24,7 @@
 #include "atheme.h"
 #include "datastream.h"
 #include "privs.h"
+#include "pmodule.h"
 
 mowgli_patricia_t *ctcptree;
 
@@ -40,11 +41,10 @@ static void ctcp_ping_handler(sourceinfo_t *si, char *cmd, char *args)
 
 static void ctcp_version_handler(sourceinfo_t *si, char *cmd, char *args)
 {
-       const crypt_impl_t *ci = crypt_get_default_provider();
+       char ver[BUFSIZE];
 
-       notice(si->service->nick, si->su->nick,
-               "\001VERSION %s. %s %s %s [%s] [enc:%s] Build Date: %s\001",
-               PACKAGE_STRING, revision, me.name, get_conf_opts(), ircd->ircdname, ci->id, __DATE__);
+       get_version_string(ver, sizeof(ver));
+       notice(si->service->nick, si->su->nick, "\001VERSION %s\001", ver);
 }
 
 static void ctcp_clientinfo_handler(sourceinfo_t *si, char *cmd, char *args)
index 14c743ad101354c5daf8c0fb387ee77b1be6fe3b..ff13cf8f0c61b58d7d778c017bd948d00a3e41b5 100644 (file)
@@ -41,17 +41,23 @@ void handle_info(user_t *u)
        numeric_sts(me.me, 374, u, ":End of /INFO list");
 }
 
-void handle_version(user_t *u)
+int get_version_string(char *buf, size_t bufsize)
 {
        const crypt_impl_t *ci = crypt_get_default_provider();
+       return snprintf(buf, bufsize, "%s. %s %s :%s [%s] [enc:%s] Build Date: %s",
+               PACKAGE_STRING, me.name, revision, get_conf_opts(), ircd->ircdname, ci->id, __DATE__);
+}
 
+void handle_version(user_t *u)
+{
        if (u == NULL)
                return;
        if (floodcheck(u, NULL))
                return;
 
-       numeric_sts(me.me, 351, u, "%s. %s %s :%s [%s] [enc:%s] Build Date: %s",
-                   PACKAGE_STRING, me.name, revision, get_conf_opts(), ircd->ircdname, ci->id, __DATE__);
+       char ver[BUFSIZE];
+       get_version_string(ver, sizeof(ver));
+       numeric_sts(me.me, 351, u, "%s", ver);
 }
 
 void handle_admin(user_t *u)