Fix undefined behavior in std::isalnum inside ShellEscape

Pass static_cast<unsigned char>(c) to std::isalnum to prevent undefined behavior when
non-ASCII/UTF-8 input values trigger sign-extension to negative integers.

Added unit test to verify escaping of non-ASCII characters.

BEGIN_PUBLIC
Fix undefined behavior in std::isalnum inside ShellEscape

Pass static_cast<unsigned char>(c) to std::isalnum to prevent undefined behavior when
non-ASCII/UTF-8 input values trigger sign-extension to negative integers.
END_PUBLIC

PiperOrigin-RevId: 933290984
Change-Id: I223c9b86faae40bda35f111f24eb50686688e6ac
2 files changed