Manual Page Search Parameters

TOUPPER(3) Library Functions Manual TOUPPER(3)

toupper, toupper_l, _toupper
lower case to upper case letter conversion

#include <ctype.h>
toupper(int c);
toupper_l(int c, locale_t locale);
_toupper(int c);

The toupper() and toupper_l() functions convert a lower-case letter to the corresponding upper-case letter. The _toupper() function is identical to toupper() except that c must be a lower-case letter.
OpenBSD always uses the C locale for these functions, ignoring the global locale, the thread-specific locale, and the locale argument.

If the argument to the toupper() or toupper_l() function is a lower-case letter, the corresponding upper-case letter is returned if there is one; otherwise the argument is returned unchanged. If the argument to the _toupper() function is a lower-case letter, the corresponding upper-case letter is returned; otherwise the output is undefined.

On systems supporting non-ASCII single-byte character encodings, the results of toupper() and _toupper() may depend on the LC_CTYPE locale(1).

isalnum(3), isalpha(3), isascii(3), isblank(3), iscntrl(3), isdigit(3), isgraph(3), islower(3), isprint(3), ispunct(3), isspace(3), isupper(3), isxdigit(3), stdio(3), toascii(3), tolower(3), towupper(3), ascii(7)

The toupper() function conforms to ANSI X3.159-1989 (“ANSI C89”), and toupper_l() to IEEE Std 1003.1-2008 (“POSIX.1”).

The toupper() function first appeared in Version 7 AT&T UNIX and acquired the current semantics in AT&T System III UNIX, where _toupper() first appeared.
The toupper_l() function has been available since OpenBSD 6.2.

The argument c must be EOF or representable as an unsigned char; otherwise, the result is undefined.
September 5, 2017 OpenBSD-current