Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 26203aa

Browse files
committed
Use fileobject's filegetline() to implement unlimited raw_input().
1 parent 6590d4a commit 26203aa

1 file changed

Lines changed: 1 addition & 19 deletions

File tree

Python/bltinmodule.c

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -436,29 +436,11 @@ builtin_raw_input(self, v)
436436
object *self;
437437
object *v;
438438
{
439-
FILE *in = sysgetfile("stdin", stdin);
440439
FILE *out = sysgetfile("stdout", stdout);
441-
char *p;
442-
int err;
443-
int n = 1000;
444440
flushline();
445441
if (v != NULL)
446442
printobject(v, out, PRINT_RAW);
447-
v = newsizedstringobject((char *)NULL, n);
448-
if (v != NULL) {
449-
if ((err = fgets_intr(getstringvalue(v), n+1, in)) != E_OK) {
450-
err_input(err);
451-
DECREF(v);
452-
return NULL;
453-
}
454-
else {
455-
n = strlen(getstringvalue(v));
456-
if (n > 0 && getstringvalue(v)[n-1] == '\n')
457-
n--;
458-
resizestring(&v, n);
459-
}
460-
}
461-
return v;
443+
return filegetline(sysget("stdin"), -1);
462444
}
463445

464446
static object *

0 commit comments

Comments
 (0)