X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/62bfda03da9ba46273bbbffe6be1df498b21d991..2be30ff9e8cbddfb711610d66d5f900064b41831:/h/utils.h diff --git a/h/utils.h b/h/utils.h index 767ff9b8..0c6c7347 100644 --- a/h/utils.h +++ b/h/utils.h @@ -1,8 +1,15 @@ - -/* - * utils.h -- utility prototypes +/* 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); @@ -58,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 *); @@ -70,9 +76,9 @@ void trunccpy(char *dst, const char *src, size_t size); bool has_prefix(const char *s, const char *prefix); bool has_suffix(const char *s, const char *suffix); bool has_suffix_c(const char *s, int c); -void TrimSuffixC(char *s, int c); -void ToLower(char *s); -void ToUpper(char *s); +void trim_suffix_c(char *s, int c); +void to_lower(char *s); +void to_upper(char *s); /* * See if a string contains 8 bit characters (use isascii() for the test). @@ -100,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