am 6a56ad28: Merge "kill HAVE_TERMIO_H"

* commit '6a56ad28c385ad799f25a1b90213b2367fcb9e22':
  kill HAVE_TERMIO_H
This commit is contained in:
Yabin Cui 2014-11-18 02:32:53 +00:00 committed by Android Git Automerger
commit 0aa45710d5

View file

@ -29,7 +29,7 @@
#include "sysdeps.h"
#ifdef HAVE_TERMIO_H
#if !defined(_WIN32)
#include <termios.h>
#endif
@ -239,7 +239,18 @@ int usage()
return 1;
}
#ifdef HAVE_TERMIO_H
#if defined(_WIN32)
// Windows does not have <termio.h>.
static void stdin_raw_init(int fd) {
}
static void stdin_raw_restore(int fd) {
}
#else
static struct termios tio_save;
static void stdin_raw_init(int fd)
@ -313,11 +324,11 @@ static void copy_to_file(int inFd, int outFd) {
long total = 0;
D("copy_to_file(%d -> %d)\n", inFd, outFd);
#ifdef HAVE_TERMIO_H
if (inFd == STDIN_FILENO) {
stdin_raw_init(STDIN_FILENO);
}
#endif
for (;;) {
if (inFd == STDIN_FILENO) {
len = unix_read(inFd, buf, BUFSIZE);
@ -344,11 +355,11 @@ static void copy_to_file(int inFd, int outFd) {
}
total += len;
}
#ifdef HAVE_TERMIO_H
if (inFd == STDIN_FILENO) {
stdin_raw_restore(STDIN_FILENO);
}
#endif
D("copy_to_file() finished after %lu bytes\n", total);
free(buf);
}
@ -389,9 +400,7 @@ static void *stdin_read_thread(void *x)
case '.':
if(state == 2) {
fprintf(stderr,"\n* disconnect *\n");
#ifdef HAVE_TERMIO_H
stdin_raw_restore(fdi);
#endif
exit(0);
}
default:
@ -423,14 +432,10 @@ int interactive_shell(void)
fds[0] = fd;
fds[1] = fdi;
#ifdef HAVE_TERMIO_H
stdin_raw_init(fdi);
#endif
adb_thread_create(&thr, stdin_read_thread, fds);
read_and_dump(fd);
#ifdef HAVE_TERMIO_H
stdin_raw_restore(fdi);
#endif
return 0;
}