convert narrow stderr output to wide forms

On some platforms, notably GNU libc, you cannot mix narrow and wide
stdio functions on a stream like stdout or stderr. Doing so will drop
the output of one or the other. This change makes all output to the
stderr stream consistently use the wide forms.

This change also converts some fprintf(stderr,...) calls to debug()
calls where appropriate.

Fixes #3692
This commit is contained in:
Kurtis Rader
2017-01-02 21:11:53 -08:00
parent dddbdddcff
commit b118ed69d3
21 changed files with 165 additions and 182 deletions

View File

@@ -481,21 +481,21 @@ const production_element_t *parse_productions::production_for_token(parse_token_
case parse_token_type_background:
case parse_token_type_end:
case parse_token_type_terminate: {
fprintf(stderr, "Terminal token type %ls passed to %s\n",
token_type_description(node_type), __FUNCTION__);
debug(0, "Terminal token type %ls passed to %s", token_type_description(node_type),
__FUNCTION__);
PARSER_DIE();
break;
}
case parse_special_type_parse_error:
case parse_special_type_tokenizer_error:
case parse_special_type_comment: {
fprintf(stderr, "Special type %ls passed to %s\n", token_type_description(node_type),
__FUNCTION__);
debug(0, "Special type %ls passed to %s\n", token_type_description(node_type),
__FUNCTION__);
PARSER_DIE();
break;
}
case token_type_invalid: {
fprintf(stderr, "token_type_invalid passed to %s\n", __FUNCTION__);
debug(0, "token_type_invalid passed to %s", __FUNCTION__);
PARSER_DIE();
break;
}