Revert "towctrans() should return the input and set errno on failure."

This reverts commit 5f99b0225b8a7ea8357de4792b668e7b59930816.

We don't want this on the android15-tests-dev branch, since the code fix
will only apply to API level 36.

Bug: https://issuetracker.google.com/362672773
Bug: https://issuetracker.google.com/365705848
Change-Id: I44cc088acd7fb337922db3216c719d6b1fdc283a
diff --git a/libc/bionic/wctype.cpp b/libc/bionic/wctype.cpp
index b37f17b..71caa76 100644
--- a/libc/bionic/wctype.cpp
+++ b/libc/bionic/wctype.cpp
@@ -150,7 +150,6 @@
 wctrans_t wctrans(const char* name) {
   if (strcmp(name, "tolower") == 0) return wctrans_tolower;
   if (strcmp(name, "toupper") == 0) return wctrans_toupper;
-  errno = EINVAL;
   return nullptr;
 }
 
@@ -162,7 +161,7 @@
   if (t == wctrans_tolower) return towlower(c);
   if (t == wctrans_toupper) return towupper(c);
   errno = EINVAL;
-  return c;
+  return 0;
 }
 
 wint_t towctrans_l(wint_t c, wctrans_t t, locale_t) {
diff --git a/tests/wctype_test.cpp b/tests/wctype_test.cpp
index f4b7a8f..38d26ca 100644
--- a/tests/wctype_test.cpp
+++ b/tests/wctype_test.cpp
@@ -226,64 +226,34 @@
   EXPECT_EQ(0, iswctype_l(WEOF, wctype_l("alnum", l.l), l.l));
 }
 
-TEST(wctype, wctrans) {
+TEST(wctype, towctrans) {
   EXPECT_TRUE(wctrans("tolower") != nullptr);
   EXPECT_TRUE(wctrans("toupper") != nullptr);
 
-  errno = 0;
   EXPECT_TRUE(wctrans("monkeys") == nullptr);
-  #if defined(__BIONIC__)
-  // Android/FreeBSD/iOS set errno, but musl/glibc don't.
-  EXPECT_ERRNO(EINVAL);
-  #endif
-}
-
-TEST(wctype, wctrans_l) {
-  UtfLocale l;
-  EXPECT_TRUE(wctrans_l("tolower", l.l) != nullptr);
-  EXPECT_TRUE(wctrans_l("toupper", l.l) != nullptr);
-
-  errno = 0;
-  EXPECT_TRUE(wctrans_l("monkeys", l.l) == nullptr);
-  #if defined(__BIONIC__)
-  // Android/FreeBSD/iOS set errno, but musl/glibc don't.
-  EXPECT_ERRNO(EINVAL);
-  #endif
-}
-
-TEST(wctype, towctrans) {
-  wctrans_t lower = wctrans("tolower");
-  EXPECT_EQ(wint_t('a'), towctrans(L'A', lower));
-  EXPECT_EQ(WEOF, towctrans(WEOF, lower));
-
-  wctrans_t upper = wctrans("toupper");
-  EXPECT_EQ(wint_t('A'), towctrans(L'a', upper));
-  EXPECT_EQ(WEOF, towctrans(WEOF, upper));
-
-  wctrans_t invalid = wctrans("monkeys");
-  errno = 0;
-  EXPECT_EQ(wint_t('a'), towctrans(L'a', invalid));
-  #if defined(__BIONIC__)
-  // Android/FreeBSD/iOS set errno, but musl/glibc don't.
-  EXPECT_ERRNO(EINVAL);
-  #endif
 }
 
 TEST(wctype, towctrans_l) {
   UtfLocale l;
-  wctrans_t lower = wctrans_l("tolower", l.l);
-  EXPECT_EQ(wint_t('a'), towctrans_l(L'A', lower, l.l));
-  EXPECT_EQ(WEOF, towctrans_l(WEOF, lower, l.l));
+  EXPECT_TRUE(wctrans_l("tolower", l.l) != nullptr);
+  EXPECT_TRUE(wctrans_l("toupper", l.l) != nullptr);
 
-  wctrans_t upper = wctrans_l("toupper", l.l);
-  EXPECT_EQ(wint_t('A'), towctrans_l(L'a', upper, l.l));
-  EXPECT_EQ(WEOF, towctrans_l(WEOF, upper, l.l));
+  EXPECT_TRUE(wctrans_l("monkeys", l.l) == nullptr);
+}
 
-  wctrans_t invalid = wctrans_l("monkeys", l.l);
-  errno = 0;
-  EXPECT_EQ(wint_t('a'), towctrans_l(L'a', invalid, l.l));
-  #if defined(__BIONIC__)
-  // Android/FreeBSD/iOS set errno, but musl/glibc don't.
-  EXPECT_ERRNO(EINVAL);
-  #endif
+TEST(wctype, wctrans) {
+  EXPECT_EQ(wint_t('a'), towctrans(L'A', wctrans("tolower")));
+  EXPECT_EQ(WEOF, towctrans(WEOF, wctrans("tolower")));
+
+  EXPECT_EQ(wint_t('A'), towctrans(L'a', wctrans("toupper")));
+  EXPECT_EQ(WEOF, towctrans(WEOF, wctrans("toupper")));
+}
+
+TEST(wctype, wctrans_l) {
+  UtfLocale l;
+  EXPECT_EQ(wint_t('a'), towctrans_l(L'A', wctrans_l("tolower", l.l), l.l));
+  EXPECT_EQ(WEOF, towctrans_l(WEOF, wctrans_l("tolower", l.l), l.l));
+
+  EXPECT_EQ(wint_t('A'), towctrans_l(L'a', wctrans_l("toupper", l.l), l.l));
+  EXPECT_EQ(WEOF, towctrans_l(WEOF, wctrans_l("toupper", l.l), l.l));
 }