Checkout
dgaudet
committed
on 12 Mar 98
As mentioned a month or two ago there were some implicit assumptions that
the values in content_type, handler, content_encoding, ... were lo… Show more
As mentioned a month or two ago there were some implicit assumptions that

the values in content_type, handler, content_encoding, ... were lowercase.

I'm not referring to mod_negotiation here -- there were other cases where

strcmp() was being used.  But in addition, mod_negotiation could be

convinced to call str_tolower() on r->content_language(s), which could

possibly modify a "read-only" string... which wastes at least one memory

page per child.

Clean all that up by declaring that the content fields in request_rec

(and related fields elsewhere) must be lowercase, and must not be modified

in place.  Naturally I chose this because it's more efficient... rather

than going around needlessly pstrdup()ing and strcasecmp()ing everywhere.

There are a few other tweaks in here I couldn't resist, along the lines

of getting rid of unneeded pstrdup()s.  Plus a new function

set_string_slot_lower().

Show less