]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
When printing an error message, don't choke if tok->buf is NULL.
authorGuido van Rossum <guido@python.org>
Fri, 7 Jun 1991 13:58:56 +0000 (13:58 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 7 Jun 1991 13:58:56 +0000 (13:58 +0000)
Parser/parsetok.c

index a0bac20ec6b3042c03e27cdaaf780a262b274fb8..31c23853f95477790199e5e2ba14bbbfab7bd3e9 100644 (file)
@@ -89,17 +89,21 @@ parsefile(fp, filename, g, start, ps1, ps2, n_ret)
                char *p;
                fprintf(stderr, "Parsing error: file %s, line %d:\n",
                                                filename, tok->lineno);
-               *tok->inp = '\0';
-               if (tok->inp > tok->buf && tok->inp[-1] == '\n')
-                       tok->inp[-1] = '\0';
-               fprintf(stderr, "%s\n", tok->buf);
-               for (p = tok->buf; p < tok->cur; p++) {
-                       if (*p == '\t')
-                               putc('\t', stderr);
-                       else
-                               putc(' ', stderr);
+               if (tok->buf == NULL)
+                       fprintf(stderr, "(EOF)\n");
+               else {
+                       *tok->inp = '\0';
+                       if (tok->inp > tok->buf && tok->inp[-1] == '\n')
+                               tok->inp[-1] = '\0';
+                       fprintf(stderr, "%s\n", tok->buf);
+                       for (p = tok->buf; p < tok->cur; p++) {
+                               if (*p == '\t')
+                                       putc('\t', stderr);
+                               else
+                                       putc(' ', stderr);
+                       }
+                       fprintf(stderr, "^\n");
                }
-               fprintf(stderr, "^\n");
        }
        tok_free(tok);
        return ret;