50
50
#endif
51
51
52
52
int bytes_before = 0 , bytes_after = 0 ;
53
+ char * * original_argv ;
53
54
54
55
void die (const char * msg , ...);
55
56
@@ -251,12 +252,12 @@ void die(const char* msg, ...)
251
252
exit (1 );
252
253
}
253
254
254
- void usage (char * * argv )
255
+ void usage ()
255
256
{
256
257
fprintf (stderr , "bgrep version: %s\n" , BGREP_VERSION );
257
258
fprintf (stderr , "usage:\n" );
258
- fprintf (stderr , " %s [-r] [-B bytes] [-A bytes] [-C bytes] <hex> [<path> [...]]\n" , * argv );
259
- fprintf (stderr , " %s [-r] -f <pattern> [-m <mask>] [<path> [...]]\n" , * argv );
259
+ fprintf (stderr , " %s [-r] [-B bytes] [-A bytes] [-C bytes] <hex> [<path> [...]]\n" , * original_argv );
260
+ fprintf (stderr , " %s [-r] -f <pattern> [-m <mask>] [<path> [...]]\n" , * original_argv );
260
261
exit (1 );
261
262
}
262
263
@@ -288,7 +289,7 @@ void parse_opts(int argc, char** argv, Options* options)
288
289
options -> recurse = true;
289
290
break ;
290
291
default :
291
- usage (argv );
292
+ usage ();
292
293
}
293
294
}
294
295
@@ -304,11 +305,7 @@ int main(int argc, char **argv)
304
305
unsigned char * value , * mask ;
305
306
int len = 0 ;
306
307
307
- if (argc < 2 )
308
- {
309
- usage (argv );
310
- return 1 ;
311
- }
308
+ original_argv = argv ;
312
309
313
310
parse_opts (argc , argv , & options );
314
311
argv += optind ; /* advance the pointer to the first non-opt arg */
@@ -384,8 +381,10 @@ int main(int argc, char **argv)
384
381
for (int i = 0 ; i < len ; i ++ )
385
382
value [i ] &= mask [i ];
386
383
}
387
- }
388
- else
384
+ } else if (argc == 0 ) {
385
+ // a pattern is required.
386
+ usage ();
387
+ } else
389
388
{
390
389
char * h = * argv ++ ;
391
390
argc -- ;
0 commit comments