diff --git a/floatimg.h b/floatimg.h index 08c69c8..fc0fe62 100644 --- a/floatimg.h +++ b/floatimg.h @@ -41,6 +41,7 @@ int fimg_destroy(FloatImg *fimg); int fimg_print_version(int k); void fimg_printhead(FloatImg *h); int fimg_describe(FloatImg *head, char *txt); +char *fimg_str_type(int type); int fimg_fileinfo(char *fname, int *datas); int fimg_plot_rgb (FloatImg *head, int x, int y, float r, float g, float b); int fimg_clear(FloatImg *fimg); diff --git a/lib/fimg-core.c b/lib/fimg-core.c index d437030..8d272ea 100644 --- a/lib/fimg-core.c +++ b/lib/fimg-core.c @@ -24,7 +24,7 @@ switch (type) { return 0; } /* --------------------------------------------------------------------- */ -static char *fimg_str_type(int type) +char *fimg_str_type(int type) { switch (type) { case FIMG_TYPE_GRAY: return "gray"; diff --git a/tools/fimg2pnm.c b/tools/fimg2pnm.c index 017c1d1..9b589e2 100644 --- a/tools/fimg2pnm.c +++ b/tools/fimg2pnm.c @@ -24,8 +24,9 @@ foo = fimg_fileinfos(srcname, infos); if (foo) { fprintf(stderr, "'%s' get dims -> %d\n", srcname, foo); } if (verbosity) { - fprintf(stderr, "image '%s' is %d x %d\n", - srcname, infos[0], infos[1]); + fprintf(stderr, "image '%s' is %d x %d %s\n", + srcname, infos[0], infos[1], + fimg_str_type(infos[2])); } foo = fimg_create_from_dump(srcname, &fimg); @@ -44,22 +45,51 @@ if(foo) { fprintf(stderr, "%p to '%s' -> %d\n", &fimg, dstname, foo); } return 0; } /* --------------------------------------------------------------------- */ +static void help(int flag) +{ +if (flag) { + fprintf(stderr, "conversion FIMG -> PNM 16 bits\n"); + fimg_print_version(1); + } +puts("usage :"); +puts("\tfimg2pnm [flags] infile.fimg outfile.pnm"); +} +/* --------------------------------------------------------------------- */ int main(int argc, char *argv[]) { -int foo; +int foo, opt; -if (3 != argc) { - fimg_print_version(1); - fprintf(stderr, "usage:\n\t%s foo.fimg bar.pnm\n", argv[0]); +if (argc == 1) { + help(0); + exit(0); + } + +while ((opt = getopt(argc, argv, "v")) != -1) { + switch(opt) { + case 'v': verbosity++; break; + case 'h': help(1); exit(1); + } + } + +#if DEBUG_LEVEL +/* mmmm, is it the good way ? */ +printf("argc %d -> %d\n", argc, argc-optind); +for (foo=optind; foo %d\n", foo); return 0; diff --git a/tools/fimgstats.c b/tools/fimgstats.c index 14ab9b5..d530602 100644 --- a/tools/fimgstats.c +++ b/tools/fimgstats.c @@ -75,7 +75,7 @@ if (argc == 1) { foo = fimg_print_version(1); help(0); exit(0); } - while ((opt = getopt(argc, argv, "cv")) != -1) { +while ((opt = getopt(argc, argv, "cv")) != -1) { switch(opt) { case 'c': make_csv++; break; case 'v': verbosity++; break;