fix highly illegal return of int as char *, and less worrying set-but-not-used warning