version 0 RMT protocol, the query of status makes no sense (send back, in
binary, the mtget structure), but systems sometimes use it anyway. And when
they use it, they get upset if they get back something that is a different
size from what they expect. The original mtget structure in BSD 4.3 is
24 bytes in size, and that seems to be what they can cope with.
The correct fix would be to go to Version 1 RMT, but that's a horse of
another color...
(Todd Miller)
include <fcntl.h>, <stdlib.h>, and <unistd.h> for prototypes
include <sys/ioctl.h> instead of <sys/sgtty.h>
add explicit return types and prototypes for internal functions
use STD{IN,OUT}_FILENO instead of manifest constants
fix off-by-one buffer overflow error in getstring()
KNFify and RCSid police