misc ungetc fixes