예제 #1
0
파일: console.c 프로젝트: logicmoo/yap-6.3
static Int is_same_tty2(USES_REGS1) { /* 'prompt(Atom)                 */
  int sni = Yap_CheckStream(ARG1, Input_Stream_f, "put/2");
  int sno = Yap_CheckStream(ARG2, Output_Stream_f, "put/2");
  bool out = (GLOBAL_Stream[sni].status & Tty_Stream_f) &&
             (GLOBAL_Stream[sno].status & Tty_Stream_f) &&
             is_same_tty(GLOBAL_Stream[sno].file, GLOBAL_Stream[sni].file);
  UNLOCK(GLOBAL_Stream[sno].streamlock);
  UNLOCK(GLOBAL_Stream[sni].streamlock);
  return out;
}
예제 #2
0
파일: readline.c 프로젝트: vscosta/yap-6.3
bool Yap_ReadlineOps(StreamDesc *s) {
  if (s->status & Tty_Stream_f) {
    if (GLOBAL_Stream[0].status & (Input_Stream_f | Tty_Stream_f) &&
        is_same_tty(s->file, GLOBAL_Stream[0].file)) {
      s->stream_getc = ReadlineGetc;
      s->stream_peek = Yap_ReadlinePeekChar;
      s->stream_wpeek = Yap_ReadlinePeekChar;
      s->status |= Readline_Stream_f;
    }
    return true;
  }
  return false;
}