about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--archive.h9
-rw-r--r--concat.c4
-rw-r--r--export.c4
3 files changed, 11 insertions, 6 deletions
diff --git a/archive.h b/archive.h
index 3605a4b..0b8b6d8 100644
--- a/archive.h
+++ b/archive.h
@@ -25,6 +25,7 @@
  * covered work.
  */
 
+#include <inttypes.h>
 #include <stdbool.h>
 #include <stdint.h>
 #include <stdio.h>
@@ -54,6 +55,14 @@ extern const char *baseTitle;
 extern const char *baseMailto;
 extern const char *baseSubscribe;
 
+static inline struct U32 {
+	char s[sizeof("4294967295")];
+} u32(uint32_t u) {
+	struct U32 buf;
+	snprintf(buf.s, sizeof(buf.s), "%" PRIu32, u);
+	return buf;
+}
+
 static inline struct ISO8601 {
 	char s[sizeof("0000-00-00T00:00:00Z")];
 } iso8601(time_t time) {
diff --git a/concat.c b/concat.c
index c59a828..bd41913 100644
--- a/concat.c
+++ b/concat.c
@@ -82,10 +82,8 @@ void concatData(
 }
 
 static char *uidPath(uint32_t uid, const char *type) {
-	char str[32];
-	snprintf(str, sizeof(str), "%" PRIu32, uid);
 	struct Variable vars[] = {
-		{ "uid", str },
+		{ "uid", u32(uid).s },
 		{ "type", type },
 		{0},
 	};
diff --git a/export.c b/export.c
index 2b579c3..d4039e2 100644
--- a/export.c
+++ b/export.c
@@ -40,10 +40,8 @@
 #include "imap.h"
 
 static char *exportPath(uint32_t uid, const char *type) {
-	char str[32];
-	snprintf(str, sizeof(str), "%" PRIu32, uid);
 	struct Variable vars[] = {
-		{ "uid", str },
+		{ "uid", u32(uid).s },
 		{ "type", type },
 		{0},
 	};
ject'>Separate tags from all targetJune McEnroe 2019-11-10Filter invite-notifyJune McEnroe 2019-11-10Add capsicum note to READMEJune McEnroe 2019-11-10Filter extended-joinJune McEnroe 2019-11-10Expand client configuration documentation and list capabilitiesJune McEnroe 2019-11-10Request all supported caps from serverJune McEnroe 2019-11-10Filter ACCOUNT, AWAY, CHGHOST for incapable clientsJune McEnroe 2019-11-10Rename listen to localJune McEnroe 2019-11-09Remove extended-join and invite-notifyJune McEnroe The remaining caps only generate new commands which can easily be filtered out when sending to clients so will be in the first pass of support. extended-join is probably safe to pass through unaltered, just causing extraneous parameters on JOIN commands, but maybe not. invite-notify reuses the INVITE command where the invited user is not self. 2019-11-09Maintain stateCaps and offer them to clientsJune McEnroe 2019-11-09Parse capabilitiesJune McEnroe The list that I've defined are the ones that I expect to be able to enable probably without any clients breaking... And of course server-time which pounce implements itself. 2019-11-09Avoid the reserved _A names with BIT macroJune McEnroe 2019-11-09Define macro for bit flag enumsJune McEnroe 2019-11-08Check that password is hashedJune McEnroe 2019-11-08Avoid calling getopt_long again after it returns -1June McEnroe On GNU, calling getopt_long again will reset optind back to the first non-option argument, which would cause an infinite loop of reading the same configurtion file forever. 2019-11-08Only change AWAY status for registered clientsJune McEnroe Turns out I did eventually fix this, because I may want to implement "passive clients" for logging or notification stuff, which wouldn't affect AWAY status either. 2019-11-07Just write the example normallyJune McEnroe 2019-11-07Include path in readlinkat errorJune McEnroe 2019-11-07Call clientConsume before clientRecvJune McEnroe This might reduce the frequency of a client getting its own message back because it was behind in the ring when it sent it. 2019-11-06Use -l:filename in Linux.mkJune McEnroe 2019-11-06Fix compat.h for #defined strlcpyJune McEnroe 2019-11-06Allow unsetting LIBRESSL_PREFIXJune McEnroe 2019-11-06Document calico service configurationJune McEnroe 2019-11-06Document SASL EXTERNAL configuration in more detailJune McEnroe 2019-11-06Document pounce service configurationJune McEnroe 2019-11-06Mention Darwin and GNU/Linux in READMEJune McEnroe 2019-11-06Assume LibreSSL from brew on DarwinJune McEnroe 2019-11-06Remove -DNO_EXPLICIT_BZERO from Darwin.mkJune McEnroe 2019-11-06Don't install rc scripts or dirs on LinuxJune McEnroe