char read_char;
char* buf_iter;
char term_name[L_ctermid];
- int term_id, reset_terminal = 0;
+ int term_id, write_file, reset_terminal = 0;
ssize_t nbytes;
size_t read_bytes = 0;
struct termios orig_flags, no_echo_flags;
}
ctermid(term_name);
- term_id = open(term_name, O_RDWR);
- if (term_id == -1)
- goto error;
+ if(strcmp(term_name, "") == 0
+ || (term_id = open(term_name, O_RDWR)) == -1)
+ write_file = STDERR_FILENO;
+ else
+ write_file = term_id;
if (tcgetattr(term_id, &orig_flags) != -1)
{
reset_terminal = 0;
}
- if (write(term_id, prompt, strlen(prompt) + sizeof '\0') == (ssize_t) -1)
+ if (write(write_file, prompt, strlen(prompt) + sizeof '\0') == (ssize_t) -1)
goto error;
buf_iter = buf;