Commit 60cd8b86 authored by Guido van Rossum's avatar Guido van Rossum

Trent Mick: familiar simple Win64 patches

parent 0ee54343
...@@ -86,7 +86,7 @@ char * ...@@ -86,7 +86,7 @@ char *
PyOS_StdioReadline(prompt) PyOS_StdioReadline(prompt)
char *prompt; char *prompt;
{ {
int n; size_t n;
char *p; char *p;
n = 100; n = 100;
if ((p = PyMem_MALLOC(n)) == NULL) if ((p = PyMem_MALLOC(n)) == NULL)
...@@ -95,7 +95,7 @@ PyOS_StdioReadline(prompt) ...@@ -95,7 +95,7 @@ PyOS_StdioReadline(prompt)
if (prompt) if (prompt)
fprintf(stderr, "%s", prompt); fprintf(stderr, "%s", prompt);
fflush(stderr); fflush(stderr);
switch (my_fgets(p, n, stdin)) { switch (my_fgets(p, (int)n, stdin)) {
case 0: /* Normal case */ case 0: /* Normal case */
break; break;
case 1: /* Interrupt */ case 1: /* Interrupt */
...@@ -116,11 +116,14 @@ PyOS_StdioReadline(prompt) ...@@ -116,11 +116,14 @@ PyOS_StdioReadline(prompt)
#endif #endif
n = strlen(p); n = strlen(p);
while (n > 0 && p[n-1] != '\n') { while (n > 0 && p[n-1] != '\n') {
int incr = n+2; size_t incr = n+2;
p = PyMem_REALLOC(p, n + incr); p = PyMem_REALLOC(p, n + incr);
if (p == NULL) if (p == NULL)
return 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; break;
n += strlen(p+n); n += strlen(p+n);
} }
......
...@@ -136,7 +136,7 @@ parsetok(tok, g, start, err_ret) ...@@ -136,7 +136,7 @@ parsetok(tok, g, start, err_ret)
for (;;) { for (;;) {
char *a, *b; char *a, *b;
int type; int type;
int len; size_t len;
char *str; char *str;
type = PyTokenizer_Get(tok, &a, &b); type = PyTokenizer_Get(tok, &a, &b);
...@@ -184,7 +184,7 @@ parsetok(tok, g, start, err_ret) ...@@ -184,7 +184,7 @@ parsetok(tok, g, start, err_ret)
err_ret->lineno = tok->lineno; err_ret->lineno = tok->lineno;
err_ret->offset = tok->cur - tok->buf; err_ret->offset = tok->cur - tok->buf;
if (tok->buf != NULL) { 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); err_ret->text = PyMem_NEW(char, len + 1);
if (err_ret->text != NULL) { if (err_ret->text != NULL) {
if (len > 0) if (len > 0)
......
...@@ -127,7 +127,7 @@ getgrammar(filename) ...@@ -127,7 +127,7 @@ getgrammar(filename)
fprintf(stderr, "Parsing error %d, line %d.\n", fprintf(stderr, "Parsing error %d, line %d.\n",
err.error, err.lineno); err.error, err.lineno);
if (err.text != NULL) { if (err.text != NULL) {
int i; size_t i;
fprintf(stderr, "%s", err.text); fprintf(stderr, "%s", err.text);
i = strlen(err.text); i = strlen(err.text);
if (i == 0 || err.text[i-1] != '\n') if (i == 0 || err.text[i-1] != '\n')
...@@ -195,7 +195,7 @@ char * ...@@ -195,7 +195,7 @@ char *
PyOS_Readline(prompt) PyOS_Readline(prompt)
char *prompt; char *prompt;
{ {
int n = 1000; size_t n = 1000;
char *p = PyMem_MALLOC(n); char *p = PyMem_MALLOC(n);
char *q; char *q;
if (p == NULL) if (p == NULL)
......
...@@ -223,9 +223,9 @@ tok_nextc(tok) ...@@ -223,9 +223,9 @@ tok_nextc(tok)
tok->done = E_EOF; tok->done = E_EOF;
} }
else if (tok->start != NULL) { else if (tok->start != NULL) {
int start = tok->start - tok->buf; size_t start = tok->start - tok->buf;
int oldlen = tok->cur - tok->buf; size_t oldlen = tok->cur - tok->buf;
int newlen = oldlen + strlen(new); size_t newlen = oldlen + strlen(new);
char *buf = tok->buf; char *buf = tok->buf;
PyMem_RESIZE(buf, char, newlen+1); PyMem_RESIZE(buf, char, newlen+1);
tok->lineno++; tok->lineno++;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment