In string.split(), honor maxsplit (if > 0).

In string.splitfields(), ignore maxsplit if <= 0, rather than ignoring
maxsplit=0 but effectively treating negative numbers the same as
maxsplit=1.  Also made the test for maxsplit slightly more efficient
(set it to the length of the string when <= 0 so the test for its
presence can be omitted from the loop).
diff --git a/Lib/string.py b/Lib/string.py
index 3f65978..2139a75 100644
--- a/Lib/string.py
+++ b/Lib/string.py
@@ -74,11 +74,17 @@
 	if sep is not None: return splitfields(s, sep, maxsplit)
 	res = []
 	i, n = 0, len(s)
+	if maxsplit <= 0: maxsplit = n
+	count = 0
 	while i < n:
 		while i < n and s[i] in whitespace: i = i+1
 		if i == n: break
+		if count >= maxsplit:
+		    res.append(s[i:])
+		    break
 		j = i
 		while j < n and s[j] not in whitespace: j = j+1
+		count = count + 1
 		res.append(s[i:j])
 		i = j
 	return res
@@ -93,6 +99,7 @@
 	if nsep == 0:
 		return [s]
 	ns = len(s)
+	if maxsplit <= 0: maxsplit = ns
 	i = j = 0
 	count = 0
 	while j+nsep <= ns:
@@ -100,8 +107,7 @@
 			count = count + 1
 			res.append(s[i:j])
 			i = j = j + nsep
-			if (maxsplit and (count >= maxsplit)):
-			    break
+			if count >= maxsplit: break
 			   
 		else:
 			j = j + 1