Remove strlwr and strupr

Joel Sherrill
Fri Aug 22 15:35:00 GMT 2014

On 8/21/2014 3:55 PM, Corinna Vinschen wrote:
> Hi Joel,
> On Aug 21 13:22, Joel Sherrill wrote:
>> Hi
>> Attached is a patch to remove strlwr and strupr.
>> I manually edited the and would appreciate someone
>> comfortable with regenerating the and removing
>> the two files to do that once this is approved.
>> 2014-08-21  Joel Sherrill <>
>>     * libc/include/string.h: Remove strlwr() and strupr() prototypes.
>>     * libc/string/ Remove strlwr.c and strupr.c.
>>     * libc/string/ Regenerate.
>>     * libc/string/strings.tex: Remove includes for strlwr() and strupr().
>>     * libc/string/strlwr.c: Remove.
>>     * libc/string/strupr.c: Remove.
> Uhm... I'm terribly sorry, but I had second thoughts about this issue.
> What about newlib users who already used these functions?  While they
> are not in any standard and only work for ASCII, they are not exactly
> unknown.  Try a simple search for strlwr on the net.  It turns up lots
> of hits.
> Maybe it is better in terms of backward compatibility to keep the
> functions in and just disable them in the header, after all...?
I think we are seeing the same picture from different angles. They are
specific as best I can tell.  Windows/Cygwin versus POSIX/Linux/BSD. The
first hits
I see are MSDN and QNX documentation. Then I see hits for people asking why
isn't this available on platform X.

glibc doesn't provide it.
FreeBSD libc (at least string.h) does not have it.

I think any code using it is non-portable and likely has a Windows

We have probably already spent more effort on this than the methods are
work but they inherently not POSIX and not on the free POSIX OSes.

Don't really care what the end result is. They aren't that big a deal. :)
> Corinna

Joel Sherrill, Ph.D.             Director of Research & Development        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985

More information about the Newlib mailing list