X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/177f020f122827214159c46dcfe7ded1e3c8d1c3..54fb590089a2bf43d7987861ba57acb17cebc150:/h/utils.h?ds=sidebyside diff --git a/h/utils.h b/h/utils.h index c5991f42..19d71563 100644 --- a/h/utils.h +++ b/h/utils.h @@ -1,6 +1,15 @@ /* utils.h -- utility prototypes */ +/* 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)) + /* Call malloc(3), exiting on NULL return. */ void *mh_xmalloc(size_t size); @@ -98,6 +107,16 @@ int contains8bit(const char *start, const char *end); */ int scan_input (int fd, int *eightbit); +/* + * program initialization + * + * argv0 - argv[0], presumably the program name + * read_context - 0: don't read context + * - 1: read context, check nmh version, and issue warning message + * if non-existent or old + * - 2: read context, don't check nmh version + */ +int nmh_init(const char *argv0, int read_context); /* * Compares prior version of nmh with current version. Returns 1