]> diplodocus.org Git - nmh/blobdiff - h/mh.h
Added explicit dependency to build sbr/icalparse.h before running LEX.
[nmh] / h / mh.h
diff --git a/h/mh.h b/h/mh.h
index a72971dfd3821fdd8690aa1db4adaa671eba5ff3..22e3a0b5d3d2bc563875d2f23966bd49906275be 100644 (file)
--- a/h/mh.h
+++ b/h/mh.h
@@ -20,7 +20,7 @@
  * This macro is for use by scan, for example, so that platforms with
  * a small BUFSIZ can easily allocate larger buffers.
  */
-#define NMH_BUFSIZ  (BUFSIZ>=8192 ? BUFSIZ : 8192)
+#define NMH_BUFSIZ  max(BUFSIZ, 8192)
 
 #ifndef FALSE
 #define FALSE false
@@ -48,6 +48,18 @@ typedef unsigned char  boolean;  /* not int so we can pack in a structure */
  * terminating NUL. */
 #define LEN(s) (sizeof (s) - 1)
 
+/* FENDNULL fends off NULL by giving an empty string instead. */
+#define FENDNULL(s) ((s) ? (s) : "")
+
+/* PLURALS gives a pointer to the string "s" when n isn't 1, and to the
+ * empty string "" when it is.  Suitable for obtaining the plural `s'
+ * used for English nouns.  It treats -1 as plural, as does GNU gettext.
+ * Having output vary for plurals is annoying for those writing parsers;
+ * better to phrase the output such that no test is needed, e.g.
+ * "messages found: 42". */
+extern const char plurals[];
+#define PLURALS(n) (plurals + ((n) == 1))
+
 /*
  * char array that keeps track of size in both bytes and characters
  * Usage note: