The command line interface of
is needlessly picky about the input and output filenames, making it pretty much impossible to use in a pipeline.
On the input side, we have PKCodecFactory_CreateDecoderFromFile() insisting that the filename have one of three extensions, though it doesn't care at all
of those three extensions it is, and it could just as well read the data from a file with any name -- say, "/dev/stdin".
The output side also insists on an extension, but at least here it is actually used to choose the output format.
However, it would be better if it was possible to specify the output format in some other way instead, so it could write to, say, /dev/stdout or (if it's already using stdout for messages) /dev/fd/n
, or even /dev/null.
For extra credit, interpret
as "read from stdin" and and
as "write to stdout" (though obviously don't bother with the latter if there's code in the library that writes messages to stdout instead of stderr). Then it would even be feasible to use it in a pipeline on Windows!
(The dependency on input filenames is especially vexing when trying to run it over a crashes directory from
American Fuzzy Lop