mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-02-07 15:03:34 +00:00
28 lines
1.4 KiB
C
28 lines
1.4 KiB
C
|
/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:4;tab-width:8;coding:utf-8 -*-│
|
||
|
│ vi: set et ft=c ts=4 sts=4 sw=4 fenc=utf-8 :vi │
|
||
|
╞══════════════════════════════════════════════════════════════════════════════╡
|
||
|
│ Python 3 │
|
||
|
│ https://docs.python.org/3/license.html │
|
||
|
╚─────────────────────────────────────────────────────────────────────────────*/
|
||
|
#include "libc/calls/calls.h"
|
||
|
#include "third_party/python/Include/pydebug.h"
|
||
|
#include "third_party/python/Include/pylifecycle.h"
|
||
|
|
||
|
/*
|
||
|
* The file descriptor fd is considered ``interactive'' if either
|
||
|
* a) isatty(fd) is TRUE, or
|
||
|
* b) the -i flag was given, and the filename associated with
|
||
|
* the descriptor is NULL or "<stdin>" or "???".
|
||
|
*/
|
||
|
int
|
||
|
Py_FdIsInteractive(FILE *fp, const char *filename)
|
||
|
{
|
||
|
if (isatty((int)fileno(fp)))
|
||
|
return 1;
|
||
|
if (!Py_InteractiveFlag)
|
||
|
return 0;
|
||
|
return (filename == NULL) ||
|
||
|
(strcmp(filename, "<stdin>") == 0) ||
|
||
|
(strcmp(filename, "???") == 0);
|
||
|
}
|