summary refs log tree commit diff
path: root/chat.h
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-02-16 19:12:19 -0500
committerJune McEnroe <june@causal.agency>2020-02-16 19:12:19 -0500
commitba524ed8045ea0e14664a64790fee53dd72a4541 (patch)
tree609ceb1caa887dabad7e7088722d5bf279b7873a /chat.h
parentAdd 379 to WHOIS responses (diff)
downloadcatgirl-ba524ed8045ea0e14664a64790fee53dd72a4541.tar.gz
catgirl-ba524ed8045ea0e14664a64790fee53dd72a4541.zip
Replace a lot of snprintf with a catf implementation
Diffstat (limited to '')
-rw-r--r--chat.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/chat.h b/chat.h
index adde642..1f4274f 100644
--- a/chat.h
+++ b/chat.h
@@ -14,10 +14,13 @@
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 
+#include <assert.h>
 #include <err.h>
 #include <getopt.h>
+#include <stdarg.h>
 #include <stdbool.h>
 #include <stdint.h>
+#include <stdio.h>
 #include <string.h>
 #include <sysexits.h>
 #include <time.h>
@@ -29,6 +32,15 @@
 typedef unsigned uint;
 typedef unsigned char byte;
 
+static inline void __attribute__((format(printf, 3, 4)))
+catf(char *buf, size_t cap, const char *format, ...) {
+	size_t len = strnlen(buf, cap);
+	va_list ap;
+	va_start(ap, format);
+	assert(0 <= vsnprintf(&buf[len], cap - len, format, ap));
+	va_end(ap);
+}
+
 enum Color {
 	White, Black, Blue, Green, Red, Brown, Magenta, Orange,
 	Yellow, LightGreen, Cyan, LightCyan, LightBlue, Pink, Gray, LightGray,
d> 2024-09-24Add photos from September 14June McEnroe 2024-09-24Add photos from September 12June McEnroe 2024-09-24Add photos from September 7June McEnroe 2024-09-24Allow not having descriptionsJune McEnroe I'm sorry, I can't keep writing descriptions. It makes posting photos take too long, I often don't know the words for what I'm looking at, and a good description is an entirely different work of art than the photo I took, and I'm just a photographer. It's visual art. 2024-09-23Automatically select the last used lens for a bodyJune McEnroe 2024-09-19Add photos from September 5June McEnroe Had to prefix the folder number onto these file names manually because they must have come out of a different scanner or something. 2024-09-15Add some more film stocks to the listJune McEnroe 2024-09-13Add photos from September 2June McEnroe 2024-09-13Add Fomapan 200 to films listJune McEnroe 2024-09-10Add August 29 picnic photosJune McEnroe 2024-09-08Apply some bold to trips renderingJune McEnroe This seems easier to visually scan. The only other thing I'd like is a nicer date rendering but JavaScript is useless for that. 2024-09-08Render trips hopefully more efficientlyJune McEnroe 2024-09-08Allow removing bodies and lensesJune McEnroe 2024-09-08Limit body width so it looks less silly on desktopJune McEnroe 2024-09-07Handle no film being loadedJune McEnroe 2024-09-07Fancy up the text a littleJune McEnroe