summaryrefslogtreecommitdiff
path: root/src/z-form.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/z-form.h')
-rw-r--r--src/z-form.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/z-form.h b/src/z-form.h
new file mode 100644
index 00000000..69b46794
--- /dev/null
+++ b/src/z-form.h
@@ -0,0 +1,47 @@
+/* File z-form.h */
+
+#ifndef INCLUDED_Z_FORM_H
+#define INCLUDED_Z_FORM_H
+
+#include "h-basic.h"
+
+/*
+ * This file provides functions very similar to "sprintf()", but which
+ * not only parse some additional "format sequences", but also enforce
+ * bounds checking, and allow repeated "appends" to the same buffer.
+ *
+ * See "z-form.c" for more detailed information about the routines,
+ * including a list of the legal "format sequences".
+ *
+ * This file makes use of both "z-util.c" and "z-virt.c"
+ */
+
+
+/**** Available Functions ****/
+
+/* Format arguments into given bounded-length buffer */
+extern uint vstrnfmt(char *buf, uint max, cptr fmt, va_list vp);
+
+/* Simple interface to "vstrnfmt()" */
+extern uint strnfmt(char *buf, uint max, cptr fmt, ...);
+
+/* Simple interface to "vstrnfmt()", assuming infinite length */
+extern uint strfmt(char *buf, cptr fmt, ...);
+
+/* Format arguments into a static resizing buffer */
+extern char *vformat(cptr fmt, va_list vp);
+
+/* Simple interface to "vformat()" */
+extern char *format(cptr fmt, ...);
+
+/* Vararg interface to "plog()", using "format()" */
+extern void plog_fmt(cptr fmt, ...);
+
+/* Vararg interface to "quit()", using "format()" */
+extern void quit_fmt(cptr fmt, ...);
+
+/* Vararg interface to "core()", using "format()" */
+extern void core_fmt(cptr fmt, ...);
+
+
+#endif