Removed the use of strdup() because of compiler/standards mess that not only stole 5 hours of my life but drove me to drink. Maybe in 40 more years when I'm in my 60's C may realize by then the worst cross-platform pain is from their compilers not the OS platform.