Added -std=gnu99 to CFLAGS
Some more improvements and changes recorded
Some isolation and restricton of config_options pointer aliasing