UnixProcess: Improve error message for generic/unknown error codes.

Replace strcmp with strstr to return a more understandable
error message. Using strcmp is wrong, because if errnum is
not known, strerror will return 'Unknown error XXX' including errnum,
so strict comparison against 'Unknown error' does not work.
Searching for a substring with strstr fixes this issue.

It is hard to trigger incorrect behavior from java code
because it only happens for error codes that are not already
handled in errno.h; bug 117755069 tracks the follow-up work of
handling remaining error code.

Bug: 110019823
Test: cts-tradefed run cts -m CtsLibcoreTestCases --abi arm64-v8a
Test: Manually set errnum variable to value 135, which is not
      defined anywhere in errno.h to confirm the error message
      equals to expected.

Change-Id: I740d32623606dd8c50929f82564219f7bcfa046b
diff --git a/ojluni/src/main/native/UNIXProcess_md.c b/ojluni/src/main/native/UNIXProcess_md.c
index b289f1a..9d869b9 100644
--- a/ojluni/src/main/native/UNIXProcess_md.c
+++ b/ojluni/src/main/native/UNIXProcess_md.c
@@ -492,7 +492,9 @@
 
     if (errnum != 0) {
         const char *s = strerror(errnum);
-        if (strcmp(s, "Unknown error") != 0)
+        // Android-changed: Fix logic for recognizing error strings. http://b/110019823
+        // if (strcmp(s, "Unknown error") != 0)
+        if (strstr(s, "Unknown error") == 0)
             detail = s;
     }
     /* ASCII Decimal representation uses 2.4 times as many bits as binary. */