The HTTP header response parsing code assumed the headers used the same case as in the spec, but the spec requires case-insensitive matching. XmlRpc++ in particular sends "Content-length" instead of "Content-Length", causing calls sent from xmlrpc-1.13 to fail. The original version was apparently written before xmerl was included with Erlang. My patch removes the xmerl stuff from the Makefile and uses include_lib instead of include for xmerl.hrl. There were a bunch of unused variables; prepended _ to them. The compiler warned about several clauses that can never run because another pattern always matched. I fixed these in various ways, depending on what the code is trying to do.
List to atom could crash due to too long list - system_limit (255 chars). Also fixes risk of bringing the system down due to too many atoms. Keep MethodName (and struct member name) as a list if not possible to convert to an existing atom in order to keep error reporting in estore_server for not handled methods. (Currently works for us as all atoms will be loaded while starting the xmlrpc listener.)
"ps2pdf". If they are not available, do something harmless.