X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/177f020f122827214159c46dcfe7ded1e3c8d1c3..2be30ff9e8cbddfb711610d66d5f900064b41831:/h/utils.h?ds=inline diff --git a/h/utils.h b/h/utils.h index c5991f42..0c6c7347 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); @@ -56,7 +65,6 @@ struct msgnum_array { void app_msgarg(struct msgs_array *, char *); void app_msgnum(struct msgnum_array *, int); -int open_form(char **, char *); char *find_str (const char [], size_t, const char *); char *rfind_str (const char [], size_t, const char *); char *nmh_strcasestr (const char *, const char *); @@ -98,6 +106,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