tiffinfo: print usage on stdout when -h is used
also use EXIT_FAILURE / EXIT_SUCCESS see #17
This commit is contained in:
parent
46c8624972
commit
1c614e2686
@ -42,15 +42,22 @@
|
|||||||
|
|
||||||
#include "tiffiop.h"
|
#include "tiffiop.h"
|
||||||
|
|
||||||
|
#ifndef EXIT_SUCCESS
|
||||||
|
#define EXIT_SUCCESS 0
|
||||||
|
#endif
|
||||||
|
#ifndef EXIT_FAILURE
|
||||||
|
#define EXIT_FAILURE 1
|
||||||
|
#endif
|
||||||
|
|
||||||
static TIFFErrorHandler old_error_handler = 0;
|
static TIFFErrorHandler old_error_handler = 0;
|
||||||
static int status = 0; /* exit status */
|
static int status = EXIT_SUCCESS; /* exit status */
|
||||||
static int showdata = 0; /* show data */
|
static int showdata = 0; /* show data */
|
||||||
static int rawdata = 0; /* show raw/decoded data */
|
static int rawdata = 0; /* show raw/decoded data */
|
||||||
static int showwords = 0; /* show data as bytes/words */
|
static int showwords = 0; /* show data as bytes/words */
|
||||||
static int readdata = 0; /* read data in file */
|
static int readdata = 0; /* read data in file */
|
||||||
static int stoponerr = 1; /* stop on first read error */
|
static int stoponerr = 1; /* stop on first read error */
|
||||||
|
|
||||||
static void usage(void);
|
static void usage(int);
|
||||||
static void tiffinfo(TIFF*, uint16, long, int);
|
static void tiffinfo(TIFF*, uint16, long, int);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -58,7 +65,7 @@ PrivateErrorHandler(const char* module, const char* fmt, va_list ap)
|
|||||||
{
|
{
|
||||||
if (old_error_handler)
|
if (old_error_handler)
|
||||||
(*old_error_handler)(module,fmt,ap);
|
(*old_error_handler)(module,fmt,ap);
|
||||||
status = 1;
|
status = EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
@ -75,7 +82,7 @@ main(int argc, char* argv[])
|
|||||||
uint64 diroff = 0;
|
uint64 diroff = 0;
|
||||||
int chopstrips = 0; /* disable strip chopping */
|
int chopstrips = 0; /* disable strip chopping */
|
||||||
|
|
||||||
while ((c = getopt(argc, argv, "f:o:cdDSjilmrsvwz0123456789")) != -1)
|
while ((c = getopt(argc, argv, "f:o:cdDSjilmrsvwz0123456789h")) != -1)
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case '0': case '1': case '2': case '3':
|
case '0': case '1': case '2': case '3':
|
||||||
case '4': case '5': case '6': case '7':
|
case '4': case '5': case '6': case '7':
|
||||||
@ -97,7 +104,7 @@ main(int argc, char* argv[])
|
|||||||
else if (streq(optarg, "msb2lsb"))
|
else if (streq(optarg, "msb2lsb"))
|
||||||
order = FILLORDER_MSB2LSB;
|
order = FILLORDER_MSB2LSB;
|
||||||
else
|
else
|
||||||
usage();
|
usage(EXIT_FAILURE);
|
||||||
break;
|
break;
|
||||||
case 'i':
|
case 'i':
|
||||||
stoponerr = 0;
|
stoponerr = 0;
|
||||||
@ -122,12 +129,15 @@ main(int argc, char* argv[])
|
|||||||
case 'z':
|
case 'z':
|
||||||
chopstrips = 1;
|
chopstrips = 1;
|
||||||
break;
|
break;
|
||||||
|
case 'h':
|
||||||
|
usage(EXIT_SUCCESS);
|
||||||
|
/*NOTREACHED*/
|
||||||
case '?':
|
case '?':
|
||||||
usage();
|
usage(EXIT_FAILURE);
|
||||||
/*NOTREACHED*/
|
/*NOTREACHED*/
|
||||||
}
|
}
|
||||||
if (optind >= argc)
|
if (optind >= argc)
|
||||||
usage();
|
usage(EXIT_FAILURE);
|
||||||
|
|
||||||
old_error_handler = TIFFSetErrorHandler(PrivateErrorHandler);
|
old_error_handler = TIFFSetErrorHandler(PrivateErrorHandler);
|
||||||
|
|
||||||
@ -162,7 +172,7 @@ main(int argc, char* argv[])
|
|||||||
return (status);
|
return (status);
|
||||||
}
|
}
|
||||||
|
|
||||||
char* stuff[] = {
|
static const char* stuff[] = {
|
||||||
"usage: tiffinfo [options] input...",
|
"usage: tiffinfo [options] input...",
|
||||||
"where options are:",
|
"where options are:",
|
||||||
" -D read data",
|
" -D read data",
|
||||||
@ -182,16 +192,15 @@ NULL
|
|||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
usage(void)
|
usage(int code)
|
||||||
{
|
{
|
||||||
char buf[BUFSIZ];
|
|
||||||
int i;
|
int i;
|
||||||
|
FILE * out = (code == EXIT_SUCCESS) ? stdout : stderr;
|
||||||
|
|
||||||
setbuf(stderr, buf);
|
fprintf(out, "%s\n\n", TIFFGetVersion());
|
||||||
fprintf(stderr, "%s\n\n", TIFFGetVersion());
|
|
||||||
for (i = 0; stuff[i] != NULL; i++)
|
for (i = 0; stuff[i] != NULL; i++)
|
||||||
fprintf(stderr, "%s\n", stuff[i]);
|
fprintf(out, "%s\n", stuff[i]);
|
||||||
exit(-1);
|
exit(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user