I/O fixes: get_quoted would go through EOF, check if answer replied EOF

when asking for more solutions, readline in stream == 0 not 2.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@491 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc 2002-05-24 05:14:46 +00:00
parent ba40e074ea
commit 0f471f8810
3 changed files with 10 additions and 4 deletions

View File

@ -908,7 +908,7 @@ ReadlineGetc(int sno)
char *cptr = Prompt, ch; char *cptr = Prompt, ch;
if ((Stream[FileAliases[2].alias_stream].status & Tty_Stream_f) && if ((Stream[FileAliases[2].alias_stream].status & Tty_Stream_f) &&
Stream[FileAliases[2].alias_stream].u.file.name == Stream[sno].u.file.name) { Stream[FileAliases[0].alias_stream].u.file.name == Stream[sno].u.file.name) {
/* don't just output the prompt */ /* don't just output the prompt */
while ((ch = *cptr++) != '\0') { while ((ch = *cptr++) != '\0') {
console_count_output_char(ch,Stream+StdErrStream,StdErrStream); console_count_output_char(ch,Stream+StdErrStream,StdErrStream);

View File

@ -1428,6 +1428,10 @@ fast_tokenizer(void)
*charp++ = ch; *charp++ = ch;
my_fgetch(); my_fgetch();
} }
if (chtype[ch] == EF) {
kind = eot_tok;
break;
}
++len; ++len;
if (charp > (char *)AuxSp - 1024) { if (charp > (char *)AuxSp - 1024) {
/* Not enough space to read in the string. */ /* Not enough space to read in the string. */

View File

@ -526,9 +526,11 @@ repeat :- '$repeat'.
'$another' :- '$another' :-
'$format'(user_error," ? ",[]), '$format'(user_error," ? ",[]),
'$get0'(user_input,C), '$get0'(user_input,C),
( C==59 -> ( C== 0'; -> '$skip'(user_input,10), fail
'$skip'(user_input,10),fail; ;
C==10 -> '$format'(user_error,"~n", []) C== 10 -> '$format'(user_error,"~n", [])
;
C== -1 -> halt
; ;
'$skip'(user_input,10), '$ask_again_for_another' '$skip'(user_input,10), '$ask_again_for_another'
). ).