Trent Mick: familiar simple Win64 patches
diff --git a/Parser/myreadline.c b/Parser/myreadline.c
index 9bf770e..7ce0cdf 100644
--- a/Parser/myreadline.c
+++ b/Parser/myreadline.c
@@ -86,7 +86,7 @@
 PyOS_StdioReadline(prompt)
 	char *prompt;
 {
-	int n;
+	size_t n;
 	char *p;
 	n = 100;
 	if ((p = PyMem_MALLOC(n)) == NULL)
@@ -95,7 +95,7 @@
 	if (prompt)
 		fprintf(stderr, "%s", prompt);
 	fflush(stderr);
-	switch (my_fgets(p, n, stdin)) {
+	switch (my_fgets(p, (int)n, stdin)) {
 	case 0: /* Normal case */
 		break;
 	case 1: /* Interrupt */
@@ -116,11 +116,14 @@
 #endif
 	n = strlen(p);
 	while (n > 0 && p[n-1] != '\n') {
-		int incr = n+2;
+		size_t incr = n+2;
 		p = PyMem_REALLOC(p, n + incr);
 		if (p == NULL)
 			return NULL;
-		if (my_fgets(p+n, incr, stdin) != 0)
+		if (incr > INT_MAX) {
+			PyErr_SetString(PyExc_OverflowError, "input line too long");
+		}
+		if (my_fgets(p+n, (int)incr, stdin) != 0)
 			break;
 		n += strlen(p+n);
 	}
diff --git a/Parser/parsetok.c b/Parser/parsetok.c
index 7e87859..6e8523b 100644
--- a/Parser/parsetok.c
+++ b/Parser/parsetok.c
@@ -136,7 +136,7 @@
 	for (;;) {
 		char *a, *b;
 		int type;
-		int len;
+		size_t len;
 		char *str;
 
 		type = PyTokenizer_Get(tok, &a, &b);
@@ -184,7 +184,7 @@
 		err_ret->lineno = tok->lineno;
 		err_ret->offset = tok->cur - tok->buf;
 		if (tok->buf != NULL) {
-			int len = tok->inp - tok->buf;
+			size_t len = tok->inp - tok->buf;
 			err_ret->text = PyMem_NEW(char, len + 1);
 			if (err_ret->text != NULL) {
 				if (len > 0)
diff --git a/Parser/pgenmain.c b/Parser/pgenmain.c
index 34c3b01..569a588 100644
--- a/Parser/pgenmain.c
+++ b/Parser/pgenmain.c
@@ -127,7 +127,7 @@
 		fprintf(stderr, "Parsing error %d, line %d.\n",
 			err.error, err.lineno);
 		if (err.text != NULL) {
-			int i;
+			size_t i;
 			fprintf(stderr, "%s", err.text);
 			i = strlen(err.text);
 			if (i == 0 || err.text[i-1] != '\n')
@@ -195,7 +195,7 @@
 PyOS_Readline(prompt)
 	char *prompt;
 {
-	int n = 1000;
+	size_t n = 1000;
 	char *p = PyMem_MALLOC(n);
 	char *q;
 	if (p == NULL)
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index 7d9a273..3337c75 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -223,9 +223,9 @@
 				tok->done = E_EOF;
 			}
 			else if (tok->start != NULL) {
-				int start = tok->start - tok->buf;
-				int oldlen = tok->cur - tok->buf;
-				int newlen = oldlen + strlen(new);
+				size_t start = tok->start - tok->buf;
+				size_t oldlen = tok->cur - tok->buf;
+				size_t newlen = oldlen + strlen(new);
 				char *buf = tok->buf;
 				PyMem_RESIZE(buf, char, newlen+1);
 				tok->lineno++;