"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Omar Polo <op@omarpolo.com>
Subject:
Re: tog: ensure stdin is a tty
To:
Mark Jamsek <mark@jamsek.com>
Cc:
Stefan Sperling <stsp@stsp.name>, Game of Trees <gameoftrees@openbsd.org>
Date:
Mon, 05 Sep 2022 20:13:57 +0200

Download raw body.

Thread
On 2022/09/06 04:07:39 +1000, Mark Jamsek <mark@jamsek.com> wrote:
> On 22-09-03 04:55PM, Omar Polo wrote:
> > On 2022/09/03 15:37:31 +0200, Stefan Sperling <stsp@stsp.name> wrote:
> > > On Sat, Sep 03, 2022 at 11:24:47PM +1000, Mark Jamsek wrote:
> > > > This was discussed a while back on IRC to handle such things like:
> > > > 
> > > >   $ tog < /dev/null
> > > > 
> > > > ok?
> > > 
> > > Should 'return 1' or exit(1) on error, not return GOT_ERR_IO.
> > 
> > given the place where that check is, I'd go with an
> > 
> > 	errx(1, "stardand input is not a tty");
                 ^^^^^^^^

> > 
> > otherwise ok for me!
> 
> Thanks, stsp and op! Done.
> 
> diff refs/heads/main refs/heads/fix/tty
> commit - 3d8e0c5ede1a5654397b63a9f483d875543527d5
> commit + 7f04ea5dca27cc3e9751803d572f6792dde836d1
> blob - 9d57af707725df8ed20c18c242b8359ad3a3270c
> blob + 5b813c5e0de32f5883d2349934fb4b0280daa2ed
> --- tog/tog.c
> +++ tog/tog.c
> @@ -8478,6 +8478,9 @@ main(int argc, char *argv[])
>  	};
>  	char *diff_algo_str = NULL;
>  
> +	if (!isatty(STDIN_FILENO))
> +		errx(1, "stardand input is not a tty");
                         ^^^^^^^^

wops, the typo wasn't a requirement! :D

ok for me!

> +
>  	setlocale(LC_CTYPE, "");
>  
>  	while ((ch = getopt_long(argc, argv, "+hV", longopts, NULL)) != -1) {