I'd like to modify a program, which currently simply loops over its input with fgetws(), to be able to transparently process compressed input-files -- using libarchive.
Unfortunately, I cannot find a libarchive equivalent for the fgetws() -- one can read blocks of data, but how to find strings in them? I loath implementing such a thing myself -- a string could well span multiple input blocks! Worse, an individual wide character (including the wide EOL-character -- L'\n') could span multiple input blocks.
Perhaps, this is implemented already? Any other suggestions?