Some quick fixes

There are a few places that trigger gcc to issue unused-* warnings. The first commit changes some of them. The one that has left needs a little bit more investigation.

The other commit changes the definition of the VERSION to string. Using double in such context is rather uncommon practice and a limiting one. Imagine you'd like to release a 0.97a (or 0.97.1) version that just fixes a single typo you've made. The commit also fixes writing (sprintf()) to an unallocated buffer.