head(1): refactor main loop
authorcheloha <cheloha@openbsd.org>
Sat, 29 Jan 2022 00:19:04 +0000 (00:19 +0000)
committercheloha <cheloha@openbsd.org>
Sat, 29 Jan 2022 00:19:04 +0000 (00:19 +0000)
commitcd7a1a4ec867c031982522d0c13ca598f0c380f6
treeb1e599d1aa722a8ac3b8ca166a5a0313631b5990
parentfc107d1d7018dc1659f1929221ec1411b897e4d8
head(1): refactor main loop

The main loop here is horribly obfuscated.  In particular, the path
through the loop to exit(3) is very complex.

Refactor the open/read/write/close portions of the loop out of main()
into a separate function, head_file().

The result is a lot easier to understand at a glance.  In particular,
the path to the end of main() is now dead simple.

Thread: https://marc.info/?l=openbsd-tech&m=164325900400701&w=2

ok millert@
usr.bin/head/head.c