Fix errors and warnings from g++-4.4.1 (issue193074)


chri...@...
 

Reviewers: osl-dev_googlegroups.com,

Description:
Several additional warnings and some new errors occur when trying to
compile OSL using g++-4.4.1.

Errors were due to:
- header rearrangements which cause strcmp() and exit() to be
unavaliable without additional includes
- strchr (const char*, char) returns const char*

The warnings are various:
- hash_map is deprecated. The obvious alternative is to use
unordered_map from boost, but it's only avaliable after boost-1.36, so
not sure if my fix will work at SPI :-/
- failing to check the return value of fgets()
- a probable operator precedence bug - && has higher precedence than ||
and gcc warns about a suspicious usage (hopefully I guessed right about
the intention here!)
- a dangling else ambiguity (not a bug, just suspicious)
- warnings about uninitialized values


Please review this at http://codereview.appspot.com/193074/show

Affected files:
liboslcomp/oslcomp.cpp
liboslcomp/osllex.l
liboslcomp/symtab.h
liboslexec/bsdf_cloth.cpp
liboslexec/dual.h
oslc/oslcmain.cpp
oslinfo/oslinfo.cpp