Commit 1c67ff5e authored by Kevin Wolf's avatar Kevin Wolf

getterm: stdin/stdout zusammenfügen für stderr

* getterm: Anstatt einen separaten Pfad für stderr zu benutzen und das
  als Ausgabedatei zu öffnen, baut sich getterm jetzt selber ein stderr,
  das sowohl les- als auch schreibbar ist, wenn stdin und stdout beide
  existieren. stdin wird dann für die Eingabe und stdout für die Ausgabe
  über stderr verwendet.

  Unter anderem macht das Pager wie less wesentlich glücklicher.
Signed-off-by: Kevin Wolf's avatarKevin Wolf <kevin@tyndur.org>
parent 75fb85fc
......@@ -41,6 +41,7 @@
#include <string.h>
#include <sys/wait.h>
#include <init.h>
#include <lostio.h>
#include "lang.h"
......@@ -137,6 +138,19 @@ int main(int argc, char* argv[])
stdin = stdout = stderr = NULL;
stdio_init();
if (stdin && stdout) {
lio_stream_t fd;
fd = lio_composite_stream(stdin->res->lio2_stream,
stdout->res->lio2_stream);
if (fd >= 0) {
if (stderr) {
fclose(stderr);
}
stderr = __create_file_from_lio_stream(fd);
}
}
do {
if (wait_for_key) {
char input = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment