[Mesa-dev] [PATCH] glsl: Correct string.h to strings.h
Alexander von Gluck IV
kallisti5 at unixzen.com
Wed Aug 27 11:00:08 PDT 2014
On , Kenneth Graunke wrote:
> On Wednesday, August 27, 2014 11:35:06 AM Alexander von Gluck IV wrote:
>> * IEEE Std 1003.1-2001 placed strcasecmp() in strings.h.
>> * On a lot of platforms, strcasecmp is in strings.h and string.h
>> * Technically strcasecmp should be only in strings.h
>> * Haiku decided to stop providing strcasecmp in string.h as it
>> is a crutch to code looking in the wrong place.
>> ---
>> src/glsl/glsl_parser.yy | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy
>> index 2f30b85..33c2f20 100644
>> --- a/src/glsl/glsl_parser.yy
>> +++ b/src/glsl/glsl_parser.yy
>> @@ -23,7 +23,7 @@
>> */
>> #include <stdio.h>
>> #include <stdlib.h>
>> -#include <string.h>
>> +#include <strings.h>
>> #include <assert.h>
>>
>> #include "ast.h"
>>
>
> But it also uses strcmp(), which is definitely defined in string.h.
> It sounds like we should include both.
I agree... however I hear that windows doesn't do strings.h.
Thinking maybe #include <string.h> and ifndef _MSC_VER #include
<strings.h> ?
I confirmed that ISO C99 doesn't mention strcase* in string.h and IEEE
std
1003.1-2001 shows strcase* only in strings.h
Any operating systems including strcase* in strings.h is doing it for
legacy
compatibility for software pre-2001.
Man page for strcasecmp also confirms it's in strings.h:
http://linux.die.net/man/3/strcasecmp
-- Alex
More information about the mesa-dev
mailing list