Skip to content

v0.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 08 Oct 00:09
· 53 commits to main since this release

Added

  • -o as shorthand for -t o, matching GNU strings. (#51)
  • -e L and -e B for 32-bit little- and big-endian characters, matching GNU
    strings. (#52)
  • -d/--data to scan only the data sections of a thin Mach-O file, and
    -a/--all to scan the whole file (still the default), matching GNU
    strings. (#54)
  • -d also scans the data sections of ELF files, 32- and 64-bit in either byte
    order. (#57)

Changed

  • Scanning with -e s and -e S is roughly 1.75x and 2x faster. (#50)
  • Input files are memory-mapped and scanned one at a time, so memory use no longer grows with file size or file count. (#53)
  • Filenames are printed only with -f, matching GNU strings. Output for multiple files without -f no longer includes filenames; add -f to get the old output. With -f, stdin is now labelled {standard input}, as in GNU, rather than <stdin>. (#63)

Fixed

  • Exits 1 quietly, rather than printing "Exception ignored" and exiting 120, when the output pipe closes before buffered output is flushed. (#58)
  • Tab no longer ends a string, and -w now also includes vertical tab and form feed, matching GNU strings. This changes default output for any string containing a tab. (#59)
  • -e S writes bytes 0x80-0xFF as the raw bytes found, as GNU strings does, rather than UTF-8-encoding them. (#61)
  • -e l, -e b, -e L and -e B find strings at any byte offset, not only at multiples of the character width, matching GNU strings; they also scan 3-7x faster. (#65)