Fix memory leaks
Fix header guards

``... all identifiers regardless of use that begin with either two
underscores or an underscore followed by a capital letter are reserved
names.''

http://www.gnu.org/software/libc/manual/html_node/Reserved-Names.html