X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/e14b80c187fdcd00920eed669a8333d7c12a4dd8..64be8525eadefaf536f19865649f12c8e3a3ea9a:/sbr/utils.c diff --git a/sbr/utils.c b/sbr/utils.c index 989a9c8b..9dece994 100644 --- a/sbr/utils.c +++ b/sbr/utils.c @@ -79,7 +79,9 @@ pwd(void) if (!mypath || !*mypath || (strcpy (curwd, mypath), chdir (curwd)) == -1) { strcpy (curwd, "/"); - chdir (curwd); + if (chdir (curwd) < 0) { + advise (curwd, "chdir"); + } } return curwd; } @@ -328,7 +330,10 @@ nmh_strcasestr (const char *s1, const char *s2) { int nmh_init(const char *argv0, int read_context) { - setlocale(LC_ALL, ""); + if (! setlocale(LC_ALL, "")) { + admonish(NULL, "setlocale failed, check your LC_ALL, LC_CTYPE, and " + "LANG environment variables"); + } invo_name = r1bindex ((char *) argv0, '/'); @@ -353,6 +358,20 @@ nmh_init(const char *argv0, int read_context) { } } + +/* Returns copy of argument str with all characters converted to upper + case, and trimmed whitespace (see cpytrim()) . */ +char * +upcase (const char *str) { + char *up = cpytrim (str); + char *cp; + + for (cp = up; *cp; ++cp) { *cp = toupper ((unsigned char) *cp); } + + return up; +} + + /* * Scan for any 8-bit characters. Return 1 if they exist. *