VMS Help
CRTL, _tolower
*Conan The Librarian
|
Converts an uppercase character to lowercase.
Format
#include <ctype.h>
int _tolower (int character);
character
This argument must be an uppercase letter.
The _tolower macro is equivalent to the tolower function except
that its argument must be an uppercase letter (not lowercase, not
EOF).
As of OpenVMS Version 8.3 and to comply with the C99 ANSI
standard and X/Open Specification, the _tolower macro by default
does not evaluate its parameter more than once. It simply calls
the tolower function. This avoids side effects (such as i++
or function calls) where the user can tell how many times an
expression is evaluated.
To keep the older, optimized _tolower macro behavior, compile
with /DEFINE=_FAST_TOUPPER. Then, as in previous releases, _
tolower optimizes the call to avoid the overhead of a runtime
call. The parameters are checked to determine how to calculate
the result, thereby creating unwanted side effects. Therefore,
when compiling with /DEFINE=_FAST_TOUPPER, do not use the _
tolower macro with arguments that contain side-effect operations.
For instance, the following example will not return the expected
result:
d = _tolower (C++);
x The lowercase letter corresponding to the
argument.