Cover a few corners in the 'U' mode integration to make imp work.

get_file() must convert 'U' to "r" PY_STDIOTEXTMODE before calling
fopen().

imp_load_module() must accept 'r' or 'U' or something with '+'.

Also reflow some long lines.
diff --git a/Python/import.c b/Python/import.c
index 5c53813..112f7f6 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -1040,16 +1040,18 @@
 #endif /* PYOS_OS2 */
 		for (fdp = _PyImport_Filetab; fdp->suffix != NULL; fdp++) {
 #if defined(PYOS_OS2)
-			/* OS/2 limits DLLs to 8 character names (w/o extension)
+			/* OS/2 limits DLLs to 8 character names (w/o
+			   extension)
 			 * so if the name is longer than that and its a
 			 * dynamically loaded module we're going to try,
 			 * truncate the name before trying
 			 */
 			if (strlen(realname) > 8) {
 				/* is this an attempt to load a C extension? */
-				const struct filedescr *scan = _PyImport_DynLoadFiletab;
+				const struct filedescr *scan;
+				scan = _PyImport_DynLoadFiletab;
 				while (scan->suffix != NULL) {
-					if (strcmp(scan->suffix, fdp->suffix) == 0)
+					if (!strcmp(scan->suffix, fdp->suffix))
 						break;
 					else
 						scan++;
@@ -1067,7 +1069,8 @@
 				PySys_WriteStderr("# trying %s\n", buf);
 #endif /* !macintosh */
 			filemode = fdp->mode;
-			if (filemode[0] == 'U') filemode = "r" PY_STDIOTEXTMODE;
+			if (filemode[0] == 'U') 
+				filemode = "r" PY_STDIOTEXTMODE;
 			fp = fopen(buf, filemode);
 			if (fp != NULL) {
 				if (case_ok(buf, len, namelen, name))
@@ -2296,6 +2299,8 @@
 {
 	FILE *fp;
 	if (fob == NULL) {
+		if (mode[0] == 'U') 
+			mode = "r" PY_STDIOTEXTMODE;
 		fp = fopen(pathname, mode);
 		if (fp == NULL)
 			PyErr_SetFromErrno(PyExc_IOError);
@@ -2403,10 +2408,11 @@
 			      &name, &fob, &pathname,
 			      &suffix, &mode, &type))
 		return NULL;
-	if (*mode && (*mode != 'r' || strchr(mode, '+') != NULL)) {
-		PyErr_Format(PyExc_ValueError,
-			     "invalid file open mode %.200s", mode);
-		return NULL;
+	if (*mode &&
+	    !(*mode == 'r' || *mode == 'U' || strchr(mode, '+'))) {
+			PyErr_Format(PyExc_ValueError,
+				     "invalid file open mode %.200s", mode);
+			return NULL;
 	}
 	if (fob == Py_None)
 		fp = NULL;