Commit fc9a6dd0 authored by Paul Sokolovsky's avatar Paul Sokolovsky

py/objstr: strip: Don't strip "\0" by default.

An issue was due to incorrectly taking size of default strip characters
set.
parent 44f0a4d1
......@@ -777,7 +777,7 @@ STATIC mp_obj_t str_uni_strip(int type, size_t n_args, const mp_obj_t *args) {
if (n_args == 1) {
chars_to_del = whitespace;
chars_to_del_len = sizeof(whitespace);
chars_to_del_len = sizeof(whitespace) - 1;
} else {
if (mp_obj_get_type(args[1]) != self_type) {
bad_implicit_conversion(args[1]);
......
......@@ -32,6 +32,13 @@ print("a ".strip())
print("a ".lstrip())
print("a ".rstrip())
# \0 used to give a problem
print("\0abc\0".strip())
print("\0abc\0".lstrip())
print("\0abc\0".rstrip())
print("\0abc\0".strip("\0"))
# Test that stripping unstrippable string returns original object
s = "abc"
print(id(s.strip()) == id(s))
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