1
0
Fork 0

Merging upstream version 1.5.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-24 05:53:15 +01:00
parent 3a44ca3665
commit 060bb99151
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
30 changed files with 328 additions and 279 deletions

View file

@ -1,5 +1,5 @@
/* Zgrep - search compressed files for a regular expression
Copyright (C) 2010-2015 Antonio Diaz Diaz.
Copyright (C) 2010-2016 Antonio Diaz Diaz.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -52,10 +52,11 @@ void show_help()
"file is compressed, its decompressed content is used. If a given file\n"
"does not exist, and its name does not end with one of the known\n"
"extensions, zgrep tries the compressed file names corresponding to the\n"
"supported formats. If no files are specified, data is read from\n"
"standard input, decompressed if needed, and fed to grep. Data read from\n"
"standard input must be of the same type; all uncompressed or all\n"
"in the same compression format.\n"
"supported formats.\n"
"\nIf no files are specified, or if a file is specified as '-', data is\n"
"read from standard input, decompressed if needed, and fed to grep. Data\n"
"read from standard input must be of the same type; all uncompressed or\n"
"all in the same compression format.\n"
"\nThe supported formats are bzip2, gzip, lzip and xz.\n"
"\nUsage: zgrep [options] <pattern> [files]\n"
"\nExit status is 0 if match, 1 if no match, 2 if trouble.\n"
@ -337,16 +338,21 @@ int main( const int argc, const char * const argv[] )
for( ; argind < parser.arguments(); ++argind )
filenames.push_back( parser.argument( argind ) );
if( filenames.empty() ) filenames.push_back("-");
if( filenames.empty() ) filenames.push_back( "-" );
if( show_name < 0 ) show_name = ( filenames.size() != 1 || recursive );
int retval = 1;
bool error = false;
bool stdin_used = false;
while( next_filename( filenames, input_filename, error, recursive,
false, no_messages ) )
{
if( input_filename.empty() ) infd = STDIN_FILENO;
if( input_filename.empty() )
{
if( stdin_used ) continue; else stdin_used = true;
infd = STDIN_FILENO;
}
else
{
infd = open_instream( input_filename, format_index < 0, no_messages );