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
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to