Fix PyUnicode_Join() for len==1 and non-exact string
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 2c38ed0..75fc23c 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -9154,6 +9154,7 @@
             return res;
         }
         sep = NULL;
+        maxchar = 0;
     }
     else {
         /* Set up sep and seplen */
@@ -9203,8 +9204,7 @@
             goto onError;
         sz += PyUnicode_GET_LENGTH(item);
         item_maxchar = PyUnicode_MAX_CHAR_VALUE(item);
-        if (item_maxchar > maxchar)
-            maxchar = item_maxchar;
+        maxchar = Py_MAX(maxchar, item_maxchar);
         if (i != 0)
             sz += seplen;
         if (sz < old_sz || sz > PY_SSIZE_T_MAX) {