Hi. The /usr/bin/info program is supposed to be able to automatically
read compressed files, but this functionality is broken on Cygwin for
some reason. I've tracked it down to a function in info's filesys.c
that is failing. The code, with some debugging statements I've added, is:
stream = popen (command, FOPEN_RBIN);
/* FOO */
printf("%s\n", command);
if (stream)
{
/* This never gets printed */
printf("stream OK\n");
}
/* end FOO */
The output looks like this:
$ ./ginfo.exe -f ./gzip.info.bz2
COMMAND IS:bunzip2.exe < /usr/local/src/texinfo-4.2/info/./gzip.info.bz2
info: ./gzip.info.bz2: Invalid argument
>From bash, running the command,
$ bunzip2.exe < /usr/local/src/texinfo-4.2/info/./gzip.info.bz2
produces the expected file on STDOUT.
As far as I can tell popen() works in Cygwin (it's listed under
'Other' fuctions in the API Ref), but I have no experience using it.
Anyone know what needs to be done for this to work?
Attached is some strace output...I deleted about 200 lines of ginfo trying
to guess the filename, please let me know if more (or less) is needed.
Thanks.