Prevent segfaults on unterminated strings

A single quote input was causing segfaults due to sneaking past the
string termination logic. This patch corrects that lapse in conditional
by only parsing strings where a closing quote was found. All other
strings are rejected as invalid.

Big thanks to Jean-Charles Campagne (@jccampagne) for reporting the
issue.
Fix typo in utils.h

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
__GNUC__ is a better choice than __GCC__

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>