Bug 24884

Summary: Include strings.h for strcasecmp()
Product: WebKit Reporter: Laszlo Gombos <laszlo.gombos>
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: carol, hausmann
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: All   
Bug Depends on:    
Bug Blocks: 27065    
Attachments:
Description Flags
Include strings.h in StringExtras.h if available darin: review+

Description Laszlo Gombos 2009-03-27 06:56:33 PDT
IEEE Std 1003.1-2001 placed strcasecmp() in strings.h. 

Most (but not all) platforms also declare strcasecmp in string.h, so the lack of the strings.h include usually does not get noticed.

The compile time problem I run into is http://trac.webkit.org/browser/trunk/WebCore/loader/TextResourceDecoder.cpp calls strcasecmp() but strings.h is not included.

A similar case has been reported an solved in http://trac.webkit.org/changeset/38176/trunk/JavaScriptCore/runtime/DateMath.cpp. 

There are at least two options to consider - (a) continue including strings.h in each cpp where strcasecmp() is called or (b) include strings.h in StringExtras.h where strcasecmp() is implemented for Win.

I feel that (b) might be a more future-proof (since Win ports are well maintained).

Patch follows.
Comment 1 Laszlo Gombos 2009-03-27 07:04:39 PDT
Created attachment 29009 [details]
Include strings.h in StringExtras.h if available
Comment 2 Darin Adler 2009-03-27 07:19:22 PDT
Comment on attachment 29009 [details]
Include strings.h in StringExtras.h if available

r=me
Comment 3 Simon Hausmann 2009-03-27 09:23:15 PDT
Landed in r42037