Releases: SeidenGroup/pfgrep
Releases · SeidenGroup/pfgrep
v0.6
What's Changed
- Add the
-Band-Cflags. - Search member descriptions with the
-dflag; they will be shown as line 0. - pfgrep is partially rewritten in C++, to use the STL and pase-cpp. json-c is no longer needed.
Full Changelog: v0.5.1...v0.6
0.5.1
pfgrep now calls QUSRMBRD for an accurate record count instead of deriving it from the POSIX file size. This may have a minor performance impact, but should fix issues of incorrect matches and possibly conversion issues.
0.5
This is a major pfgrep release, now including:
- pfzip, a tool to make archives out of source libraries/files/physical file members/streamfiles. It converts them to standard UTF-8 text inside of the archive, and preserves text descriptions as file comments
- Other minor tools like pfcat (print PF member/EBCDIC streamfile) and pfstat (print PF info as tab-separated values).
- Man pages are included, you can refer to i.e.
man pfgrepfor command help. - Support for the
-moption to limit matched reeturned. - Support for the
-Aoption to print lines after the lines matched. - Improve iconv handling (reset shift state, use iconv directly)
- Modularize pfgrep code to handle streamfiles and record files the same way.
v0.4
-Eand-Fflags are supported so multiple patterns can be passed.- The behaviour of
-tis now inverted; whitespace is trimmed by default and-twill override this behaviour. - Streamfiles are supported. pfgrep is not a substitute for your regular grep, but streamfiles will be automatically converted from i.e. EBCDIC encodings, like QShell grep.
- Unit tests have been added.
- Fix an issue with inverted matches and empty lines.
- Fix a corrupted free in EBCDIC conversion code.
- Refactor reading code to keep whole converted buffer instead of line at a time. This uses more memory, but will allow for future features (i.e. context lines).
v0.3.2
- Fix another issue with
-t(failed to match at end of line) - Reset iconv state for DBCS encodings
v0.3.1
Fix -t not properly trimming whitespace.
v0.3
- Read the file more efficiently and reduce allocations. Contributes to a 4x speedup.
- PCRE JIT is used when possible. Currently, the version of PCRE2 IBM ships doesn't have JIT enabled, but pfgrep can take advantage of it when they do.
- Only free memory on exit in debug builds.
- Add a
-Vflag to print the version of pfgrep and dependent libraries.
v0.2
- Cache iconv_open and QDBRTVFD values for better performance
- Fix error handling when reading records
- Improve error handling for iconv and getting file information
- Supports reading non-source physical files with
-pflag - Skip empty files and logical files
- Use CCSID 37 for path conversion, fixing passing the incorrect path with files named in non-37 locales
- Fix program return value for successful matches
v0.1
Initial pfgrep release.