From 117b35db99af4331daad4279eadfb9280e0c1325 Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Thu, 24 May 2018 11:01:33 +0200 Subject: common: Make case conversion locale independent The tolower()/toupper() functions take into account of the current locale settings, which p11-kit doesn't want. Add replacement functions that work as if they are called under the C locale. --- common/compat.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'common/compat.c') diff --git a/common/compat.c b/common/compat.c index 1e17230..2e559c7 100644 --- a/common/compat.c +++ b/common/compat.c @@ -953,3 +953,19 @@ fdwalk (int (* cb) (void *data, int fd), #endif /* HAVE_FDWALK */ #endif /* OS_UNIX */ + +int +p11_ascii_tolower (int c) +{ + if (c >= 'A' && c <= 'Z') + return 'a' + (c - 'A'); + return c; +} + +int +p11_ascii_toupper (int c) +{ + if (c >= 'a' && c <= 'z') + return 'A' + (c - 'a'); + return c; +} -- cgit v1.1