summary refs log tree commit diff
path: root/chat.h
diff options
context:
space:
mode:
Diffstat (limited to 'chat.h')
-rw-r--r--chat.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/chat.h b/chat.h
index 3d3586c..47a7e1e 100644
--- a/chat.h
+++ b/chat.h
@@ -45,10 +45,18 @@ void uiRead(void);
 void uiTopic(const wchar_t *topic);
 void uiTopicStr(const char *topic);
 void uiLog(const wchar_t *line);
-
-//__attribute__((format(printf, 1, 2)))
 void uiFmt(const wchar_t *format, ...);
 
+// HACK: clang won't check wchar_t *format strings.
+#ifdef NDEBUG
+#define uiFmt(format, ...) uiFmt(L##format, __VA_ARGS__)
+#else
+#define uiFmt(format, ...) do { \
+	snprintf(NULL, 0, format, __VA_ARGS__); \
+	uiFmt(L##format, __VA_ARGS__); \
+} while(0)
+#endif
+
 void handle(char *line);
 void input(wchar_t *line);
 
it/ui.c?h=somasis/tokipona&id=adc6d3bdd241e1dad6646ae537e7f8020ac4c971&follow=1'>Add M-/ to switch to previously active windowJune McEnroe 2019-02-25Move nick and tag coloring to color.cJune McEnroe 2019-02-25Add M-l to list the logJune McEnroe 2019-02-25Output raw to standard error if it is not a terminalJune McEnroe 2019-02-25Update tag colorsJune McEnroe 2019-02-25Add color to tagsJune McEnroe 2019-02-25Remove tag X macros againJune McEnroe 2019-02-25Add M-a to switch to hot or unread windowJune McEnroe 2019-02-25Refactor uiReadJune McEnroe 2019-02-24Scroll by full pages with PageUp/PageDownJune McEnroe 2019-02-23Clarify /window documentationJune McEnroe 2019-02-23Use first word of params in input commandsJune McEnroe 2019-02-23Add C-n and C-p key bindings to switch windowsJune McEnroe 2019-02-23Change example command to join #ascii.town on freenodeJune McEnroe 2019-02-23Call def_prog_mode after termNoFlowJune McEnroe 2019-02-22Move IRC formatting reset to C-sJune McEnroe 2019-02-22Disable terminal flow controlJune McEnroe 2019-02-22Bind up and down arrows to scrollJune McEnroe 2019-02-22Remove topic TODOJune McEnroe 2019-02-22Add /znc commandJune McEnroe 2019-02-22Update status line after scrolling and term eventsJune McEnroe 2019-02-22Reorganize input.cJune McEnroe 2019-02-22Fix name of <raw> window in man pageJune McEnroe 2019-02-22Rename global tags with angle bracketsJune McEnroe 2019-02-22Show status window while connectingJune McEnroe 2019-02-22Reorganize UI code for the umpteenth timeJune McEnroe 2019-02-21Replace "view" with "window"June McEnroe 2019-02-21Remove ROT13June McEnroe 2019-02-21Clean up man pageJune McEnroe 2019-01-26Draw UI before connectingJune McEnroe 2019-01-25Avoid unused variable warnings with getyxJune McEnroe 2019-01-25Add GNU/Linux build instructionsJune McEnroe