Issue #26919: On Android, operating system data is now always encoded/decoded

to/from UTF-8, instead of the locale encoding to avoid inconsistencies with
os.fsencode() and os.fsdecode() which are already using UTF-8.
This commit is contained in:
Xavier de Gaye 2016-12-15 20:59:58 +01:00
parent 3d3f264849
commit 76febd0792
4 changed files with 17 additions and 12 deletions

View file

@ -5083,10 +5083,10 @@ onError:
return NULL;
}
#ifdef __APPLE__
#if defined(__APPLE__) || defined(__ANDROID__)
/* Simplified UTF-8 decoder using surrogateescape error handler,
used to decode the command line arguments on Mac OS X.
used to decode the command line arguments on Mac OS X and Android.
Return a pointer to a newly allocated wide character string (use
PyMem_RawFree() to free the memory), or NULL on memory allocation error. */
@ -5137,7 +5137,7 @@ _Py_DecodeUTF8_surrogateescape(const char *s, Py_ssize_t size)
return unicode;
}
#endif /* __APPLE__ */
#endif /* __APPLE__ or __ANDROID__ */
/* Primary internal function which creates utf8 encoded bytes objects.