Commit 1fb1400d authored by Marc-André Lemburg's avatar Marc-André Lemburg

Add URL for PEP to the source code encoding warning.

Remove the usage of PyErr_WarnExplicit() since this could cause
sensitive information from the source files to appear in e.g.
log files.
parent 08ea61ad
...@@ -462,14 +462,20 @@ decoding_fgets(char *s, int size, struct tok_state *tok) ...@@ -462,14 +462,20 @@ decoding_fgets(char *s, int size, struct tok_state *tok)
} }
} }
if (badchar) { if (badchar) {
char buf[200]; char buf[500];
sprintf(buf, "Non-ASCII character '\\x%.2x', "
"but no declared encoding", badchar);
/* Need to add 1 to the line number, since this line /* Need to add 1 to the line number, since this line
has not been counted, yet. */ has not been counted, yet. */
PyErr_WarnExplicit(PyExc_DeprecationWarning, sprintf(buf,
buf, tok->filename, tok->lineno + 1, "Non-ASCII character '\\x%.2x' "
NULL, NULL); "in file %.200s on line %i, "
"but no encoding declared; "
"see http://www.python.org/peps/pep-0263.html for details",
badchar, tok->filename, tok->lineno + 1);
/* We don't use PyErr_WarnExplicit() here because
printing the line in question to e.g. a log file
could result in sensitive information being
exposed. */
PyErr_Warn(PyExc_DeprecationWarning, buf);
tok->issued_encoding_warning = 1; tok->issued_encoding_warning = 1;
} }
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment