Thread: [brlcad-commits] SF.net SVN: brlcad:[49470] brlcad/trunk/src/util (Page 2)
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <br...@us...> - 2012-02-17 05:45:23
|
Revision: 49470 http://brlcad.svn.sourceforge.net/brlcad/?rev=49470&view=rev Author: brlcad Date: 2012-02-17 05:45:16 +0000 (Fri, 17 Feb 2012) Log Message: ----------- bunch of bounds checks related to coverity TAINTED_SCALAR detections. cid 1503, 1504, 1505, 1510 Modified Paths: -------------- brlcad/trunk/src/util/gencolor.c brlcad/trunk/src/util/hex.c brlcad/trunk/src/util/imgdims.c brlcad/trunk/src/util/pixhist3d-pl.c Modified: brlcad/trunk/src/util/gencolor.c =================================================================== --- brlcad/trunk/src/util/gencolor.c 2012-02-17 05:42:26 UTC (rev 49469) +++ brlcad/trunk/src/util/gencolor.c 2012-02-17 05:45:16 UTC (rev 49470) @@ -48,7 +48,7 @@ main(int argc, char **argv) { int i, len, times; - long count; + int32_t count; unsigned char *bp; if (argc < 1 || isatty(fileno(stdout))) { @@ -58,6 +58,8 @@ count = -1; if (argc > 1 && bu_strncmp(argv[1], "-r", 2) == 0) { count = atoi(&argv[1][2]); + if (count > INT32_MAX) + count = INT32_MAX; argv++; argc--; } Modified: brlcad/trunk/src/util/hex.c =================================================================== --- brlcad/trunk/src/util/hex.c 2012-02-17 05:42:26 UTC (rev 49469) +++ brlcad/trunk/src/util/hex.c 2012-02-17 05:45:16 UTC (rev 49470) @@ -93,8 +93,15 @@ /* produce the ASCII dump */ printf(" |"); for (i=0, p=buf; i < bytes; ++i, ++p) { - if (isascii(*p) && isprint(*p)) putchar(*p); - else putchar('.'); + int c = *p; + if (c < 0) + c = 0; + if (c > 255) + c = 255; + if (isascii(c) && isprint(c)) + putchar(c); + else + putchar('.'); } printf("|\n"); addr += DUMPLEN; Modified: brlcad/trunk/src/util/imgdims.c =================================================================== --- brlcad/trunk/src/util/imgdims.c 2012-02-17 05:42:26 UTC (rev 49469) +++ brlcad/trunk/src/util/imgdims.c 2012-02-17 05:45:16 UTC (rev 49470) @@ -132,6 +132,9 @@ } argument = argv[bu_optind]; + if (!bu_file_exists(argument, "")) + bu_exit(1, "image file [%s] does not exist\n", argument); + if ((stat(argument, &stat_buf) != 0) && (!grab_number(argument, &nm_bytes))) { Modified: brlcad/trunk/src/util/pixhist3d-pl.c =================================================================== --- brlcad/trunk/src/util/pixhist3d-pl.c 2012-02-17 05:42:26 UTC (rev 49469) +++ brlcad/trunk/src/util/pixhist3d-pl.c 2012-02-17 05:45:16 UTC (rev 49470) @@ -79,12 +79,36 @@ pl_color(stdout, 255, 255, 255); while ((n = fread(&scan[0], sizeof(*scan), 512, fp)) > 0) { + int ridx, bidx, gidx; + + if (n > 512) + n = 512; + for (x = 0; x < n; x++) { - bmask = 1 << ((scan[x].blue >> 1) & 7); - if ((bin[ scan[x].red>>1 ][ scan[x].green>>1 ][ scan[x].blue>>4 ] & bmask) == 0) { + ridx = scan[x].red; + if (ridx < 0) + ridx = 0; + if (ridx > 255) + ridx = 255; + + gidx = scan[x].green; + if (gidx < 0) + gidx = 0; + if (gidx > 255) + gidx = 255; + + bidx = scan[x].blue; + if (bidx < 0) + bidx = 0; + if (bidx > 255) + bidx = 255; + + bmask = 1 << ((bidx >> 1) & 7); + + if ((bin[ ridx>>1 ][ gidx>>1 ][ bidx>>4 ] & bmask) == 0) { /* New color: plot it and mark it */ - pl_3point(stdout, scan[x].red>>1, scan[x].green>>1, scan[x].blue>>1); - bin[ scan[x].red>>1 ][ scan[x].green>>1 ][ scan[x].blue>>4 ] |= bmask; + pl_3point(stdout, ridx>>1, gidx>>1, bidx>>1); + bin[ ridx>>1 ][ gidx>>1 ][ bidx>>4 ] |= bmask; } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2012-08-22 02:52:15
|
Revision: 52142 http://brlcad.svn.sourceforge.net/brlcad/?rev=52142&view=rev Author: brlcad Date: 2012-08-22 02:52:08 +0000 (Wed, 22 Aug 2012) Log Message: ----------- apply a modified/fixed version of sf patch 3533010 (Refactoring in util) from Ksenija Slivko ( ksuzee ). her patch introduced a couple bugs due to pointer mistakes, which is fixed in this version with the outfp and background variables converted to pointers too. Modified Paths: -------------- brlcad/trunk/src/util/CMakeLists.txt brlcad/trunk/src/util/Makefile.am brlcad/trunk/src/util/bw-rle.c brlcad/trunk/src/util/pix-rle.c Added Paths: ----------- brlcad/trunk/src/util/rle_args.c brlcad/trunk/src/util/rle_args.h Modified: brlcad/trunk/src/util/CMakeLists.txt =================================================================== --- brlcad/trunk/src/util/CMakeLists.txt 2012-08-21 19:37:53 UTC (rev 52141) +++ brlcad/trunk/src/util/CMakeLists.txt 2012-08-22 02:52:08 UTC (rev 52142) @@ -55,7 +55,7 @@ BRLCAD_ADDEXEC(bw-pix bw-pix.c libbu) BRLCAD_ADDEXEC(bw-png bw-png.c "libfb;libbu;${PNG_LIBRARY}") BRLCAD_ADDEXEC(bw-ps bw-ps.c libbu) -BRLCAD_ADDEXEC(bw-rle bw-rle.c "libbu;libsysv;${UTAHRLE_LIBRARY}") +BRLCAD_ADDEXEC(bw-rle "bw-rle.c;rle_args.c" "libbu;libsysv;${UTAHRLE_LIBRARY}") BRLCAD_ADDEXEC(bw3-pix bw3-pix.c libbu) BRLCAD_ADDEXEC(bwcrop bwcrop.c libbu) BRLCAD_ADDEXEC(bwdiff bwdiff.c libbu) @@ -100,7 +100,7 @@ BRLCAD_ADDEXEC(pix-png pix-png.c "libfb;libbu;${PNG_LIBRARY}") BRLCAD_ADDEXEC(pix-ppm pix-ppm.c "libfb;libbu") BRLCAD_ADDEXEC(pix-ps pix-ps.c libbu) -BRLCAD_ADDEXEC(pix-rle pix-rle.c "libbu;libsysv;${UTAHRLE_LIBRARY}") +BRLCAD_ADDEXEC(pix-rle "pix-rle.c;rle_args.c" "libbu;libsysv;${UTAHRLE_LIBRARY}") BRLCAD_ADDEXEC(pix-spm pix-spm.c libbn) BRLCAD_ADDEXEC(pix-sun pix-sun.c libbu) BRLCAD_ADDEXEC(pix-yuv pix-yuv.c "libfb;libbn;libbu") @@ -272,7 +272,7 @@ wavelet.1 ) ADD_MAN_PAGES(1 util_MANS) -CMAKEFILES(bombardier.h morphedit.tcl pldebug.c) +CMAKEFILES(bombardier.h rle_args.h morphedit.tcl pldebug.c) CMAKEFILES(Makefile.am) # Local Variables: Modified: brlcad/trunk/src/util/Makefile.am =================================================================== --- brlcad/trunk/src/util/Makefile.am 2012-08-21 19:37:53 UTC (rev 52141) +++ brlcad/trunk/src/util/Makefile.am 2012-08-22 02:52:08 UTC (rev 52142) @@ -209,7 +209,7 @@ bw_ps_SOURCES = bw-ps.c # per-program CPPFLAGS wasn't added until automake 1.7 -bw_rle_SOURCES = bw-rle.c +bw_rle_SOURCES = bw-rle.c rle_args.c rle_args.h bw_rle_LDADD = ${RLE} ${BU} ${SYSV} bw_rle_CFLAGS = ${RLE_CPPFLAGS} @@ -235,7 +235,7 @@ bwrect_LDADD = ${BU} bwrot_SOURCES = bwrot.c -bwrot_LDADD = ${BU} +bwrot_LDADD = ${BU} bwscale_SOURCES = bwscale.c bwscale_LDADD = ${BU} @@ -327,7 +327,7 @@ pix_ps_LDADD = ${BU} # per-program CPPFLAGS wasn't added until automake 1.7 -pix_rle_SOURCES = pix-rle.c +pix_rle_SOURCES = pix-rle.c rle_args.c rle_args.h pix_rle_LDADD = ${RLE} ${BU} ${SYSV} pix_rle_CFLAGS = ${RLE_CPPFLAGS} Modified: brlcad/trunk/src/util/bw-rle.c =================================================================== --- brlcad/trunk/src/util/bw-rle.c 2012-08-21 19:37:53 UTC (rev 52141) +++ brlcad/trunk/src/util/bw-rle.c 2012-08-22 02:52:08 UTC (rev 52142) @@ -26,8 +26,8 @@ #include "common.h" #include <stdlib.h> -#include <string.h> #include <time.h> +#include <string.h> #include "bio.h" #include "bu.h" @@ -39,8 +39,10 @@ */ #include "rle.h" +#include "./rle_args.h" + static rle_hdr outrle; -#define outfp outrle.rle_file + static char comment[128]; #if HAVE_GETHOSTNAME static char host[128]; @@ -49,10 +51,10 @@ static time_t now; static char *who; -static FILE *infp; -static char *infile; +static FILE *infp = NULL; +static char *infile = NULL; -static int background[3]; +static int background[3] = {0, 0, 0}; static size_t file_width = 512; static size_t file_height = 512; @@ -64,80 +66,7 @@ If omitted, the .pix file is taken from stdin\n\ and the .rle file is written to stdout\n"; - /* - * G E T _ A R G S - */ -static int -get_args(int argc, char **argv) -{ - int c; - - while ((c = bu_getopt(argc, argv, "hs:w:n:C:")) != -1) { - switch (c) { - case 'h': - /* high-res */ - file_height = file_width = 1024; - break; - case 's': - /* square file size */ - file_height = file_width = atoi(bu_optarg); - break; - case 'w': - file_width = atoi(bu_optarg); - break; - case 'n': - file_height = atoi(bu_optarg); - break; - case 'C': - { - char *cp = bu_optarg; - int *conp = background; - - /* premature null => atoi gives zeros */ - for (c=0; c < 3; c++) { - *conp++ = atoi(cp); - while (*cp && *cp++ != '/') - ; - } - } - break; - default: - case '?': - return 0; - } - } - if (argv[bu_optind] != NULL) { - if ((infp = fopen((infile=argv[bu_optind]), "r")) == NULL) { - perror(infile); - return 0; - } - bu_optind++; - } else { - infile = "-"; - } - if (argv[bu_optind] != NULL) { - if (bu_file_exists(argv[bu_optind], NULL)) { - (void) fprintf(stderr, - "\"%s\" already exists.\n", - argv[bu_optind]); - bu_exit(1, NULL); - } - if ((outfp = fopen(argv[bu_optind], "w")) == NULL) { - perror(argv[bu_optind]); - return 0; - } - } - if (argc > ++bu_optind) - (void) fprintf(stderr, "pix-rle: Excess arguments ignored\n"); - - if (isatty(fileno(infp)) || isatty(fileno(outfp))) - return 0; - return 1; -} - - -/* * M A I N */ int @@ -147,8 +76,8 @@ size_t y; infp = stdin; - outfp = stdout; - if (!get_args(argc, argv)) { + outrle.rle_file = stdout; + if (!get_args(argc, argv, &outrle, &infp, &infile, (int **)&background, &file_width, &file_height)) { (void)fputs(usage, stderr); bu_exit (1, NULL); } @@ -215,7 +144,7 @@ rle_puteof(&outrle); fclose(infp); - fclose(outfp); + fclose(outrle.rle_file); return 0; } Modified: brlcad/trunk/src/util/pix-rle.c =================================================================== --- brlcad/trunk/src/util/pix-rle.c 2012-08-21 19:37:53 UTC (rev 52141) +++ brlcad/trunk/src/util/pix-rle.c 2012-08-22 02:52:08 UTC (rev 52142) @@ -39,9 +39,10 @@ */ #include "rle.h" +#include "./rle_args.h" static rle_hdr outrle; -#define outfp outrle.rle_file + static char comment[128]; #if HAVE_GETHOSTNAME static char host[128]; @@ -50,10 +51,10 @@ static time_t now; static char *who; -static FILE *infp; -static char *infile; +static FILE *infp = NULL; +static char *infile = NULL; -static int background[3]; +static int background[3] = {0, 0, 0}; static size_t file_width = 512; static size_t file_height = 512; @@ -65,80 +66,7 @@ If omitted, the .pix file is taken from stdin\n\ and the .rle file is written to stdout\n"; - /* - * G E T _ A R G S - */ -static int -get_args(int argc, char **argv) -{ - int c; - - while ((c = bu_getopt(argc, argv, "hs:w:n:C:")) != -1) { - switch (c) { - case 'h': - /* high-res */ - file_height = file_width = 1024; - break; - case 's': - /* square file size */ - file_height = file_width = atoi(bu_optarg); - break; - case 'w': - file_width = atoi(bu_optarg); - break; - case 'n': - file_height = atoi(bu_optarg); - break; - case 'C': - { - char *cp = bu_optarg; - int *conp = background; - - /* premature null => atoi gives zeros */ - for (c=0; c < 3; c++) { - *conp++ = atoi(cp); - while (*cp && *cp++ != '/') - ; - } - } - break; - default: - case '?': - return 0; - } - } - if (argv[bu_optind] != NULL) { - if ((infp = fopen((infile=argv[bu_optind]), "r")) == NULL) { - perror(infile); - return 0; - } - bu_optind++; - } else { - infile = "-"; - } - if (argv[bu_optind] != NULL) { - if (bu_file_exists(argv[bu_optind], NULL)) { - (void) fprintf(stderr, - "\"%s\" already exists.\n", - argv[bu_optind]); - bu_exit (1, NULL); - } - if ((outfp = fopen(argv[bu_optind], "w")) == NULL) { - perror(argv[bu_optind]); - return 0; - } - } - if (argc > ++bu_optind) - (void) fprintf(stderr, "pix-rle: Excess arguments ignored\n"); - - if (isatty(fileno(infp)) || isatty(fileno(outfp))) - return 0; - return 1; -} - - -/* * M A I N */ int @@ -148,8 +76,8 @@ size_t y; infp = stdin; - outfp = stdout; - if (!get_args(argc, argv)) { + outrle.rle_file = stdout; + if (!get_args(argc, argv, &outrle, &infp, &infile, (int **)&background, &file_width, &file_height)) { (void)fputs(usage, stderr); bu_exit (1, NULL); } @@ -221,7 +149,7 @@ rle_puteof(&outrle); fclose(infp); - fclose(outfp); + fclose(outrle.rle_file); return 0; } Added: brlcad/trunk/src/util/rle_args.c =================================================================== --- brlcad/trunk/src/util/rle_args.c (rev 0) +++ brlcad/trunk/src/util/rle_args.c 2012-08-22 02:52:08 UTC (rev 52142) @@ -0,0 +1,108 @@ +/* R L E _ A R G S . C + * BRL-CAD + * + * Copyright (c) 1986-2012 United States Government as represented by + * the U.S. Army Research Laboratory. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this file; see the file named COPYING for more + * information. + */ +/** @file util/rle_args.c + */ + +#include "./rle_args.h" + +#include "bu.h" +#include "bio.h" +/* + * G E T _ A R G S + */ +int +get_args(int argc, char **argv, rle_hdr *outrle, FILE** infp, char** infile, int **background, size_t* file_width, size_t* file_height) +{ + int c; + (void)file_height; + + while ((c = bu_getopt(argc, argv, "hs:w:n:C:")) != -1) { + switch (c) { + case 'h': + /* high-res */ + *file_height = *file_width = 1024; + break; + case 's': + /* square file size */ + *file_height = *file_width = atoi(bu_optarg); + break; + case 'w': + *file_width = atoi(bu_optarg); + break; + case 'n': + *file_height = atoi(bu_optarg); + break; + case 'C': + { + char *cp = bu_optarg; + int *conp = *background; + + /* premature null => atoi gives zeros */ + for (c=0; c < 3; c++) { + *conp++ = atoi(cp); + while (*cp && *cp++ != '/') + ; + } + } + break; + default: + case '?': + return 0; + } + } + if (argv[bu_optind] != NULL) { + if ((*infp = fopen((*infile=argv[bu_optind]), "r")) == NULL) { + perror(*infile); + return 0; + } + bu_optind++; + } else { + *infile = "-"; + } + if (argv[bu_optind] != NULL) { + if (bu_file_exists(argv[bu_optind], NULL)) { + (void) fprintf(stderr, + "\"%s\" already exists.\n", + argv[bu_optind]); + bu_exit(1, NULL); + } + if ((outfp = fopen(argv[bu_optind], "w")) == NULL) { + perror(argv[bu_optind]); + return 0; + } + } + if (argc > ++bu_optind) + (void) fprintf(stderr, "pix-rle: Excess arguments ignored\n"); + + if (isatty(fileno(*infp)) || isatty(fileno(outfp))) + return 0; + return 1; +} + + +/* + * Local Variables: + * mode: C + * tab-width: 8 + * indent-tabs-mode: t + * c-file-style: "stroustrup" + * End: + * ex: shiftwidth=4 tabstop=8 + */ Property changes on: brlcad/trunk/src/util/rle_args.c ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: brlcad/trunk/src/util/rle_args.h =================================================================== --- brlcad/trunk/src/util/rle_args.h (rev 0) +++ brlcad/trunk/src/util/rle_args.h 2012-08-22 02:52:08 UTC (rev 52142) @@ -0,0 +1,40 @@ +/* R L E _ A R G S . H + * BRL-CAD + * + * Copyright (c) 1986-2012 United States Government as represented by + * the U.S. Army Research Laboratory. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this file; see the file named COPYING for more + * information. + */ +/** @file util/rle_args.h + */ + +#include <stdlib.h> + +#include "rle.h" +#define outfp outrle->rle_file + +int +get_args(int argc, char **argv, rle_hdr *outrle, FILE** infp, char** infile, int **background, size_t* file_width, size_t* file_height); + +/* + * Local Variables: + * mode: C + * tab-width: 8 + * indent-tabs-mode: t + * c-file-style: "stroustrup" + * End: + * ex: shiftwidth=4 tabstop=8 + */ + Property changes on: brlcad/trunk/src/util/rle_args.h ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2012-08-22 02:58:51
|
Revision: 52143 http://brlcad.svn.sourceforge.net/brlcad/?rev=52143&view=rev Author: brlcad Date: 2012-08-22 02:58:43 +0000 (Wed, 22 Aug 2012) Log Message: ----------- cleanup. common.h always before system headers, eliminate outfp define, declare function extern, and eliminate curious (void)file_height Modified Paths: -------------- brlcad/trunk/src/util/rle_args.c brlcad/trunk/src/util/rle_args.h Modified: brlcad/trunk/src/util/rle_args.c =================================================================== --- brlcad/trunk/src/util/rle_args.c 2012-08-22 02:52:08 UTC (rev 52142) +++ brlcad/trunk/src/util/rle_args.c 2012-08-22 02:58:43 UTC (rev 52143) @@ -17,21 +17,17 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file util/rle_args.c - */ #include "./rle_args.h" #include "bu.h" #include "bio.h" -/* - * G E T _ A R G S - */ + + int get_args(int argc, char **argv, rle_hdr *outrle, FILE** infp, char** infile, int **background, size_t* file_width, size_t* file_height) { int c; - (void)file_height; while ((c = bu_getopt(argc, argv, "hs:w:n:C:")) != -1) { switch (c) { @@ -83,7 +79,7 @@ argv[bu_optind]); bu_exit(1, NULL); } - if ((outfp = fopen(argv[bu_optind], "w")) == NULL) { + if ((outrle->rle_file = fopen(argv[bu_optind], "w")) == NULL) { perror(argv[bu_optind]); return 0; } @@ -91,7 +87,7 @@ if (argc > ++bu_optind) (void) fprintf(stderr, "pix-rle: Excess arguments ignored\n"); - if (isatty(fileno(*infp)) || isatty(fileno(outfp))) + if (isatty(fileno(*infp)) || isatty(fileno(outrle->rle_file))) return 0; return 1; } Modified: brlcad/trunk/src/util/rle_args.h =================================================================== --- brlcad/trunk/src/util/rle_args.h 2012-08-22 02:52:08 UTC (rev 52142) +++ brlcad/trunk/src/util/rle_args.h 2012-08-22 02:58:43 UTC (rev 52143) @@ -17,15 +17,15 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file util/rle_args.h - */ +#include "common.h" + #include <stdlib.h> #include "rle.h" -#define outfp outrle->rle_file -int + +extern int get_args(int argc, char **argv, rle_hdr *outrle, FILE** infp, char** infile, int **background, size_t* file_width, size_t* file_height); /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2013-03-18 17:11:17
|
Revision: 54717 http://brlcad.svn.sourceforge.net/brlcad/?rev=54717&view=rev Author: carlmoore Date: 2013-03-18 17:11:05 +0000 (Mon, 18 Mar 2013) Log Message: ----------- provide indentation (and, for bwshrink, change 2 occurrences of 'pix' to 'bw' Modified Paths: -------------- brlcad/trunk/src/util/bwshrink.c brlcad/trunk/src/util/pixshrink.c Modified: brlcad/trunk/src/util/bwshrink.c =================================================================== --- brlcad/trunk/src/util/bwshrink.c 2013-03-18 17:10:14 UTC (rev 54716) +++ brlcad/trunk/src/util/bwshrink.c 2013-03-18 17:11:05 UTC (rev 54717) @@ -105,8 +105,8 @@ void usage(void) { (void) fprintf(stderr, - "Usage: %s [-u] [-h] [-w width] [-n scanlines] [-s squaresize]\n\ -[-f shrink_factor] [pixfile] > pixfile\n", progname); +"Usage: %s [-u] [-h] [-w width] [-n scanlines] [-s squaresize]\n\ + [-f shrink_factor] [bwfile] > bwfile\n", progname); bu_exit (1, NULL); } Modified: brlcad/trunk/src/util/pixshrink.c =================================================================== --- brlcad/trunk/src/util/pixshrink.c 2013-03-18 17:10:14 UTC (rev 54716) +++ brlcad/trunk/src/util/pixshrink.c 2013-03-18 17:11:05 UTC (rev 54717) @@ -173,8 +173,8 @@ void usage(void) { (void) fprintf(stderr, - "Usage: %s [-u] [-h] [-w width] [-n scanlines] [-s squaresize]\n\ -[-f shrink_factor] [pixfile] > pixfile\n", progname); +"Usage: %s [-u] [-h] [-w width] [-n scanlines] [-s squaresize]\n\ + [-f shrink_factor] [pixfile] > pixfile\n", progname); bu_exit (1, NULL); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2013-05-15 20:45:50
|
Revision: 55458 http://sourceforge.net/p/brlcad/code/55458 Author: brlcad Date: 2013-05-15 20:45:46 +0000 (Wed, 15 May 2013) Log Message: ----------- ws indent cleanup Modified Paths: -------------- brlcad/trunk/src/util/ap-pix.c brlcad/trunk/src/util/asc-pl.c brlcad/trunk/src/util/azel.c brlcad/trunk/src/util/bary.c brlcad/trunk/src/util/bw-imp.c brlcad/trunk/src/util/bw-pix.c brlcad/trunk/src/util/bw-png.c brlcad/trunk/src/util/bw-ps.c brlcad/trunk/src/util/bwdiff.c brlcad/trunk/src/util/bwfilter.c brlcad/trunk/src/util/bwmod.c brlcad/trunk/src/util/bwscale.c brlcad/trunk/src/util/bwshrink.c brlcad/trunk/src/util/decimate.c brlcad/trunk/src/util/double-asc.c brlcad/trunk/src/util/dpix-pix.c brlcad/trunk/src/util/dunncomm.c brlcad/trunk/src/util/dunnsnap.c brlcad/trunk/src/util/imgdims.c brlcad/trunk/src/util/loop.c brlcad/trunk/src/util/lowp.c brlcad/trunk/src/util/mac-pix.c brlcad/trunk/src/util/orle-pix.c brlcad/trunk/src/util/pix-bw.c brlcad/trunk/src/util/pix-png.c brlcad/trunk/src/util/pix-ps.c brlcad/trunk/src/util/pix-sun.c brlcad/trunk/src/util/pix-yuv.c brlcad/trunk/src/util/pix3filter.c brlcad/trunk/src/util/pixbgstrip.c brlcad/trunk/src/util/pixblend.c brlcad/trunk/src/util/pixborder.c brlcad/trunk/src/util/pixbustup.c brlcad/trunk/src/util/pixcolors.c brlcad/trunk/src/util/pixcut.c brlcad/trunk/src/util/pixdsplit.c brlcad/trunk/src/util/pixembed.c brlcad/trunk/src/util/pixfade.c brlcad/trunk/src/util/pixfields.c brlcad/trunk/src/util/pixfilter.c brlcad/trunk/src/util/pixhalve.c brlcad/trunk/src/util/pixhist3d.c brlcad/trunk/src/util/pixmerge.c brlcad/trunk/src/util/pixmorph.c brlcad/trunk/src/util/pixpaste.c brlcad/trunk/src/util/pixshrink.c brlcad/trunk/src/util/pixtile.c brlcad/trunk/src/util/pixuntile.c brlcad/trunk/src/util/pl-X.c brlcad/trunk/src/util/pl-ps.c brlcad/trunk/src/util/png-bw.c brlcad/trunk/src/util/png-pix.c brlcad/trunk/src/util/rle-pix.c brlcad/trunk/src/util/sun-pix.c brlcad/trunk/src/util/texturescale.c brlcad/trunk/src/util/ttcp.c brlcad/trunk/src/util/yuv-pix.c Modified: brlcad/trunk/src/util/ap-pix.c =================================================================== --- brlcad/trunk/src/util/ap-pix.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/ap-pix.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -33,7 +33,7 @@ static void -usage(const char *argv0){ +usage(const char *argv0) { bu_exit(1, "Usage: %s [-v] file.ap > file.pix (3456 x ?)\n", argv0); } @@ -60,10 +60,10 @@ const char *argv0 = argv[0]; int verbose = 0; - if (argc > 1 ){ - if ( BU_STR_EQUAL(argv[1], "-h") || BU_STR_EQUAL(argv[1], "-?") ) + if (argc > 1) { + if (BU_STR_EQUAL(argv[1], "-h") || BU_STR_EQUAL(argv[1], "-?")) usage(argv0); - if ( BU_STR_EQUAL(argv[1], "-v") ) { + if (BU_STR_EQUAL(argv[1], "-v")) { verbose++; argc--; argv++; Modified: brlcad/trunk/src/util/asc-pl.c =================================================================== --- brlcad/trunk/src/util/asc-pl.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/asc-pl.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -72,7 +72,7 @@ int nm_args = 0; - if ( BU_STR_EQUAL(argv[1],"-h") || BU_STR_EQUAL(argv[1],"-?")) { + if (BU_STR_EQUAL(argv[1], "-h") || BU_STR_EQUAL(argv[1], "-?")) { printusage(); } Modified: brlcad/trunk/src/util/azel.c =================================================================== --- brlcad/trunk/src/util/azel.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/azel.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -67,7 +67,7 @@ void PrintUsage (void) { - bu_exit(1, "%s\n",usage); + bu_exit(1, "%s\n", usage); } @@ -75,11 +75,11 @@ void GetCoord (FILE *Whence, double *Coord, char Label, int LineNm, char *FileName) - /* File from which to read */ - /* Where to store coordinate */ - /* Name of coordinate */ - /* How far in input? */ - /* What input stream? */ +/* File from which to read */ +/* Where to store coordinate */ +/* Name of coordinate */ +/* How far in input? */ +/* What input stream? */ { int Ch; @@ -142,9 +142,9 @@ int Ch; /* Input character */ int i; /* Dummy variable for loop indexing */ - if (isatty(fileno(stdin)) && isatty(fileno(stdout)) && argc == 1){ - fprintf(stderr,"%s\n",usage); - fprintf(stderr," Program continues running:\n"); + if (isatty(fileno(stdin)) && isatty(fileno(stdout)) && argc == 1) { + fprintf(stderr, "%s\n", usage); + fprintf(stderr, " Program continues running:\n"); } /* Handle command-line options */ Modified: brlcad/trunk/src/util/bary.c =================================================================== --- brlcad/trunk/src/util/bary.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/bary.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -48,7 +48,7 @@ void print_usage (void) { - bu_exit(1, "%s\n",usage); + bu_exit(1, "%s\n", usage); } @@ -125,7 +125,7 @@ goto wrap_up; } - wrap_up: +wrap_up: if ((return_code == 1) && (tail != 0)) { bu_vls_trunc(tail, 0); bu_vls_strcat(tail, cp); @@ -152,8 +152,8 @@ /* intentionally double for scan */ double x, y, z; - if (isatty(fileno(stdin)) && isatty(fileno(stdout)) && argc == 1){ - bu_log("%s\n",usage); + if (isatty(fileno(stdin)) && isatty(fileno(stdout)) && argc == 1) { + bu_log("%s\n", usage); bu_log(" Program continues running:\n"); } Modified: brlcad/trunk/src/util/bw-imp.c =================================================================== --- brlcad/trunk/src/util/bw-imp.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/bw-imp.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -144,8 +144,8 @@ file_name = argv[bu_optind]; if ((infp = fopen(file_name, "r")) == NULL) { fprintf(stderr, - "bw-imp: cannot open \"%s\" for reading\n", - file_name); + "bw-imp: cannot open \"%s\" for reading\n", + file_name); return false; } } @@ -208,7 +208,7 @@ { printf("@document(language impress, prerasterization on, Name \"%s\")", - file_name + file_name ); /* The margins need to be multiples of 16 (printer word align) */ Modified: brlcad/trunk/src/util/bw-pix.c =================================================================== --- brlcad/trunk/src/util/bw-pix.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/bw-pix.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -77,6 +77,7 @@ return 0; } + /* * Local Variables: * mode: C Modified: brlcad/trunk/src/util/bw-png.c =================================================================== --- brlcad/trunk/src/util/bw-png.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/bw-png.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -92,8 +92,8 @@ if ((infp = fopen(file_name, "r")) == NULL) { perror(file_name); fprintf(stderr, - "bw-png: cannot open \"%s\" for reading\n", - file_name); + "bw-png: cannot open \"%s\" for reading\n", + file_name); bu_exit (1, NULL); } fileinput++; Modified: brlcad/trunk/src/util/bw-ps.c =================================================================== --- brlcad/trunk/src/util/bw-ps.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/bw-ps.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -115,8 +115,8 @@ file_name = argv[bu_optind]; if ((infp = fopen(file_name, "r")) == NULL) { fprintf(stderr, - "bw-ps: cannot open \"%s\" for reading\n", - file_name); + "bw-ps: cannot open \"%s\" for reading\n", + file_name); return 0; } /*fileinput++;*/ @@ -188,7 +188,7 @@ prolog(FILE *fp, char *name, int w, int h) - /* in points */ +/* in points */ { time_t ltime; Modified: brlcad/trunk/src/util/bwdiff.c =================================================================== --- brlcad/trunk/src/util/bwdiff.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/bwdiff.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -50,7 +50,7 @@ unsigned char ibuf1[512], ibuf2[512], obuf[512]; static const char usage[] = -"Usage: bwdiff [-b -m -g -l -e -n] file1.bw file2.bw > diff.bw\n\t(use - for stdin, . for /dev/null)\n"; + "Usage: bwdiff [-b -m -g -l -e -n] file1.bw file2.bw > diff.bw\n\t(use - for stdin, . for /dev/null)\n"; void open_file(FILE **fp, char *name) Modified: brlcad/trunk/src/util/bwfilter.c =================================================================== --- brlcad/trunk/src/util/bwfilter.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/bwfilter.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -119,8 +119,8 @@ file_name = argv[bu_optind]; if ((infp = fopen(file_name, "r")) == NULL) { fprintf(stderr, - "bwfilter: cannot open \"%s\" for reading\n", - file_name); + "bwfilter: cannot open \"%s\" for reading\n", + file_name); return 0; } } @@ -273,7 +273,7 @@ int i; fputs(usage, stderr); - fputs("Possible arguments for -f (type):\n",stderr); + fputs("Possible arguments for -f (type):\n", stderr); i = 0; while (kernel[i].name != NULL) { fprintf(stderr, " %-10s%s\n", kernel[i].uname, kernel[i].name); Modified: brlcad/trunk/src/util/bwmod.c =================================================================== --- brlcad/trunk/src/util/bwmod.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/bwmod.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -150,12 +150,12 @@ ifname = bu_realpath(file_name, NULL); if (freopen(ifname, "rb", stdin) == NULL) { fprintf(stderr, - "bwmod: cannot open \"%s(canonical %s)\" for reading\n", - file_name,ifname); - bu_free(ifname,"ifname alloc from bu_realpath"); + "bwmod: cannot open \"%s(canonical %s)\" for reading\n", + file_name, ifname); + bu_free(ifname, "ifname alloc from bu_realpath"); return 0; } - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); } if (argc > ++bu_optind) @@ -183,7 +183,7 @@ case OR : tmp=d; tmp |= (int)val[i]; d=tmp;break; case AND : tmp=d; tmp &= (int)val[i]; d=tmp;break; case XOR : tmp=d; tmp ^= (int)val[i]; d= tmp; break; - /* case TRUNC: tmp=((int)d/(int)val[i])*(int)val[i]; break; */ + /* case TRUNC: tmp=((int)d/(int)val[i])*(int)val[i]; break; */ default : fprintf(stderr, "%s: error in op\n", progname); bu_exit (-1, NULL); break; @@ -274,7 +274,7 @@ /* output */ if (write(1, (void *)ibuf, (unsigned)n) != n) { fprintf(stderr, "%s: Error writing stdout\n", - progname); + progname); bu_exit (-1, NULL); } } Modified: brlcad/trunk/src/util/bwscale.c =================================================================== --- brlcad/trunk/src/util/bwscale.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/bwscale.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -109,8 +109,8 @@ file_name = argv[bu_optind++]; if ((buffp = fopen(file_name, "r")) == NULL) { fprintf(stderr, - "bwscale: cannot open \"%s\" for reading\n", - file_name); + "bwscale: cannot open \"%s\" for reading\n", + file_name); return 0; } inx = atoi(argv[bu_optind++]); @@ -132,8 +132,8 @@ file_name = argv[bu_optind]; if ((buffp = fopen(file_name, "r")) == NULL) { fprintf(stderr, - "bwscale: cannot open \"%s\" for reading\n", - file_name); + "bwscale: cannot open \"%s\" for reading\n", + file_name); return 0; } } Modified: brlcad/trunk/src/util/bwshrink.c =================================================================== --- brlcad/trunk/src/util/bwshrink.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/bwshrink.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -105,7 +105,7 @@ void usage(void) { (void) fprintf(stderr, -"Usage: %s [-u] [-h] [-w width] [-n scanlines] [-s squaresize]\n\ + "Usage: %s [-u] [-h] [-w width] [-n scanlines] [-s squaresize]\n\ [-f shrink_factor] [bwfile] > bwfile\n", progname); bu_exit (1, NULL); } @@ -127,22 +127,33 @@ /* get all the option flags from the command line */ while ((c=bu_getopt(ac, av, options)) != -1) switch (c) { - case 'f' : if ((c = atoi(bu_optarg)) > 1) - factor = c; + case 'f': + if ((c = atoi(bu_optarg)) > 1) + factor = c; break; - case 'h' : width = height = 1024; break; - case 'n' : if ((c=atoi(bu_optarg)) > 0) - height = c; + case 'h': + width = height = 1024; break; - case 'w' : if ((c=atoi(bu_optarg)) > 0) - width = c; + case 'n': + if ((c=atoi(bu_optarg)) > 0) + height = c; break; - case 's' : if ((c=atoi(bu_optarg)) > 0) - height = width = c; + case 'w': + if ((c=atoi(bu_optarg)) > 0) + width = c; break; - case 'u' : method = METH_UNDERSAMPLE; break; - case '?' : - default : usage(); break; + case 's': + if ((c=atoi(bu_optarg)) > 0) + height = width = c; + break; + case 'u' + : method = METH_UNDERSAMPLE; + break; + + case '?': + default: + usage(); + break; } if (bu_optind >= ac) { @@ -156,7 +167,7 @@ bu_exit (-1, NULL); } else filename = av[bu_optind]; - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); } if (bu_optind+1 < ac) fprintf(stderr, "%s: Excess arguments ignored\n", progname); @@ -186,7 +197,7 @@ size = width * height; if ((buffer = (unsigned char *)malloc(width*height)) == (unsigned char *)NULL) { fprintf(stderr, "%s: cannot allocate input buffer\n", - progname); + progname); bu_free(buffer, "buffer alloc from malloc"); bu_exit (-1, NULL); } @@ -204,10 +215,14 @@ } switch (method) { - case METH_BOXCAR : shrink_image(width, height, buffer, factor); break; - case METH_UNDERSAMPLE : usample_image(width, height, buffer, factor); + case METH_BOXCAR: + shrink_image(width, height, buffer, factor); break; - default: return -1; + case METH_UNDERSAMPLE: + usample_image(width, height, buffer, factor); + break; + default: + return -1; } for (t=0; t < size && (c=write(1, (char *)&buffer[t], size-t)) >= 0; Modified: brlcad/trunk/src/util/decimate.c =================================================================== --- brlcad/trunk/src/util/decimate.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/decimate.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -81,15 +81,15 @@ } if (nbytes <= 0 || nbytes > INT_MAX) { - failure = 1 ; + failure = 1; bu_log("decimate: bad nbytes/pixel: %ld\n", (long int)nbytes); } if (iwidth <= 0 || iwidth > INT_MAX || iheight <= 0 || iheight > INT_MAX) { - failure = 1 ; + failure = 1; bu_log("decimate: bad size of input range: %ldx%ld\n", (long int)iwidth, (long int)iheight); } if (owidth <= 0 || owidth > INT_MAX || oheight <= 0 || oheight > INT_MAX) { - failure = 1 ; + failure = 1; bu_log("decimate: bad size of output range: %ldx%ld\n", (long int)owidth, (long int)oheight); } if (failure) { Modified: brlcad/trunk/src/util/double-asc.c =================================================================== --- brlcad/trunk/src/util/double-asc.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/double-asc.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -57,9 +57,9 @@ int willexit; { if (willexit) - bu_exit(1, "%s%s",usage1,usage2); - fprintf(stderr,"%s%s",usage1,usage2); - fprintf(stderr," Program continues running:\n"); + bu_exit(1, "%s%s", usage1, usage2); + fprintf(stderr, "%s%s", usage1, usage2); + fprintf(stderr, " Program continues running:\n"); } @@ -127,10 +127,10 @@ file_name = argv[bu_optind++]; ifname = bu_realpath(file_name, NULL); if ((infd = open(ifname, O_RDONLY)) == -1) { - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); bu_exit (1, "Cannot open file '%s'\n", file_name); } - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); fileinput = 1; break; default: Modified: brlcad/trunk/src/util/dpix-pix.c =================================================================== --- brlcad/trunk/src/util/dpix-pix.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/dpix-pix.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -61,10 +61,10 @@ ifname = bu_realpath(argv[1], NULL); if ((fd = open(ifname, 0)) < 0) { perror(ifname); - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); exit(1); } - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); if (isatty(fileno(stdout))) { bu_exit(2, "dpix-pix: binary output directed to terminal, aborting\n"); Modified: brlcad/trunk/src/util/dunncomm.c =================================================================== --- brlcad/trunk/src/util/dunncomm.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/dunncomm.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -112,7 +112,7 @@ /* open the camera device */ #ifdef HAVE_TERMIOS_H - if ((fd = open("/dev/camera", O_RDWR | O_NONBLOCK)) < 0) + if ((fd = open("/dev/camera", O_RDWR | O_NONBLOCK)) < 0) #else if ((fd = open("/dev/camera", O_RDWR | O_NDELAY)) < 0) #endif @@ -120,7 +120,7 @@ bu_exit(10, "\007dunnopen: can't open /dev/camera\n"); } #ifdef HAVE_TERMIOS_H - if (tcgetattr(fd, &tty) < 0) + if (tcgetattr(fd, &tty) < 0) #else if (ioctl(fd, TCGETA, &tty) < 0) #endif Modified: brlcad/trunk/src/util/dunnsnap.c =================================================================== --- brlcad/trunk/src/util/dunnsnap.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/dunnsnap.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -162,7 +162,7 @@ return 0; - bad: +bad: if (fbp != FBIO_NULL) fb_close(fbp); Modified: brlcad/trunk/src/util/imgdims.c =================================================================== --- brlcad/trunk/src/util/imgdims.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/imgdims.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -173,7 +173,7 @@ if (!fb_common_image_size(&width, &height, nm_pixels)) bu_exit (0, NULL); - done: +done: bu_log("%zu %zu\n", width, height); return 0; } Modified: brlcad/trunk/src/util/loop.c =================================================================== --- brlcad/trunk/src/util/loop.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/loop.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -92,7 +92,7 @@ /* determine if any arguments are real */ for (i = 1; i < argc; i++) { double dval = atof(argv[i]); - long int ival = strtol(argv[i],NULL,0); + long int ival = strtol(argv[i], NULL, 0); if (!ZERO(dval - (double)ival)) { status = REAL; break; @@ -187,20 +187,20 @@ bu_strlcpy(fmt_string, "%d\n", sizeof(fmt_string)); fmt_string[50-1] = '\0'; /* sanity */ - start = strtol(argv[1],NULL,0); + start = strtol(argv[1], NULL, 0); if ((start < INT_MIN) || (start > INT_MAX)) { bu_log("'start' out of range of signed integer.\n"); return 1; } - finish = strtol(argv[2],NULL,0); + finish = strtol(argv[2], NULL, 0); if ((finish < INT_MIN) || (finish > INT_MAX)) { bu_log("'finish' out of range of signed integer.\n"); return 1; } if (argc == 4) { - incr = strtol(argv[3],NULL,0); + incr = strtol(argv[3], NULL, 0); if ((incr < INT_MIN) || (incr > INT_MAX)) { bu_log("'incr' out of range of signed integer.\n"); return 1; @@ -238,7 +238,7 @@ cfinish = ULONG_MAX-1; if (argc == 5) { - cincr = strtol(argv[4],NULL,0); + cincr = strtol(argv[4], NULL, 0); if ((cincr < -UCHAR_MAX) || (cincr > UCHAR_MAX)) { bu_log("'incr' out of range of char.\n"); return 1; Modified: brlcad/trunk/src/util/lowp.c =================================================================== --- brlcad/trunk/src/util/lowp.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/lowp.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -80,26 +80,26 @@ ifname = bu_realpath(argv[1], NULL); if ((infd1 = open(ifname, 0)) < 0) { perror(ifname); - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); bu_exit (3, NULL); } - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); ifname = bu_realpath(argv[2], NULL); if ((infd2 = open(ifname, 0)) < 0) { perror(ifname); - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); bu_exit (3, NULL); } - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); ifname = bu_realpath(argv[3], NULL); if ((infd3 = open(ifname, 0)) < 0) { perror(ifname); - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); bu_exit (3, NULL); } - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); if (argc == 5) { nlines = atoi(argv[4]); Modified: brlcad/trunk/src/util/mac-pix.c =================================================================== --- brlcad/trunk/src/util/mac-pix.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/mac-pix.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -169,8 +169,8 @@ file_name = argv[bu_optind]; if ((infp = fopen(file_name, "r")) == NULL) { fprintf(stderr, - "mac-pix: cannot open \"%s\" for reading\n", - file_name); + "mac-pix: cannot open \"%s\" for reading\n", + file_name); return 0; } } Modified: brlcad/trunk/src/util/orle-pix.c =================================================================== --- brlcad/trunk/src/util/orle-pix.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/orle-pix.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -110,8 +110,8 @@ /* Standard linear colormap */ non_linear_cmap = 0; } - if (rle_verbose) fprintf(stderr, "Using %s colormap\n", - non_linear_cmap ? "stored" : "linear"); + if (rle_verbose) fprintf(stderr, "Using %s colormap\n", + non_linear_cmap ? "stored" : "linear"); /* Fill buffer with background. */ if ((get_flags & NO_BOX_SAVE)) { Modified: brlcad/trunk/src/util/pix-bw.c =================================================================== --- brlcad/trunk/src/util/pix-bw.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pix-bw.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -76,25 +76,27 @@ gweight = 0.66; bweight = 0.08; red = green = blue = 1; - } else switch (argv[1][1]) { - case 'R': - red++; - if (argv[1][2] != '\0') - rweight = atof(&argv[1][2]); - break; - case 'G': - green++; - if (argv[1][2] != '\0') - gweight = atof(&argv[1][2]); - break; - case 'B': - blue++; - if (argv[1][2] != '\0') - bweight = atof(&argv[1][2]); - break; - default: - fprintf(stderr, "pix-bw: bad flag \"%s\"\n", argv[1]); - bu_exit(1, "%s", usage); + } else { + switch (argv[1][1]) { + case 'R': + red++; + if (argv[1][2] != '\0') + rweight = atof(&argv[1][2]); + break; + case 'G': + green++; + if (argv[1][2] != '\0') + gweight = atof(&argv[1][2]); + break; + case 'B': + blue++; + if (argv[1][2] != '\0') + bweight = atof(&argv[1][2]); + break; + default: + fprintf(stderr, "pix-bw: bad flag \"%s\"\n", argv[1]); + bu_exit(1, "%s", usage); + } } argc--; argv++; Modified: brlcad/trunk/src/util/pix-png.c =================================================================== --- brlcad/trunk/src/util/pix-png.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pix-png.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -120,7 +120,7 @@ bu_log("%s: will not read pix data from a tty\n", bu_getprogname()); if (ttyout) bu_log("%s: will not write png data to a tty\n", bu_getprogname()); - if ( ttyin || ttyout ) + if (ttyin || ttyout) return 0; /* usage */ if (argc > ++bu_optind) { bu_log("%s: excess argument(s) ignored\n", bu_getprogname()); Modified: brlcad/trunk/src/util/pix-ps.c =================================================================== --- brlcad/trunk/src/util/pix-ps.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pix-ps.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -63,7 +63,7 @@ prolog(FILE *fp, char *name, size_t w, size_t h) - /* in points */ +/* in points */ { time_t ltime; @@ -119,7 +119,7 @@ void hexout(FILE *fp, int byte) - /* 0 <= byte <= 255 */ +/* 0 <= byte <= 255 */ { int high, low; static int symbol[16] = { '0', '1', '2', '3', '4', '5', '6', @@ -192,8 +192,8 @@ file_name = argv[bu_optind]; if ((infp = fopen(file_name, "r")) == NULL) { fprintf(stderr, - "pix-ps: cannot open \"%s\" for reading\n", - file_name); + "pix-ps: cannot open \"%s\" for reading\n", + file_name); return 0; } /*fileinput++;*/ Modified: brlcad/trunk/src/util/pix-sun.c =================================================================== --- brlcad/trunk/src/util/pix-sun.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pix-sun.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -153,40 +153,40 @@ dg = NOISE(); DITHER(_g, green, dg, MAG1); _g = (_g+26) / 51; \ db = NOISE(); DITHER(_b, blue, db, MAG1); _b = (_b+26) / 51; \ if (_r == _g) { \ - if (_r == _b) { \ - /* grey */ \ - DITHER(_r, red, dr, MAG2); \ - DITHER(_g, green, dg, MAG2); \ - DITHER(_b, blue, db, MAG2); \ - i = nvec[ ((_r+_g+_b)/3) >> 4]; \ - } else if (_r == 0) { \ - /* all blue */ \ - DITHER(_r, red, dr, MAG2); \ - DITHER(_g, green, dg, MAG2); \ - DITHER(_b, blue, db, MAG2); \ - i = bvec[ _b >> 4]; \ - } else { \ - /* color cube # */ \ - i = (unsigned char)(_r + _g * 6 + _b * 36); \ - } \ - } \ - else if (_g == _b && _g == 0) { \ - /* all red */ \ + if (_r == _b) { \ + /* grey */ \ DITHER(_r, red, dr, MAG2); \ DITHER(_g, green, dg, MAG2); \ DITHER(_b, blue, db, MAG2); \ - i = rvec[ _r >> 4]; \ - } else if (_r == _b && _r == 0) { \ - /* all green */ \ + i = nvec[ ((_r+_g+_b)/3) >> 4]; \ + } else if (_r == 0) { \ + /* all blue */ \ DITHER(_r, red, dr, MAG2); \ DITHER(_g, green, dg, MAG2); \ DITHER(_b, blue, db, MAG2); \ - i = gvec[_g >> 4]; \ - } else { \ + i = bvec[ _b >> 4]; \ + } else { \ /* color cube # */ \ i = (unsigned char)(_r + _g * 6 + _b * 36); \ + } \ } \ -} + else if (_g == _b && _g == 0) { \ + /* all red */ \ + DITHER(_r, red, dr, MAG2); \ + DITHER(_g, green, dg, MAG2); \ + DITHER(_b, blue, db, MAG2); \ + i = rvec[ _r >> 4]; \ + } else if (_r == _b && _r == 0) { \ + /* all green */ \ + DITHER(_r, red, dr, MAG2); \ + DITHER(_g, green, dg, MAG2); \ + DITHER(_b, blue, db, MAG2); \ + i = gvec[_g >> 4]; \ + } else { \ + /* color cube # */ \ + i = (unsigned char)(_r + _g * 6 + _b * 36); \ + } \ + } #define REMAPIXEL(red, green, blue, i) {\ @@ -200,7 +200,7 @@ else if (_g == _b && _g == 0) i = rvec[red/16]; /* all red */ \ else if (_r == _b && _r == 0) i = gvec[green/16]; /* all green */ \ else i = (unsigned char)(_r + _g * 6 + _b * 36); /* color cube # */ \ -} + } /* Modified: brlcad/trunk/src/util/pix-yuv.c =================================================================== --- brlcad/trunk/src/util/pix-yuv.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pix-yuv.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -106,12 +106,12 @@ if ((infd = open(ifname, 0)) < 0) { perror(ifname); fprintf(stderr, - "pix-yuv: cannot open \"%s(canonical %s)\" for reading\n", - file_name,ifname); - bu_free(ifname,"ifname alloc from bu_realpath"); + "pix-yuv: cannot open \"%s(canonical %s)\" for reading\n", + file_name, ifname); + bu_free(ifname, "ifname alloc from bu_realpath"); return 0; } - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); fileinput++; } @@ -195,9 +195,9 @@ #define V5DOT(a, b) (a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]+a[4]*b[4]) #define floor(d) (d>=0?(int)d:((int)d==d?d:(int)(d-1.0))) #define CLIP(out, in) { int t; \ - if ((t = (in)) < 0) (out) = 0; \ - else if (t >= 255) (out) = 255; \ - else (out) = t; } + if ((t = (in)) < 0) (out) = 0; \ + else if (t >= 255) (out) = 255; \ + else (out) = t; } #define LINE_LENGTH 720 #define FRAME_LENGTH 486 Modified: brlcad/trunk/src/util/pix3filter.c =================================================================== --- brlcad/trunk/src/util/pix3filter.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pix3filter.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -130,22 +130,22 @@ if ((oldfp = fopen(argv[bu_optind], "r")) == NULL) { fprintf(stderr, - "pix3filter: cannot open \"%s\" for reading\n", - argv[bu_optind]); + "pix3filter: cannot open \"%s\" for reading\n", + argv[bu_optind]); return 0; } if ((curfp = fopen(argv[++bu_optind], "r")) == NULL) { fprintf(stderr, - "pix3filter: cannot open \"%s\" for reading\n", - argv[bu_optind]); + "pix3filter: cannot open \"%s\" for reading\n", + argv[bu_optind]); return 0; } if ((newfp = fopen(argv[++bu_optind], "r")) == NULL) { fprintf(stderr, - "pix3filter: cannot open \"%s\" for reading\n", - argv[bu_optind]); + "pix3filter: cannot open \"%s\" for reading\n", + argv[bu_optind]); return 0; } bu_optind += 3; @@ -158,8 +158,8 @@ if ((curfp = fopen(file_name, "r")) == NULL) { fprintf(stderr, - "pix3filter: cannot open \"%s\" for reading\n", - file_name); + "pix3filter: cannot open \"%s\" for reading\n", + file_name); bu_free(working_name, "free working_name"); return 0; } @@ -181,15 +181,15 @@ if ((oldfp = fopen(working_name, "r")) == NULL) { if (frameNumber-1 != 0) { fprintf(stderr, - "pix3filter: cannot open \"%s\" for reading.\n", - working_name); + "pix3filter: cannot open \"%s\" for reading.\n", + working_name); bu_free(working_name, "free working_name"); return 0; } if ((oldfp = fopen(file_name, "r")) == NULL) { fprintf(stderr, - "pix3filter: cannot open \"%s\" for reading.\n", - file_name); + "pix3filter: cannot open \"%s\" for reading.\n", + file_name); bu_free(working_name, "free working_name"); return 0; } @@ -198,8 +198,8 @@ snprintf(working_name, strlen(file_name)+5, "%s.%d", file_name, frameNumber+1); if ((newfp = fopen(working_name, "r")) == NULL) { fprintf(stderr, - "pix3filter: cannot open \"%s\" for reading.\n", - working_name); + "pix3filter: cannot open \"%s\" for reading.\n", + working_name); bu_free(working_name, "free working_name"); return 0; } Modified: brlcad/trunk/src/util/pixbgstrip.c =================================================================== --- brlcad/trunk/src/util/pixbgstrip.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixbgstrip.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -102,8 +102,8 @@ if ((infp = fopen(file_name, "r")) == NULL) { perror(file_name); fprintf(stderr, - "pixbgstrip: cannot open \"%s\" for reading\n", - file_name); + "pixbgstrip: cannot open \"%s\" for reading\n", + file_name); bu_exit (1, NULL); } fileinput++; Modified: brlcad/trunk/src/util/pixblend.c =================================================================== --- brlcad/trunk/src/util/pixblend.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixblend.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -66,7 +66,7 @@ int timeseed(void) { - return time(0); + return time(0); } @@ -125,8 +125,8 @@ else if ((f1 = fopen(f1_name, "r")) == NULL) { perror(f1_name); fprintf(stderr, - "pixblend: cannot open \"%s\" for reading\n", - f1_name); + "pixblend: cannot open \"%s\" for reading\n", + f1_name); return 0; } @@ -136,8 +136,8 @@ else if ((f2 = fopen(f2_name, "r")) == NULL) { perror(f2_name); fprintf(stderr, - "pixblend: cannot open \"%s\" for reading\n", - f2_name); + "pixblend: cannot open \"%s\" for reading\n", + f2_name); return 0; } @@ -237,7 +237,7 @@ d = drand48(); if (d >= value) #else - int r; + int r; r = random() & 0xffff; if (r >= threshold) #endif @@ -253,12 +253,12 @@ r >= gthreshold #endif ) { - cb3[0] = cb2[0]; - cb3[1] = cb2[1]; - cb3[2] = cb2[2]; - } else { - cb3[0] = cb3[1] = cb3[2] = 255; - } + cb3[0] = cb2[0]; + cb3[1] = cb2[1]; + cb3[2] = cb2[2]; + } else { + cb3[0] = cb3[1] = cb3[2] = 255; + } } cb1 += 3; cb2 += 3; @@ -275,6 +275,7 @@ return 0; } + /* * Local Variables: * mode: C Modified: brlcad/trunk/src/util/pixborder.c =================================================================== --- brlcad/trunk/src/util/pixborder.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixborder.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -319,10 +319,10 @@ */ static int is_border (unsigned char *prp, unsigned char *trp, unsigned char *nrp, int col_nm) - /* Previous row */ - /* Current (this) row */ - /* Next row */ - /* Current column */ +/* Previous row */ +/* Current (this) row */ +/* Next row */ +/* Current column */ { unsigned char pix_rgb[3]; Modified: brlcad/trunk/src/util/pixbustup.c =================================================================== --- brlcad/trunk/src/util/pixbustup.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixbustup.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -46,6 +46,7 @@ bu_log("Usage: pixbustup basename width [image_offset] [first_number] <input.pix\n"); } + int main(int argc, char **argv) { @@ -102,10 +103,10 @@ ifname = bu_realpath(name, NULL); if ((fd=creat(ifname, 0444))<0) { perror(ifname); - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); continue; } - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); rwval = write(fd, in1, scanbytes); if ((size_t)rwval != scanbytes) { Modified: brlcad/trunk/src/util/pixcolors.c =================================================================== --- brlcad/trunk/src/util/pixcolors.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixcolors.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -85,7 +85,7 @@ pixel = r + (g << 8) + (b << 16); if (!(vals[k=(pixel >> 3)] & - (mask = (1 << (pixel & 0x07))))) { + (mask = (1 << (pixel & 0x07))))) { vals[k] |= (unsigned char)mask; ++count; } @@ -96,9 +96,9 @@ for (i = 0; i < 1<<24; ++i) if ((vals[i>>3] & (1<<(i & 0x07)))) printf("%3d %3d %3d\n", - i & 0x0ff, - (i >> 8) & 0x0ff, - (i >> 16) & 0x0ff); + i & 0x0ff, + (i >> 8) & 0x0ff, + (i >> 16) & 0x0ff); } Modified: brlcad/trunk/src/util/pixcut.c =================================================================== --- brlcad/trunk/src/util/pixcut.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixcut.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -153,8 +153,8 @@ if ((input = fopen(in_name, "r")) == NULL) { perror(in_name); fprintf(stderr, - "pixcut: cannot open \"%s\" for reading\n", - in_name); + "pixcut: cannot open \"%s\" for reading\n", + in_name); return 0; } isfile = 1; @@ -215,12 +215,12 @@ fprintf(stderr, "pixcut: Copyright (C) 1992 Paladin Software\n"); fprintf(stderr, "pixcut: All rights reserved.\npixcut:\n"); fprintf(stderr, "pixcut: original image %ldx%ld\n", - org_width, org_height); + org_width, org_height); fprintf(stderr, "pixcut: new image %ldx%ld\n", - new_width, new_height); + new_width, new_height); fprintf(stderr, "pixcut: offset %ldx%ld\n", base_x, base_y); fprintf(stderr, "pixcut: background color %d/%d/%d\n", - background[0], background[1], background[2]); + background[0], background[1], background[2]); if (base_x < 0 || base_y < 0 || base_x+new_width >org_width || Modified: brlcad/trunk/src/util/pixdsplit.c =================================================================== --- brlcad/trunk/src/util/pixdsplit.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixdsplit.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -124,15 +124,15 @@ inf_name = bu_realpath(argv[bu_optind++], NULL); if(inf_name == NULL || *inf_name == '\0') { bu_log("Bad file name\n"); - bu_free(inf_name,"realpath alloc from bu_realpath"); + bu_free(inf_name, "realpath alloc from bu_realpath"); return 1; } if ((infd = open(inf_name, O_RDONLY)) == -1) { bu_log("Cannot open file '%s'\n", inf_name); - bu_free(inf_name,"realpath alloc from bu_realpath"); + bu_free(inf_name, "realpath alloc from bu_realpath"); return 1; } - bu_free(inf_name,"realpath alloc from bu_realpath"); + bu_free(inf_name, "realpath alloc from bu_realpath"); break; default: print_usage(); Modified: brlcad/trunk/src/util/pixembed.c =================================================================== --- brlcad/trunk/src/util/pixembed.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixembed.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -105,8 +105,8 @@ file_name = argv[bu_optind]; if ((buffp = fopen(file_name, "r")) == NULL) { fprintf(stderr, - "pixembed: cannot open \"%s\" for reading\n", - file_name); + "pixembed: cannot open \"%s\" for reading\n", + file_name); return 0; } } Modified: brlcad/trunk/src/util/pixfade.c =================================================================== --- brlcad/trunk/src/util/pixfade.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixfade.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -99,8 +99,8 @@ *inpp = fopen(argv[bu_optind], "r"); if (*inpp == NULL) { fprintf(stderr, - "pixfade: cannot open \"%s\" for reading\n", - argv[bu_optind]); + "pixfade: cannot open \"%s\" for reading\n", + argv[bu_optind]); return 0; } } Modified: brlcad/trunk/src/util/pixfields.c =================================================================== --- brlcad/trunk/src/util/pixfields.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixfields.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -81,15 +81,15 @@ if ((fldonefp = fopen(argv[bu_optind], "r")) == NULL) { fprintf(stderr, - "pixfields: cannot open \"%s\" for reading\n", - argv[bu_optind]); + "pixfields: cannot open \"%s\" for reading\n", + argv[bu_optind]); return 0; } if ((fldtwofp = fopen(argv[++bu_optind], "r")) == NULL) { fprintf(stderr, - "pixfields: cannot open \"%s\" for reading\n", - argv[bu_optind]); + "pixfields: cannot open \"%s\" for reading\n", + argv[bu_optind]); return 0; } Modified: brlcad/trunk/src/util/pixfilter.c =================================================================== --- brlcad/trunk/src/util/pixfilter.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixfilter.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -119,8 +119,8 @@ file_name = argv[bu_optind]; if ((infp = fopen(file_name, "r")) == NULL) { fprintf(stderr, - "pixfilter: cannot open \"%s\" for reading\n", - file_name); + "pixfilter: cannot open \"%s\" for reading\n", + file_name); return 0; } } @@ -275,7 +275,7 @@ int i; fputs(usage, stderr); - fputs("Possible arguments for -f (type):\n",stderr); + fputs("Possible arguments for -f (type):\n", stderr); i = 0; while (kernel[i].name != NULL) { fprintf(stderr, " %-10s%s\n", kernel[i].uname, kernel[i].name); Modified: brlcad/trunk/src/util/pixhalve.c =================================================================== --- brlcad/trunk/src/util/pixhalve.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixhalve.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -99,8 +99,8 @@ if ((infp = fopen(file_name, "r")) == NULL) { perror(file_name); fprintf(stderr, - "pixhalve: cannot open \"%s\" for reading\n", - file_name); + "pixhalve: cannot open \"%s\" for reading\n", + file_name); return 0; } fileinput++; @@ -123,9 +123,9 @@ */ static void separate(int *rop, int *gop, int *bop, unsigned char *cp, long int num) - /* Y */ - /* U */ - /* V */ +/* Y */ +/* U */ +/* V */ { Modified: brlcad/trunk/src/util/pixhist3d.c =================================================================== --- brlcad/trunk/src/util/pixhist3d.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixhist3d.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -81,9 +81,9 @@ } #define CHECK_INDEX(idx) \ -if (idx > MAX_INDEX) { \ - bu_exit(3, "pixhist3d: read invalid index %u\n", (unsigned int)idx); \ -} + if (idx > MAX_INDEX) { \ + bu_exit(3, "pixhist3d: read invalid index %u\n", (unsigned int)idx); \ + } while ((n = fread(&ibuf[0], sizeof(*ibuf), sizeof(ibuf), fp)) > 0) { unsigned char *bp; Modified: brlcad/trunk/src/util/pixmerge.c =================================================================== --- brlcad/trunk/src/util/pixmerge.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixmerge.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -126,8 +126,8 @@ else if ((f1 = fopen(f1_name, "r")) == NULL) { perror(f1_name); fprintf(stderr, - "pixmerge: cannot open \"%s\" for reading\n", - f1_name); + "pixmerge: cannot open \"%s\" for reading\n", + f1_name); return 0; } @@ -137,8 +137,8 @@ else if ((f2 = fopen(f2_name, "r")) == NULL) { perror(f2_name); fprintf(stderr, - "pixmerge: cannot open \"%s\" for reading\n", - f2_name); + "pixmerge: cannot open \"%s\" for reading\n", + f2_name); return 0; } Modified: brlcad/trunk/src/util/pixmorph.c =================================================================== --- brlcad/trunk/src/util/pixmorph.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixmorph.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -304,13 +304,13 @@ /* Now, the other useful information. */ lines->s[MIDDLE].x_1 = DBLEND(lines->s[FIRST].x_1, - lines->s[LAST].x_1, warpfrac); + lines->s[LAST].x_1, warpfrac); lines->s[MIDDLE].y_1 = DBLEND(lines->s[FIRST].y_1, - lines->s[LAST].y_1, warpfrac); + lines->s[LAST].y_1, warpfrac); lines->s[MIDDLE].x_2 = DBLEND(lines->s[FIRST].x_2, - lines->s[LAST].x_2, warpfrac); + lines->s[LAST].x_2, warpfrac); lines->s[MIDDLE].y_2 = DBLEND(lines->s[FIRST].y_2, - lines->s[LAST].y_2, warpfrac); + lines->s[LAST].y_2, warpfrac); for (j = 0; j < 3; j++) { lines->s[j].xdelta = lines->s[j].x_2 - lines->s[j].x_1; Modified: brlcad/trunk/src/util/pixpaste.c =================================================================== --- brlcad/trunk/src/util/pixpaste.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixpaste.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -143,8 +143,8 @@ if ((orig = fopen(orig_name, "r")) == NULL) { perror(orig_name); fprintf(stderr, - "pixpaste: cannot open \"%s\" for reading\n", - orig_name); + "pixpaste: cannot open \"%s\" for reading\n", + orig_name); return 0; } orig_isfile = 1; @@ -159,15 +159,15 @@ paste = stdin; if (!orig_isfile) { fprintf(stderr, - "pixpaste: The original file and paste file cannot both be stdin!.\n"); + "pixpaste: The original file and paste file cannot both be stdin!.\n"); return 0; } } else { if ((paste = fopen(paste_name, "r")) == NULL) { perror(paste_name); fprintf(stderr, - "pixpaste: cannot open \"%s\" for reading", - paste_name); + "pixpaste: cannot open \"%s\" for reading", + paste_name); return 0; } paste_isfile=1; Modified: brlcad/trunk/src/util/pixshrink.c =================================================================== --- brlcad/trunk/src/util/pixshrink.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixshrink.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -54,7 +54,7 @@ if (!buffer && (buffer=(UCHAR *)malloc(scanlen * Height)) == (UCHAR *)NULL) { fprintf(stderr, "%s: cannot allocate input buffer\n", - progname); + progname); bu_exit (-1, NULL); } @@ -173,7 +173,7 @@ void usage(void) { (void) fprintf(stderr, -"Usage: %s [-u] [-h] [-w width] [-n scanlines] [-s squaresize]\n\ + "Usage: %s [-u] [-h] [-w width] [-n scanlines] [-s squaresize]\n\ [-f shrink_factor] [pixfile] > pixfile\n", progname); bu_exit (1, NULL); } @@ -195,22 +195,32 @@ /* get all the option flags from the command line */ while ((c=bu_getopt(ac, av, options)) != -1) switch (c) { - case 'f' : if ((c = atoi(bu_optarg)) > 1) - factor = c; + case 'f': + if ((c = atoi(bu_optarg)) > 1) + factor = c; break; - case 'h' : width = height = 1024; break; - case 'n' : if ((c=atoi(bu_optarg)) > 0) - height = c; + case 'h': + width = height = 1024; break; - case 'w' : if ((c=atoi(bu_optarg)) > 0) - width = c; + case 'n': + if ((c=atoi(bu_optarg)) > 0) + height = c; break; - case 's' : if ((c=atoi(bu_optarg)) > 0) - height = width = c; + case 'w': + if ((c=atoi(bu_optarg)) > 0) + width = c; break; - case 'u' : method = METH_UNDERSAMPLE; break; - case '?' : - default : usage(); break; + case 's': + if ((c=atoi(bu_optarg)) > 0) + height = width = c; + break; + case 'u': + method = METH_UNDERSAMPLE; + break; + case '?': + default: + usage(); + break; } if (bu_optind >= ac) { @@ -221,11 +231,11 @@ char *ifname = bu_realpath(av[bu_optind], NULL); if (freopen(ifname, "r", stdin) == (FILE *)NULL) { perror(ifname); - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); bu_exit (-1, NULL); } else filename = av[bu_optind]; - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); } if (bu_optind+1 < ac) fprintf(stderr, "%s: Excess arguments ignored\n", progname); Modified: brlcad/trunk/src/util/pixtile.c =================================================================== --- brlcad/trunk/src/util/pixtile.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixtile.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -187,10 +187,10 @@ ifname = bu_realpath(name, NULL); if ((fd=open(ifname, 0))<0) { perror(ifname); - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); goto done; } - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); } /* Read in .pix file. Bottom to top */ for (i=0; i<file_height; i++) { @@ -215,7 +215,7 @@ rel = 0; /* in case we fall through */ } - done: +done: /* Flush partial frame? */ if (rel != 0) { ret = write(1, obuf, swathbytes); Modified: brlcad/trunk/src/util/pixuntile.c =================================================================== --- brlcad/trunk/src/util/pixuntile.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pixuntile.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -162,7 +162,7 @@ } y = (y + 1) % out_height; } - done: +done: fprintf(stderr, "\n"); return 0; Modified: brlcad/trunk/src/util/pl-X.c =================================================================== --- brlcad/trunk/src/util/pl-X.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pl-X.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -214,8 +214,8 @@ void draw(double x_1, double y_1, double UNUSED(z_1), double x_2, double y_2, double z_2) - /* from point */ - /* to point */ +/* from point */ +/* to point */ { int sx_1, sy_1, sx_2, sy_2; Modified: brlcad/trunk/src/util/pl-ps.c =================================================================== --- brlcad/trunk/src/util/pl-ps.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/pl-ps.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -182,8 +182,8 @@ void draw(double x_1, double y_1, double UNUSED(z_1), double x_2, double y_2, double z_2) - /* from point */ - /* to point */ +/* from point */ +/* to point */ { int sx1, sy1, sx2, sy2; @@ -233,7 +233,7 @@ void scaleinfo(FILE *fp, int w, int h) - /* in points */ +/* in points */ { /* * About this PostScript scaling issue... @@ -283,7 +283,7 @@ prolog(FILE *fp, char *name, int w, int h) - /* in points */ +/* in points */ { time_t ltime; @@ -396,8 +396,8 @@ file_name = argv[bu_optind]; if ((infp = fopen(file_name, "r")) == NULL) { fprintf(stderr, - "pl-ps: cannot open \"%s\" for reading\n", - file_name); + "pl-ps: cannot open \"%s\" for reading\n", + file_name); return 0; } /*fileinput++;*/ Modified: brlcad/trunk/src/util/png-bw.c =================================================================== --- brlcad/trunk/src/util/png-bw.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/png-bw.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -87,26 +87,28 @@ gweight = 0.66; bweight = 0.08; red = green = blue = 1; - } else switch (argv[1][1]) { - case 'R': - red++; - if (argv[1][2] != '\0') - rweight = atof(&argv[1][2]); - break; - case 'G': - green++; - if (argv[1][2] != '\0') - gweight = atof(&argv[1][2]); - break; - case 'B': - blue++; - if (argv[1][2] != '\0') - bweight = atof(&argv[1][2]); - break; - default: - bu_log("Illegal option (%s)\n", argv[1]); - bu_log(usage, "png-bw"); - bu_exit(EXIT_FAILURE, "Illegal option\n"); + } else { + switch (argv[1][1]) { + case 'R': + red++; + if (argv[1][2] != '\0') + rweight = atof(&argv[1][2]); + break; + case 'G': + green++; + if (argv[1][2] != '\0') + gweight = atof(&argv[1][2]); + break; + case 'B': + blue++; + if (argv[1][2] != '\0') + bweight = atof(&argv[1][2]); + break; + default: + bu_log("Illegal option (%s)\n", argv[1]); + bu_log(usage, "png-bw"); + bu_exit(EXIT_FAILURE, "Illegal option\n"); + } } argc--; argv++; @@ -289,8 +291,8 @@ } ret = fwrite(obuf, sizeof(char), num/3, stdout); - if (ret < (size_t)num/3) - perror("fwrite"); + if (ret < (size_t)num/3) + perror("fwrite"); if (clip_high != 0 || clip_low != 0) { fprintf(stderr, "png-bw: clipped %d high, %d, low\n", Modified: brlcad/trunk/src/util/png-pix.c =================================================================== --- brlcad/trunk/src/util/png-pix.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/png-pix.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -81,8 +81,8 @@ if ((fp_in = fopen(argv[bu_optind], "rb")) == NULL) { perror(argv[bu_optind]); fprintf(stderr, - "png-pix: cannot open \"%s\" for reading\n", - argv[bu_optind]); + "png-pix: cannot open \"%s\" for reading\n", + argv[bu_optind]); return 1; } } Modified: brlcad/trunk/src/util/rle-pix.c =================================================================== --- brlcad/trunk/src/util/rle-pix.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/rle-pix.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -340,7 +340,7 @@ if (ret == 0) perror("fwrite"); } - done: +done: for (i=0; i < ncolors; i++) bu_free(rows[i], "row[]"); Modified: brlcad/trunk/src/util/sun-pix.c =================================================================== --- brlcad/trunk/src/util/sun-pix.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/sun-pix.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -65,13 +65,13 @@ #define RMT_EQUAL_RGB 1 /* red[ras_maplength/3], green[], blue[] */ #define GETUC_CHECKED(uc, fp, err_msg) \ -{ \ - int _c = getc(fp); \ - if (_c == EOF) { \ - bu_exit(1, err_msg); \ - } \ - uc = (unsigned char)_c; \ -} + { \ + int _c = getc(fp); \ + if (_c == EOF) { \ + bu_exit(1, err_msg); \ + } \ + uc = (unsigned char)_c; \ + } /* * NOTES: @@ -97,6 +97,7 @@ unsigned char CL_blue; }; + struct colors Cmap[256]; static size_t CMAP_MAX_INDEX = sizeof(Cmap) - 1; @@ -162,8 +163,8 @@ file_name = argv[bu_optind]; if ((fp = fopen(file_name, "r")) == NULL) { fprintf(stderr, - "sun-pix: cannot open \"%s\" for reading\n", - file_name); + "sun-pix: cannot open \"%s\" for reading\n", + file_name); return 0; } } @@ -200,9 +201,9 @@ static size_t decoderead(unsigned char *buf, int size, int length, FILE *readfp) - /* should be one! */ - /* number of items to read */ - /* input file pointer */ +/* should be one! */ +/* number of items to read */ +/* input file pointer */ { static int repeat = -1; static int lastchar = 0; Modified: brlcad/trunk/src/util/texturescale.c =================================================================== --- brlcad/trunk/src/util/texturescale.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/texturescale.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -53,8 +53,8 @@ #define OPT_STRING "ahn:s:w:ST:?" #define made_it() (void) fprintf(stderr, "Made it to %s:%d\n", \ - __FILE__, __LINE__); \ - fflush(stderr) + __FILE__, __LINE__); \ + fflush(stderr) static char usage[] = "\ Usage: texturescale [-T 'r1 r2' | -S]\n\ [-ah] [-s squaresize] [-w file_width] [-n file_height]\n\ Modified: brlcad/trunk/src/util/ttcp.c =================================================================== --- brlcad/trunk/src/util/ttcp.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/ttcp.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -280,83 +280,83 @@ *outp++ = *cp; else if (cp[1]) switch (*++cp) { - case 'U': - tvsub(&tdiff, &r1->ru_utime, &r0->ru_utime); - sprintf(outp, "%ld.%01ld", (long int)tdiff.tv_sec, - (long int)tdiff.tv_usec/100000L); - END(outp); - break; + case 'U': + tvsub(&tdiff, &r1->ru_utime, &r0->ru_utime); + sprintf(outp, "%ld.%01ld", (long int)tdiff.tv_sec, + (long int)tdiff.tv_usec/100000L); + END(outp); + break; - case 'S': - tvsub(&tdiff, &r1->ru_stime, &r0->ru_stime); - sprintf(outp, "%ld.%01ld", (long int)tdiff.tv_sec, (long int)tdiff.tv_usec/100000L); - END(outp); - break; + case 'S': + tvsub(&tdiff, &r1->ru_stime, &r0->ru_stime); + sprintf(outp, "%ld.%01ld", (long int)tdiff.tv_sec, (long int)tdiff.tv_usec/100000L); + END(outp); + break; - case 'E': - psecs(ms / 100, outp); - END(outp); - break; + case 'E': + psecs(ms / 100, outp); + END(outp); + break; - case 'P': - sprintf(outp, "%d%%", (int) (t*100 / ((ms ? ms : 1)))); - END(outp); - break; + case 'P': + sprintf(outp, "%d%%", (int) (t*100 / ((ms ? ms : 1)))); + END(outp); + break; - case 'W': - i = r1->ru_nswap - r0->ru_nswap; - sprintf(outp, "%d", i); - END(outp); - break; + case 'W': + i = r1->ru_nswap - r0->ru_nswap; + sprintf(outp, "%d", i); + END(outp); + break; - case 'X': - sprintf(outp, "%ld", t == 0 ? 0 : (r1->ru_ixrss-r0->ru_ixrss)/t); - END(outp); - break; + case 'X': + sprintf(outp, "%ld", t == 0 ? 0 : (r1->ru_ixrss-r0->ru_ixrss)/t); + END(outp); + break; - case 'D': - sprintf(outp, "%ld", t == 0 ? 0 : - (r1->ru_idrss+r1->ru_isrss-(r0->ru_idrss+r0->ru_isrss))/t); - END(outp); - break; + case 'D': + sprintf(outp, "%ld", t == 0 ? 0 : + (r1->ru_idrss+r1->ru_isrss-(r0->ru_idrss+r0->ru_isrss))/t); + END(outp); + break; - case 'K': - sprintf(outp, "%ld", t == 0 ? 0 : - ((r1->ru_ixrss+r1->ru_isrss+r1->ru_idrss) - - (r0->ru_ixrss+r0->ru_idrss+r0->ru_isrss))/t); - END(outp); - break; + case 'K': + sprintf(outp, "%ld", t == 0 ? 0 : + ((r1->ru_ixrss+r1->ru_isrss+r1->ru_idrss) - + (r0->ru_ixrss+r0->ru_idrss+r0->ru_isrss))/t); + END(outp); + break; - case 'M': - sprintf(outp, "%ld", r1->ru_maxrss/2); - END(outp); - break; + case 'M': + sprintf(outp, "%ld", r1->ru_maxrss/2); + END(outp); + break; - case 'F': - sprintf(outp, "%ld", r1->ru_majflt-r0->ru_majflt); - END(outp); - break; + case 'F': + sprintf(outp, "%ld", r1->ru_majflt-r0->ru_majflt); + END(outp); + break; - case 'R': - sprintf(outp, "%ld", r1->ru_minflt-r0->ru_minflt); - END(outp); - break; + case 'R': + sprintf(outp, "%ld", r1->ru_minflt-r0->ru_minflt); + END(outp); + break; - case 'I': - sprintf(outp, "%ld", r1->ru_inblock-r0->ru_inblock); - END(outp); - break; + case 'I': + sprintf(outp, "%ld", r1->ru_inblock-r0->ru_inblock); + END(outp); + break; - case 'O': - sprintf(outp, "%ld", r1->ru_oublock-r0->ru_oublock); - END(outp); - break; - case 'C': - sprintf(outp, "%ld+%ld", r1->ru_nvcsw-r0->ru_nvcsw, - r1->ru_nivcsw-r0->ru_nivcsw); - END(outp); - break; - } + case 'O': + sprintf(outp, "%ld", r1->ru_oublock-r0->ru_oublock); + END(outp); + break; + case 'C': + sprintf(outp, "%ld+%ld", r1->ru_nvcsw-r0->ru_nvcsw, + r1->ru_nivcsw-r0->ru_nivcsw); + END(outp); + break; + } } *outp = '\0'; } @@ -497,23 +497,23 @@ case 'n': nbuf = atoi(&argv[0][2]); if(nbuf < 0) { - printf("Negative buffer count.\n"); - return -1; + printf("Negative buffer count.\n"); + return -1; } if(nbuf >= INT_MAX) { - printf("Too many buffers specified.\n"); - return -1; + printf("Too many buffers specified.\n"); + return -1; } break; case 'l': buflen = atoi(&argv[0][2]); if(buflen <= 0) { - printf("Invalid buffer length.\n"); - return -1; + printf("Invalid buffer length.\n"); + return -1; } if(buflen >= INT_MAX) { - printf("Buffer length too large.\n"); - return -1; + printf("Buffer length too large.\n"); + return -1; } break; case 's': @@ -522,10 +522,10 @@ case 'p': port = atoi(&argv[0][2]); if(port < 0) { - port = 0; + port = 0; } if(port > 65535) { - port = 65535; + port = 65535; } break; case 'u': @@ -666,7 +666,7 @@ ((double)nbytes)*8/realt/1024); return 0; - usage: +usage: fprintf(stderr, "%s%s", Usage, Usage2); return 1; } Modified: brlcad/trunk/src/util/yuv-pix.c =================================================================== --- brlcad/trunk/src/util/yuv-pix.c 2013-05-15 20:44:13 UTC (rev 55457) +++ brlcad/trunk/src/util/yuv-pix.c 2013-05-15 20:45:46 UTC (rev 55458) @@ -107,12 +107,12 @@ if ((infd = open(ifname, 0)) < 0) { perror(ifname); fprintf(stderr, - "yuv-pix: cannot open \"%s(canonical %s)\" for reading\n", - file_name,ifname); - bu_free(ifname,"ifname alloc from bu_realpath"); + "yuv-pix: cannot open \"%s(canonical %s)\" for reading\n", + file_name, ifname); + bu_free(ifname, "ifname alloc from bu_realpath"); return 0; } - bu_free(ifname,"ifname alloc from bu_realpath"); + bu_free(ifname, "ifname alloc from bu_realpath"); fileinput++; } @@ -199,9 +199,9 @@ #define V5DOT(a, b) (a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]+a[4]*b[4]) #define floor(d) (d>=0?(int)d:((int)d==d?d:(int)(d-1.0))) #define CLIP(out, in) { int t; \ - if ((t = (in)) < 0) (out) = 0; \ - else if (t >= 25... [truncated message content] |
From: <br...@us...> - 2013-05-29 15:42:38
|
Revision: 55577 http://sourceforge.net/p/brlcad/code/55577 Author: brlcad Date: 2013-05-29 15:42:34 +0000 (Wed, 29 May 2013) Log Message: ----------- historic comments about the prior state of code are not necessary. Modified Paths: -------------- brlcad/trunk/src/util/bw-ps.c brlcad/trunk/src/util/rle_args.c Modified: brlcad/trunk/src/util/bw-ps.c =================================================================== --- brlcad/trunk/src/util/bw-ps.c 2013-05-29 14:10:19 UTC (rev 55576) +++ brlcad/trunk/src/util/bw-ps.c 2013-05-29 15:42:34 UTC (rev 55577) @@ -76,8 +76,6 @@ case 'L': landscape = 1; break; -/* -h was removed; in its place use -s 1024 - */ case 's': /* square file size */ height = width = atoi(bu_optarg); Modified: brlcad/trunk/src/util/rle_args.c =================================================================== --- brlcad/trunk/src/util/rle_args.c 2013-05-29 14:10:19 UTC (rev 55576) +++ brlcad/trunk/src/util/rle_args.c 2013-05-29 15:42:34 UTC (rev 55577) @@ -31,8 +31,6 @@ while ((c = bu_getopt(argc, argv, "s:w:n:C:h?")) != -1) { switch (c) { -/* 'h' was removed, because 's 1024' can be used in its place. - */ case 's': /* square file size */ *file_height = *file_width = atoi(bu_optarg); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2013-06-10 18:03:23
|
Revision: 55701 http://sourceforge.net/p/brlcad/code/55701 Author: carlmoore Date: 2013-06-10 18:03:20 +0000 (Mon, 10 Jun 2013) Log Message: ----------- remove old -h (high-res); use h,?,run-with-no-arguments for help Modified Paths: -------------- brlcad/trunk/src/util/pixscale.c brlcad/trunk/src/util/pixshrink.c Modified: brlcad/trunk/src/util/pixscale.c =================================================================== --- brlcad/trunk/src/util/pixscale.c 2013-06-10 17:47:20 UTC (rev 55700) +++ brlcad/trunk/src/util/pixscale.c 2013-06-10 18:03:20 UTC (rev 55701) @@ -61,7 +61,7 @@ static char usage[] = "\ -Usage: pixscale [-h] [-r] [-s squareinsize] [-w inwidth] [-n inheight]\n\ +Usage: pixscale [-r] [-s squareinsize] [-w inwidth] [-n inheight]\n\ [-S squareoutsize] [-W outwidth] [-N outheight] [in.pix] > out.pix\n"; /****** THIS PROBABLY SHOULD BE ELSEWHERE *******/ @@ -339,16 +339,12 @@ { int c; - while ((c = bu_getopt(argc, argv, "rhs:w:n:S:W:N:")) != -1) { + while ((c = bu_getopt(argc, argv, "rs:w:n:S:W:N:h?")) != -1) { switch (c) { case 'r': /* pixel replication */ rflag = 1; break; - case 'h': - /* high-res */ - inx = iny = 1024; - break; case 'S': /* square size */ outx = outy = atoi(bu_optarg); @@ -413,9 +409,10 @@ { int i; - if (!get_args(argc, argv) || isatty(fileno(stdout))) { + if ( argc == 1 && isatty(fileno(stdin)) && isatty(fileno(stdout)) ) bu_exit(1, "%s", usage); - } + if (!get_args(argc, argv) || isatty(fileno(stdout))) + bu_exit(1, "%s", usage); if (inx <= 0 || iny <= 0 || outx <= 0 || outy <= 0) { bu_exit(2, "pixscale: bad size\n"); Modified: brlcad/trunk/src/util/pixshrink.c =================================================================== --- brlcad/trunk/src/util/pixshrink.c 2013-06-10 17:47:20 UTC (rev 55700) +++ brlcad/trunk/src/util/pixshrink.c 2013-06-10 18:03:20 UTC (rev 55701) @@ -35,7 +35,7 @@ #define UCHAR unsigned char /* declarations to support use of bu_getopt() system call */ -char *options = "uhs:w:n:f:"; +char *options = "us:w:n:f:h?"; char *progname = "(noname)"; char *filename = "(stdin)"; @@ -173,7 +173,7 @@ void usage(void) { (void) fprintf(stderr, - "Usage: %s [-u] [-h] [-w width] [-n scanlines] [-s squaresize]\n\ + "Usage: %s [-u] [-w width] [-n scanlines] [-s squaresize]\n\ [-f shrink_factor] [pixfile] > pixfile\n", progname); bu_exit (1, NULL); } @@ -182,16 +182,14 @@ /* * P A R S E _ A R G S --- Parse through command line flags */ -void parse_args(int ac, char **av) +void +parse_args(int ac, char **av) { int c; if (!(progname = strrchr(*av, '/'))) progname = *av; - /* Turn off bu_getopt's error messages */ - bu_opterr = 0; - /* get all the option flags from the command line */ while ((c=bu_getopt(ac, av, options)) != -1) switch (c) { @@ -199,9 +197,6 @@ if ((c = atoi(bu_optarg)) > 1) factor = c; break; - case 'h': - width = height = 1024; - break; case 'n': if ((c=atoi(bu_optarg)) > 0) height = c; @@ -217,7 +212,6 @@ case 'u': method = METH_UNDERSAMPLE; break; - case '?': default: usage(); break; @@ -254,7 +248,8 @@ UCHAR *buffer = (UCHAR *)NULL; (void)parse_args(ac, av); - if (isatty(fileno(stdin))) usage(); + if (isatty(fileno(stdin))) + usage(); /* process stdin */ scanlen = width * 3; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2013-07-17 02:14:30
|
Revision: 56084 http://sourceforge.net/p/brlcad/code/56084 Author: starseeker Date: 2013-07-17 02:14:26 +0000 (Wed, 17 Jul 2013) Log Message: ----------- Update the rest of the util tool src files Modified Paths: -------------- brlcad/trunk/src/util/pixhist3d-plot3.c brlcad/trunk/src/util/plot3-X.c brlcad/trunk/src/util/plot3-asc.c brlcad/trunk/src/util/plot3-dm.c brlcad/trunk/src/util/plot3-hpgl.c brlcad/trunk/src/util/plot3-plot3.c brlcad/trunk/src/util/plot3-ps.c brlcad/trunk/src/util/plot3-tek.c brlcad/trunk/src/util/plot3color.c brlcad/trunk/src/util/plot3debug.c brlcad/trunk/src/util/plot3getframe.c brlcad/trunk/src/util/plot3line2.c brlcad/trunk/src/util/plot3rot.c brlcad/trunk/src/util/plot3stat.c brlcad/trunk/src/util/xyz-plot3.c Modified: brlcad/trunk/src/util/pixhist3d-plot3.c =================================================================== --- brlcad/trunk/src/util/pixhist3d-plot3.c 2013-07-17 02:01:01 UTC (rev 56083) +++ brlcad/trunk/src/util/pixhist3d-plot3.c 2013-07-17 02:14:26 UTC (rev 56084) @@ -1,4 +1,4 @@ -/* P I X H I S T 3 D - P L . C +/* P I X H I S T 3 D - P L O T 3 . C * BRL-CAD * * Copyright (c) 1986-2013 United States Government as represented by @@ -17,7 +17,7 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file util/pixhist3d-pl.c +/** @file util/pixhist3d-plot3.c * * RGB color space utilization to unix plot. * @@ -46,7 +46,7 @@ }; -static const char *Usage = "Usage: pixhist3d-pl [file.pix] | plot\n"; +static const char *Usage = "Usage: pixhist3d-plot3 [file.pix] | plot\n"; int main(int argc, char **argv) @@ -58,7 +58,7 @@ if (argc > 1) { if ((fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "%s", Usage); - bu_exit(1, "pixhist3d-pl: can't open \"%s\"\n", argv[1]); + bu_exit(1, "pixhist3d-plot3: can't open \"%s\"\n", argv[1]); } } else fp = stdin; Modified: brlcad/trunk/src/util/plot3-X.c =================================================================== --- brlcad/trunk/src/util/plot3-X.c 2013-07-17 02:01:01 UTC (rev 56083) +++ brlcad/trunk/src/util/plot3-X.c 2013-07-17 02:14:26 UTC (rev 56084) @@ -1,4 +1,4 @@ -/* P L - X . C +/* P L O T 3 - X . C * BRL-CAD * * Copyright (c) 1988-2013 United States Government as represented by @@ -17,7 +17,7 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file util/pl-X.c +/** @file util/plot3-X.c * * Display plot3(5) on an X Window System display (X11R2) * @@ -269,12 +269,12 @@ /* Open the display - XXX see what NULL does now */ if ((dpy = XOpenDisplay(envp)) == NULL) { - bu_exit(2, "pl-X: Can't open X display\n"); + bu_exit(2, "plot3-X: Can't open X display\n"); } /* Load the font to use */ if ((fontstruct = XLoadQueryFont(dpy, FONT)) == NULL) { - bu_exit(4, "pl-X: Can't open font\n"); + bu_exit(4, "plot3-X: Can't open font\n"); } /* Select border, background, foreground colors, @@ -297,7 +297,7 @@ xsh.x, xsh.y, xsh.width, xsh.height, bw, bd, bg); if (win == 0) { - bu_exit(3, "pl-X: Can't create window\n"); + bu_exit(3, "plot3-X: Can't create window\n"); } /* Set standard properties for Window Managers */ @@ -354,7 +354,7 @@ argv++; } if (isatty(fileno(stdin))) { - bu_exit(1, "Usage: pl-X [-v] < unix_plot\n"); + bu_exit(1, "Usage: plot3-X [-v] < unix_plot\n"); } xsetup(argc, argv); @@ -447,7 +447,7 @@ break; case 'e': /* erase might be the last command in the file - * which makes pl-X pointless so don't erase + * which makes plot3-X pointless so don't erase * unless this isn't the last command (check * during the next loop iteration) */ Modified: brlcad/trunk/src/util/plot3-asc.c =================================================================== --- brlcad/trunk/src/util/plot3-asc.c 2013-07-17 02:01:01 UTC (rev 56083) +++ brlcad/trunk/src/util/plot3-asc.c 2013-07-17 02:14:26 UTC (rev 56084) @@ -1,4 +1,4 @@ -/* P L - A S C . C +/* P L O T 3 - A S C . C * BRL-CAD * * Copyright (c) 1989-2013 United States Government as represented by @@ -17,7 +17,7 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file util/pl-asc.c +/** @file util/plot3-asc.c * * Plot3(5) to ASCII converter. Grew out of pldebug to be more * generally useful as an ascii editable plot file format. @@ -118,7 +118,7 @@ void outfloat(int n); static const char usage[] = "\ -Usage: pl-asc [-v] [unix_plot]\n"; +Usage: plot3-asc [-v] [unix_plot]\n"; int main(int argc, char **argv) @@ -138,7 +138,7 @@ } if (argc == 2) { if ((fp = fopen(argv[1], "r")) == NULL) { - perror("pl-asc"); + perror("plot3-asc"); return 1; } } else { Modified: brlcad/trunk/src/util/plot3-dm.c =================================================================== --- brlcad/trunk/src/util/plot3-dm.c 2013-07-17 02:01:01 UTC (rev 56083) +++ brlcad/trunk/src/util/plot3-dm.c 2013-07-17 02:14:26 UTC (rev 56084) @@ -1,4 +1,4 @@ -/* P L - D M . C +/* P L O T 3 - D M . C * BRL-CAD * * Copyright (c) 1999-2013 United States Government as represented by @@ -17,7 +17,7 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file util/pl-dm.c +/** @file util/plot3-dm.c * * Example application that shows how to hook into the display * manager. @@ -1139,7 +1139,7 @@ /* Locate the BRL-CAD-specific Tcl scripts */ filename = bu_brlcad_data("tclscripts", 0); - bu_vls_printf(&str2, "%s/pl-dm", filename); + bu_vls_printf(&str2, "%s/plot3-dm", filename); bu_vls_printf(&str, "wm withdraw .; set auto_path [linsert $auto_path 0 %s %s]", bu_vls_addr(&str2), filename); (void)Tcl_Eval(_interp, bu_vls_addr(&str)); @@ -1163,7 +1163,7 @@ int main(int argc, char *argv[]) { - const char usage[] = "Usage: pl-dm [-t o|X] plot_file(s)\n"; + const char usage[] = "Usage: plot3-dm [-t o|X] plot_file(s)\n"; if (!get_args(argc, argv)) bu_exit (1, "%s", usage); Modified: brlcad/trunk/src/util/plot3-hpgl.c =================================================================== --- brlcad/trunk/src/util/plot3-hpgl.c 2013-07-17 02:01:01 UTC (rev 56083) +++ brlcad/trunk/src/util/plot3-hpgl.c 2013-07-17 02:14:26 UTC (rev 56084) @@ -1,4 +1,4 @@ -/* P L - H P G L . C +/* P L O T 3 - H P G L . C * BRL-CAD * * Copyright (c) 2004-2013 United States Government as represented by @@ -17,7 +17,7 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file util/pl-hpgl.c +/** @file util/plot3-hpgl.c * * Description - * Convert a unix-plot file to hpgl codes. Modified: brlcad/trunk/src/util/plot3-plot3.c =================================================================== --- brlcad/trunk/src/util/plot3-plot3.c 2013-07-17 02:01:01 UTC (rev 56083) +++ brlcad/trunk/src/util/plot3-plot3.c 2013-07-17 02:14:26 UTC (rev 56084) @@ -1,4 +1,4 @@ -/* P L - P L . C +/* P L O T 3 - P L O T 3 . C * BRL-CAD * * Copyright (c) 1988-2013 United States Government as represented by @@ -17,7 +17,7 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file util/pl-pl.c +/** @file util/plot3-plot3.c * * Plot smasher. * @@ -134,7 +134,7 @@ int no3d = 1; static const char usage[] = "\ -Usage: pl-pl [-v] [-S] < unix_plot > unix_plot\n"; +Usage: plot3-plot3 [-v] [-S] < unix_plot > unix_plot\n"; int main(int argc, char **argv) @@ -334,9 +334,9 @@ } if (scale > 0.0 && !seenscale) { - fprintf(stderr, "pl-pl: WARNING no space command in file, defaulting to +/-32k\n"); + fprintf(stderr, "plot3-plot3: WARNING no space command in file, defaulting to +/-32k\n"); } else if (!(scale > 0.0) && seenscale) { - fprintf(stderr, "pl-pl: WARNING space command(s) ignored, use -S to apply them.\n"); + fprintf(stderr, "plot3-plot3: WARNING space command(s) ignored, use -S to apply them.\n"); } return 0; Modified: brlcad/trunk/src/util/plot3-ps.c =================================================================== --- brlcad/trunk/src/util/plot3-ps.c 2013-07-17 02:01:01 UTC (rev 56083) +++ brlcad/trunk/src/util/plot3-ps.c 2013-07-17 02:14:26 UTC (rev 56084) @@ -1,4 +1,4 @@ -/* P L - P S . C +/* P L O T 3 - P S . C * BRL-CAD * * Copyright (c) 1989-2013 United States Government as represented by @@ -17,10 +17,10 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file util/pl-ps.c +/** @file util/plot3-ps.c * * Display plot3(5) as PostScript. - * Based on pl-X.c and bw-ps.c + * Based on plot3-X.c and bw-ps.c * */ @@ -132,8 +132,8 @@ static FILE *infp; static char usage[] = "\ -Usage: pl-ps [-e] [-c] [-S inches_square]\n\ - [-W width_inches] [-N height_inches] [file.pl]\n"; +Usage: plot3-ps [-e] [-c] [-S inches_square]\n\ + [-W width_inches] [-N height_inches] [file.plot3]\n"; int getshort(void) @@ -291,7 +291,7 @@ if (encapsulated) { fputs("%!PS-Adobe-2.0 EPSF-1.2\n", fp); - fputs("%%Creator: BRL-CAD pl-ps\n", fp); + fputs("%%Creator: BRL-CAD plot3-ps\n", fp); fprintf(fp, "%%%%CreationDate: %s", ctime(<ime)); fprintf(fp, "%%%%Title: %s\n", name); fputs("%%Pages: 0\n", fp); @@ -300,7 +300,7 @@ fputs("%begin(plot)\n", fp); fputs("%%DocumentFonts: Courier\n", fp); fprintf(fp, "%%%%Title: %s\n", name); - fputs("%%Creator: BRL-CAD pl-ps\n", fp); + fputs("%%Creator: BRL-CAD plot3-ps\n", fp); fprintf(fp, "%%%%CreationDate: %s", ctime(<ime)); } fprintf(fp, "%%%%BoundingBox: 0 0 %d %d\n", w, h); @@ -396,7 +396,7 @@ file_name = argv[bu_optind]; if ((infp = fopen(file_name, "r")) == NULL) { fprintf(stderr, - "pl-ps: cannot open \"%s\" for reading\n", + "plot3-ps: cannot open \"%s\" for reading\n", file_name); return 0; } @@ -404,7 +404,7 @@ } if (argc > ++bu_optind) - fprintf(stderr, "pl-ps: excess argument(s) ignored\n"); + fprintf(stderr, "plot3-ps: excess argument(s) ignored\n"); return 1; /* OK */ } Modified: brlcad/trunk/src/util/plot3-tek.c =================================================================== --- brlcad/trunk/src/util/plot3-tek.c 2013-07-17 02:01:01 UTC (rev 56083) +++ brlcad/trunk/src/util/plot3-tek.c 2013-07-17 02:14:26 UTC (rev 56084) @@ -1,4 +1,4 @@ -/* P L - T E K . C +/* P L O T 3 - T E K . C * BRL-CAD * * Copyright (c) 1991-2013 United States Government as represented by @@ -17,7 +17,7 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file util/pl-tek.c +/** @file util/plot3-tek.c * * Convert 3-D color extended UNIX-plot file to Tektronix 4014 plot. * Gets rid of (floating point, flush, 3D, color, text). @@ -133,7 +133,7 @@ int expand_it = 0; /* expand plot to 4k, beyond what will fit on real Tek screen */ static const char usage[] = "\ -Usage: pl-tek [-e] [-v] < file.pl > file.tek\n"; +Usage: plot3-tek [-e] [-v] < file.plot3 > file.tek\n"; int @@ -377,7 +377,7 @@ } else if (BU_STR_EQUAL(argv[1], "-e")) { expand_it = 1; } else { - fprintf(stderr, "pl-tek: argument '%s' ignored\n", argv[1]); + fprintf(stderr, "plot3-tek: argument '%s' ignored\n", argv[1]); break; } @@ -502,12 +502,12 @@ case 'c': /* circle */ case 'i': /* d_circle */ - fprintf(stderr, "pl-tek: circle unimplemented\n"); + fprintf(stderr, "plot3-tek: circle unimplemented\n"); break; case 'a': /* arc */ case 'r': /* d_arc */ - fprintf(stderr, "pl-tek: arc unimplemented\n"); + fprintf(stderr, "plot3-tek: arc unimplemented\n"); break; case 'f': /* linmod */ @@ -529,12 +529,12 @@ break; default: - fprintf(stderr, "pl-tek: unknown command byte x%x\n", c); + fprintf(stderr, "plot3-tek: unknown command byte x%x\n", c); } } if (!seenscale) { - fprintf(stderr, "pl-tek: WARNING no space command in file, defaulting to +/-32k\n"); + fprintf(stderr, "plot3-tek: WARNING no space command in file, defaulting to +/-32k\n"); } return 0; Modified: brlcad/trunk/src/util/plot3color.c =================================================================== --- brlcad/trunk/src/util/plot3color.c 2013-07-17 02:01:01 UTC (rev 56083) +++ brlcad/trunk/src/util/plot3color.c 2013-07-17 02:14:26 UTC (rev 56084) @@ -1,4 +1,4 @@ -/* P L C O L O R . C +/* P L O T 3 C O L O R . C * BRL-CAD * * Copyright (c) 1986-2013 United States Government as represented by @@ -17,7 +17,7 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file util/plcolor.c +/** @file util/plot3color.c * * Output a color in UNIX plot format, for inclusion in a plot file. * @@ -33,7 +33,7 @@ #include "plot3.h" -static const char usage[] = "Usage: plcolor r g b\n"; +static const char usage[] = "Usage: plot3color r g b\n"; int main(int argc, char **argv) Modified: brlcad/trunk/src/util/plot3debug.c =================================================================== --- brlcad/trunk/src/util/plot3debug.c 2013-07-17 02:01:01 UTC (rev 56083) +++ brlcad/trunk/src/util/plot3debug.c 2013-07-17 02:14:26 UTC (rev 56084) @@ -1,4 +1,4 @@ -/* P L D E B U G . C +/* P L O T 3 D E B U G . C * BRL-CAD * * Copyright (c) 1988-2013 United States Government as represented by @@ -17,7 +17,7 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file util/pldebug.c +/** @file util/plot3debug.c * * Plot3(5) debugger * @@ -120,7 +120,7 @@ /* void outchar(), outstring(), outshort(), outfloat(); */ static const char usage[] = "\ -Usage: pldebug [-v] [unix_plot]\n"; +Usage: plot3debug [-v] [unix_plot]\n"; void @@ -226,7 +226,7 @@ } if (argc == 2) { if ((fp = fopen(argv[1], "r")) == NULL) { - perror("pldebug"); + perror("plot3debug"); bu_exit (1, NULL); } } else { Modified: brlcad/trunk/src/util/plot3getframe.c =================================================================== --- brlcad/trunk/src/util/plot3getframe.c 2013-07-17 02:01:01 UTC (rev 56083) +++ brlcad/trunk/src/util/plot3getframe.c 2013-07-17 02:14:26 UTC (rev 56084) @@ -1,4 +1,4 @@ -/* P L G E T F R A M E . C +/* P L O T 3 G E T F R A M E . C * BRL-CAD * * Copyright (c) 1988-2013 United States Government as represented by @@ -17,7 +17,7 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file util/plgetframe.c +/** @file util/plot3getframe.c * * Program to separate Plot3(5) file with flush/clear commands into * separate files. @@ -131,7 +131,7 @@ argv++; } if (argc < 2 || isatty(fileno(stdin))) { - bu_exit(1, "Usage: plgetframe [-v] desired_frame < unix_plot\n"); + bu_exit(1, "Usage: plot3getframe [-v] desired_frame < unix_plot\n"); } desired_frame = atoi(argv[1]); current_frame = 0; Modified: brlcad/trunk/src/util/plot3line2.c =================================================================== --- brlcad/trunk/src/util/plot3line2.c 2013-07-17 02:01:01 UTC (rev 56083) +++ brlcad/trunk/src/util/plot3line2.c 2013-07-17 02:14:26 UTC (rev 56084) @@ -1,4 +1,4 @@ -/* P L L I N E 2 . C +/* P L O T 3 L I N E 2 . C * BRL-CAD * * Copyright (c) 1986-2013 United States Government as represented by @@ -17,7 +17,7 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file util/plline2.c +/** @file util/plot3line2.c * * Output a 2-D line with double coordinates in UNIX plot format. * @@ -35,7 +35,7 @@ #include "plot3.h" -static const char usage[] = "Usage: plline2 x1 y1 x2 y2 [r g b]\n"; +static const char usage[] = "Usage: plot3line2 x1 y1 x2 y2 [r g b]\n"; int main(int argc, char **argv) Modified: brlcad/trunk/src/util/plot3rot.c =================================================================== --- brlcad/trunk/src/util/plot3rot.c 2013-07-17 02:01:01 UTC (rev 56083) +++ brlcad/trunk/src/util/plot3rot.c 2013-07-17 02:14:26 UTC (rev 56084) @@ -1,4 +1,4 @@ -/* P L R O T . C +/* P L O T 3 R O T . C * BRL-CAD * * Copyright (c) 1986-2013 United States Government as represented by @@ -17,7 +17,7 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file util/plrot.c +/** @file util/plot3rot.c * * Rotate, Translate, and Scale a Unixplot file. * @@ -83,7 +83,7 @@ { if (space_set) { - bu_log("plrot: additional SPACE command ignored\n"); + bu_log("plot3rot: additional SPACE command ignored\n"); bu_log("got: space (%g, %g, %g) (%g, %g, %g)\n", V3ARGS(min), V3ARGS(max)); bu_log("still using: space (%g, %g, %g) (%g, %g, %g)\n", @@ -324,7 +324,7 @@ -S# Space: takes a quoted string of six floats\n"; if (!get_args(argc, argv)) { - fputs("Usage: plrot [options] [file1 ... fileN] > file.plot\n", stderr); + fputs("Usage: plot3rot [options] [file1 ... fileN] > file.plot3\n", stderr); (void)fputs(opts, stderr); bu_exit (1, NULL); @@ -341,7 +341,7 @@ if (BU_STR_EQUAL(argv[bu_optind], "-")) fp = stdin; else if ((fp = fopen(argv[bu_optind], "r")) == NULL) { - bu_log("plrot: can't open \"%s\"\n", argv[bu_optind]); + bu_log("plot3rot: can't open \"%s\"\n", argv[bu_optind]); continue; } dofile(fp); @@ -526,10 +526,10 @@ three_dcoord_out(fp, rmat); break; default: - bu_log("plrot: unrecognized command '%c' (0x%x)\n", + bu_log("plot3rot: unrecognized command '%c' (0x%x)\n", (isascii(c) && isprint(c)) ? c : '?', c); - bu_log("plrot: ftell = %ld\n", bu_ftell(fp)); + bu_log("plot3rot: ftell = %ld\n", bu_ftell(fp)); putchar(c); break; } Modified: brlcad/trunk/src/util/plot3stat.c =================================================================== --- brlcad/trunk/src/util/plot3stat.c 2013-07-17 02:01:01 UTC (rev 56083) +++ brlcad/trunk/src/util/plot3stat.c 2013-07-17 02:14:26 UTC (rev 56084) @@ -1,4 +1,4 @@ -/* P L S T A T . C +/* P L O T 3 S T A T . C * BRL-CAD * * Copyright (c) 1990-2013 United States Government as represented by @@ -17,7 +17,7 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file util/plstat.c +/** @file util/plot3stat.c * * Print statistics about a Plot3(5) format file. * @@ -118,7 +118,7 @@ void outfloat(int n); static const char usage[] = "\ -Usage: plstat [-v] [unix_plot]\n"; +Usage: plot3stat [-v] [unix_plot]\n"; int @@ -155,7 +155,7 @@ } if (argc == 2) { if ((fp = fopen(argv[1], "r")) == NULL) { - perror("plstat"); + perror("plot3stat"); bu_exit (1, NULL); } } else { Modified: brlcad/trunk/src/util/xyz-plot3.c =================================================================== --- brlcad/trunk/src/util/xyz-plot3.c 2013-07-17 02:01:01 UTC (rev 56083) +++ brlcad/trunk/src/util/xyz-plot3.c 2013-07-17 02:14:26 UTC (rev 56084) @@ -1,4 +1,4 @@ -/* X Y Z - P L . C +/* X Y Z - P L O T 3 . C * BRL-CAD * * Copyright (c) 1988-2013 United States Government as represented by @@ -17,7 +17,7 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file util/xyz-pl.c +/** @file util/xyz-plot3.c * * Program to take input with up to 3 white-space separated columns, * expressed as This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <moh...@us...> - 2013-08-02 18:14:00
|
Revision: 56488 http://sourceforge.net/p/brlcad/code/56488 Author: mohitdaga Date: 2013-08-02 18:13:58 +0000 (Fri, 02 Aug 2013) Log Message: ----------- trailing ws Modified Paths: -------------- brlcad/trunk/src/util/dunncolor.c brlcad/trunk/src/util/dunnsnap.c brlcad/trunk/src/util/pixshrink.c Modified: brlcad/trunk/src/util/dunncolor.c =================================================================== --- brlcad/trunk/src/util/dunncolor.c 2013-08-02 18:12:06 UTC (rev 56487) +++ brlcad/trunk/src/util/dunncolor.c 2013-08-02 18:13:58 UTC (rev 56488) @@ -52,7 +52,7 @@ if (argc == 1 && isatty(fileno(stdin)) && isatty(fileno(stdout)) ) { fprintf(stderr,"%s\n",usage); - fprintf(stderr," Program continues running:\n"); + fprintf(stderr," Program continues running:\n"); } else if ( BU_STR_EQUAL(argv[1], "-h") || BU_STR_EQUAL(argv[1], "-?") ) bu_exit(25, "%s\n", usage); Modified: brlcad/trunk/src/util/dunnsnap.c =================================================================== --- brlcad/trunk/src/util/dunnsnap.c 2013-08-02 18:12:06 UTC (rev 56487) +++ brlcad/trunk/src/util/dunnsnap.c 2013-08-02 18:13:58 UTC (rev 56488) @@ -107,7 +107,7 @@ if (argc == 1 && isatty(fileno(stdin)) && isatty(fileno(stdout)) ) { fprintf(stderr,"%s",usage); - fprintf(stderr," Program continues running:\n"); + fprintf(stderr," Program continues running:\n"); } else if ( BU_STR_EQUAL(argv[1], "-h") || BU_STR_EQUAL(argv[1], "-?") ) bu_exit(25, "%s", usage); Modified: brlcad/trunk/src/util/pixshrink.c =================================================================== --- brlcad/trunk/src/util/pixshrink.c 2013-08-02 18:12:06 UTC (rev 56487) +++ brlcad/trunk/src/util/pixshrink.c 2013-08-02 18:13:58 UTC (rev 56488) @@ -105,7 +105,7 @@ facsq = Factor * Factor; - out_buf = buffer; + out_buf = buffer; for (y=0; y < Height; y += Factor) for (x=0; x < Width; x += Factor) { @@ -119,7 +119,7 @@ /* get first pixel in scanline */ pixelp = &buffer[(y+py)*scanlen+x*3]; - + /* add pixels from scanline to average */ for (px = 0; px < Factor; px++) { p[0] += *pixelp++; @@ -129,9 +129,9 @@ } /* store resultant pixel back in buffer */ - for (py = 0; py < 3; ++py) + for (py = 0; py < 3; ++py) *out_buf++ = p[py] / facsq; - + } } @@ -263,7 +263,7 @@ } write_image(width/factor, height/factor, buffer); - bu_free(buffer, "pixshrink: buffer"); + bu_free(buffer, "pixshrink: buffer"); return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <moh...@us...> - 2013-08-09 09:02:00
|
Revision: 56711 http://sourceforge.net/p/brlcad/code/56711 Author: mohitdaga Date: 2013-08-09 09:01:57 +0000 (Fri, 09 Aug 2013) Log Message: ----------- Cannot buffer more lines than the original image size. remove ioctl error in pixscale and bwscale utilities Modified Paths: -------------- brlcad/trunk/src/util/bwscale.c brlcad/trunk/src/util/pixscale.c Modified: brlcad/trunk/src/util/bwscale.c =================================================================== --- brlcad/trunk/src/util/bwscale.c 2013-08-09 05:53:03 UTC (rev 56710) +++ brlcad/trunk/src/util/bwscale.c 2013-08-09 09:01:57 UTC (rev 56711) @@ -190,7 +190,11 @@ */ if (max > 4096) max = 4096; - buflines = max; + if (max < iny) + buflines = max; + else + buflines = iny; + buf_start = (-buflines); buffer = (unsigned char *)bu_calloc(buflines, len, "buffer"); } Modified: brlcad/trunk/src/util/pixscale.c =================================================================== --- brlcad/trunk/src/util/pixscale.c 2013-08-09 05:53:03 UTC (rev 56710) +++ brlcad/trunk/src/util/pixscale.c 2013-08-09 09:01:57 UTC (rev 56711) @@ -328,7 +328,11 @@ */ if (max > 4096) max = 4096; - buflines = max; + if (max < iny) + buflines = max; + else + buflines = iny; + buf_start = (-buflines); buffer = bu_malloc(buflines * len, "buffer"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <moh...@us...> - 2013-08-10 01:22:18
|
Revision: 56732 http://sourceforge.net/p/brlcad/code/56732 Author: mohitdaga Date: 2013-08-10 01:22:15 +0000 (Sat, 10 Aug 2013) Log Message: ----------- Use libicv in bwrect utility. Also modify the usage criterio of bwrect. This utility now accepts command line arguments instead of prompt based user inputs. Also it can read from stdin and save in stdout. Modified Paths: -------------- brlcad/trunk/src/util/CMakeLists.txt brlcad/trunk/src/util/bwrect.c Modified: brlcad/trunk/src/util/CMakeLists.txt =================================================================== --- brlcad/trunk/src/util/CMakeLists.txt 2013-08-10 01:05:00 UTC (rev 56731) +++ brlcad/trunk/src/util/CMakeLists.txt 2013-08-10 01:22:15 UTC (rev 56732) @@ -63,7 +63,7 @@ BRLCAD_ADDEXEC(bwhist bwhist.c libfb) BRLCAD_ADDEXEC(bwhisteq bwhisteq.c libbu) BRLCAD_ADDEXEC(bwmod bwmod.c "libbu;${M_LIBRARY}") -BRLCAD_ADDEXEC(bwrect bwrect.c libbu) +BRLCAD_ADDEXEC(bwrect bwrect.c "libbu;libicv") BRLCAD_ADDEXEC(bwrot bwrot.c "libbu;${M_LIBRARY}") BRLCAD_ADDEXEC(bwscale bwscale.c libbu) BRLCAD_ADDEXEC(bwshrink bwshrink.c libbu) Modified: brlcad/trunk/src/util/bwrect.c =================================================================== --- brlcad/trunk/src/util/bwrect.c 2013-08-10 01:05:00 UTC (rev 56731) +++ brlcad/trunk/src/util/bwrect.c 2013-08-10 01:22:15 UTC (rev 56732) @@ -27,70 +27,85 @@ #include <stdlib.h> #include <stdio.h> +#include <unistd.h> #include "bu.h" +#include "icv.h" +int outx=0, outy=0; /* Number of pixels in new map */ +int xorig=0, yorig=0; /* Bottom left corner to extract from */ +int inx=512, iny=512; +char *out_file = NULL; +char *in_file = NULL; -int xnum, ynum; /* Number of pixels in new map */ -int xorig, yorig; /* Bottom left corner to extract from */ -int linelen; -char *buf; /* output scanline buffer, malloc'd */ +char usage[] = "\ +Usage: bwcrop [-s squaresize] [-w width] [-n height] [-W out_width ] [-N out_height] \n\ + [-x xorig] [-y yorig] [-S out_squaresize] [-o out_file.bw] [file.bw] > [out_file.bw]\n"; -int -main(int argc, char **argv) +static int +get_args(int argc, char **argv) { - FILE *ifp, *ofp; - int row; - off_t offset; - size_t ret; + int c; - if (argc < 3) { - bu_exit(1, "Usage: bwrect infile outfile (I prompt!)\n"); + while ((c = bu_getopt(argc, argv, "s:w:n:S:W:N:x:y:o:h?")) != -1) { + switch (c) { + case 's': + inx = iny = atoi(bu_optarg); + break; + case 'W': + outx = atoi(bu_optarg); + break; + case 'w': + inx = atoi(bu_optarg); + break; + case 'N': + outy = atoi(bu_optarg); + break; + case 'n': + iny = atoi(bu_optarg); + break; + case 'S': + outy = outx = atoi(bu_optarg); + break; + case 'x': + xorig = atoi(bu_optarg); + break; + case 'y': + yorig = atoi(bu_optarg); + break; + case 'o': + out_file = bu_optarg; + break; + case 'h' : + iny = inx = 1024; + break; + default : /* '?' */ + bu_log("%s", usage); + return 0; + } } - if ((ifp = fopen(argv[1], "r")) == NULL) { - bu_exit(2, "bwrect: can't open %s for reading\n", argv[1]); + if (bu_optind < argc) { + if ((isatty(fileno(stdin)))) { + in_file = argv[bu_optind]; + return 1; + } } - if ((ofp = fopen(argv[2], "w")) == NULL) { - bu_exit(3, "bwrect: can't open %s for writing\n", argv[2]); - } + return 1; /* OK */ +} - /* Get info */ - printf("Area to extract (x, y) in pixels "); - ret = scanf("%d%d", &xnum, &ynum); - if (ret != 2) - perror("scanf"); +int +main(int argc, char **argv) +{ + icv_image_t *img; + if(!get_args(argc, argv)) + return 1; - printf("Origin to extract from (0, 0 is lower left) "); - ret = scanf("%d%d", &xorig, &yorig); - if (ret != 2) - perror("scanf"); + img = icv_load(in_file, ICV_IMAGE_BW, inx, iny); + icv_rect(img, xorig, yorig, outx, outy); + icv_save(img, out_file , ICV_IMAGE_BW); - printf("Scan line length of input file "); - ret = scanf("%d", &linelen); - if (ret != 1) - perror("scanf"); - - buf = (char *)bu_malloc(xnum, "buffer"); - - /* Move all points */ - for (row = 0+yorig; row < ynum+yorig; row++) { - offset = row * linelen + xorig; - bu_fseek(ifp, offset, 0); - ret = fread(buf, sizeof(*buf), xnum, ifp); - if (ret == 0) { - perror("fread"); - break; - } - - ret = fwrite(buf, sizeof(*buf), xnum, ofp); - if (ret == 0) { - perror("fwrite"); - break; - } - } - - bu_free(buf, "buffer"); + icv_free(img); return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <moh...@us...> - 2013-08-13 21:25:11
|
Revision: 56814 http://sourceforge.net/p/brlcad/code/56814 Author: mohitdaga Date: 2013-08-13 21:25:08 +0000 (Tue, 13 Aug 2013) Log Message: ----------- pixrect modified to use icv api. It now no longer supports bytes_per pixel option and assumes 3 bytes for .pix files. Also prompting has been removed. Supports only command line arguments. Modified Paths: -------------- brlcad/trunk/src/util/CMakeLists.txt brlcad/trunk/src/util/pixrect.c Modified: brlcad/trunk/src/util/CMakeLists.txt =================================================================== --- brlcad/trunk/src/util/CMakeLists.txt 2013-08-13 21:22:59 UTC (rev 56813) +++ brlcad/trunk/src/util/CMakeLists.txt 2013-08-13 21:25:08 UTC (rev 56814) @@ -131,7 +131,7 @@ BRLCAD_ADDEXEC(pixmerge pixmerge.c libbu) BRLCAD_ADDEXEC(pixmorph pixmorph.c "libfb;libbu;${M_LIBRARY}") BRLCAD_ADDEXEC(pixpaste pixpaste.c "libfb;libbu") -BRLCAD_ADDEXEC(pixrect pixrect.c libbu) +BRLCAD_ADDEXEC(pixrect pixrect.c "libbu;libicv") BRLCAD_ADDEXEC(pixrot pixrot.c libbu) BRLCAD_ADDEXEC(pixsaturate pixsaturate.c libbu) BRLCAD_ADDEXEC(pixscale pixscale.c libbu) Modified: brlcad/trunk/src/util/pixrect.c =================================================================== --- brlcad/trunk/src/util/pixrect.c 2013-08-13 21:22:59 UTC (rev 56813) +++ brlcad/trunk/src/util/pixrect.c 2013-08-13 21:25:08 UTC (rev 56814) @@ -30,189 +30,101 @@ #include "bio.h" #include "bu.h" +#include "icv.h" +int outx=0, outy=0; /* Number of pixels in new map */ +int xorig=0, yorig=0; /* Bottom left corner to extract from */ +int inx=512, iny=512; +char *out_file = NULL; +char *in_file = NULL; -#define INTERACTIVE 0 -#define COMMAND_LINE 1 -FILE *ifp, *ofp; /* input and output file pointers */ +char usage[] = "\ +Usage: pixrect [-h] [squaresize] [-w width] [-n height] [-W out_width ] [-N out_height] \n\ + [-x xorig] [-y yorig] [-S out_squaresize] [-o out_file.bw] [file.bw] > [out_file.bw]\n"; -static char *file_name; -static int linelen; /* input width input file */ -static int xorig = 0; /* Bottom left corner to extract from */ -static int yorig = 0; /* Default at (0, 0) pixels */ -static int xnum = 0; -static int ynum = 0; -static int bytes_per_pixel = 3; /* Default for RGB */ - -static const char usage[] = "\ -Usage: pixrect -w in_width -n in_height -W out_width -N out_height\n\ - [-x xoffset] [-y yoffset] [-# bytes] [infile.pix]\n\ - or pixrect [-# bytes] infile outfile (I prompt!)\n"; - - -int +static int get_args(int argc, char **argv) { int c; - int inputmode = INTERACTIVE; - int ret; - /* Get info from command line arguments */ - while ((c = bu_getopt(argc, argv, "s:w:n:x:y:X:Y:S:W:N:#:")) != -1) { + while ((c = bu_getopt(argc, argv, "s:w:n:S:W:N:x:y:o:#:h?")) != -1) { switch (c) { case 's': - linelen = atoi(bu_optarg); - inputmode = COMMAND_LINE; - break; + inx = iny = atoi(bu_optarg); + break; + case 'W': + outx = atoi(bu_optarg); + break; case 'w': - linelen = atoi(bu_optarg); - inputmode = COMMAND_LINE; - break; + inx = atoi(bu_optarg); + break; + case 'N': + outy = atoi(bu_optarg); + break; case 'n': - inputmode = COMMAND_LINE; - break; + iny = atoi(bu_optarg); + break; + case 'S': + outy = outx = atoi(bu_optarg); + break; case 'x': - xorig = atoi(bu_optarg); - inputmode = COMMAND_LINE; - break; + xorig = atoi(bu_optarg); + break; case 'y': - yorig = atoi(bu_optarg); - inputmode = COMMAND_LINE; - break; - case 'X': - inputmode = COMMAND_LINE; - break; - case 'Y': - inputmode = COMMAND_LINE; - break; - case 'S': - xnum = ynum = atoi(bu_optarg); - inputmode = COMMAND_LINE; - break; - case 'W': - xnum = atoi(bu_optarg); - inputmode = COMMAND_LINE; - break; - case 'N': - ynum = atoi(bu_optarg); - inputmode = COMMAND_LINE; - break; - case '#': - bytes_per_pixel = atoi(bu_optarg); - break; - default: /* '?' */ - return 0; + yorig = atoi(bu_optarg); + break; + case 'o': + out_file = bu_optarg; + break; + case 'h' : + iny = inx = 1024; + break; + case '#' : + bu_log("pixrect: bytes per pixel is not supported.\n"); + return 0; + default : /* '?' */ + return 0; } } - - /* If parameters (i.e. xnum, etc.) are not entered on */ - /* command line, obtain input in the same style as */ - /* the original version of pixrect.c */ - - if (inputmode == INTERACTIVE) { - if (argc != 4 && argc != 3) + if (bu_optind >= argc) { + if (isatty(fileno(stdin))){ return 0; - - /* Obtain file pointers */ - if ((ifp = fopen(argv[argc-2], "r")) == NULL) { - fprintf(stderr, "%s", usage); - bu_exit(2, "pixrect: can't open %s\n", argv[argc-1]); } - if ((ofp = fopen(argv[argc-1], "w")) == NULL) { - fprintf(stderr, "%s", usage); - bu_exit(3, "pixrect: can't open %s\n", argv[argc]); - } + } else { + in_file = argv[bu_optind]; + bu_optind++; + return 1; + } - /* Get info */ - printf("Area to extract (x, y) in pixels "); - ret = scanf("%d%d", &xnum, &ynum); - if (ret != 2) - perror("scanf"); - printf("Origin to extract from (0, 0 is lower left) "); - ret = scanf("%d%d", &xorig, &yorig); - if (ret != 2) - perror("scanf"); - - printf("Scan line length of input file "); - ret = scanf("%d", &linelen); - if (ret != 1) - perror("scanf"); + if (!isatty(fileno(stdout)) && out_file!=NULL){ + return 0; } - /* Make sure necessary variables set */ - if (linelen <= 0 || xnum <= 0 || ynum <= 0) { - fprintf(stderr, "%s", usage); - bu_exit(1, "pixrect: args for -w -W -N [-S] must be > 0\n"); + if (argc > ++bu_optind) { + fprintf(stderr, "pixrect: excess argument(s) ignored\n"); } - if (inputmode == COMMAND_LINE) { - /* Obtain file pointers */ - ofp = stdout; - if (bu_optind >= argc) { - if (isatty(fileno(stdin))) { - fprintf(stderr, - "pixrect: input from stdin\n"); - return 0; - } - ifp = stdin; - } else { - file_name = argv[bu_optind]; - if ((ifp = fopen(file_name, "r")) == NULL) { - fprintf(stderr, - "pixrect: cannot open \"%s\" for reading\n", - file_name); - return 0; - } - } - - if (isatty(fileno(stdout))) { - fprintf(stderr, "pixrect: output to stdout\n\n"); - return 0; - } - } - - return 1; /* OK */ + return 1; } - -/* ======================================================================= */ - -char *buf; /* output scanline buffer, malloc'd */ -int outbytes; - int main(int argc, char **argv) { - int row; - off_t offset; - size_t ret; - - if (!get_args(argc, argv)) { - bu_exit(1, "%s", usage); + icv_image_t *img; + if(!get_args(argc, argv)) { + bu_log("%s", usage); + return 1; } - outbytes = xnum * bytes_per_pixel; + if((img = icv_read(in_file, ICV_IMAGE_PIX, inx, iny))==NULL) + return 1; + icv_rect(img, xorig, yorig, outx, outy); + icv_write(img, out_file , ICV_IMAGE_PIX); - if ((buf = (char *)malloc(outbytes)) == NULL) { - fprintf(stderr, "pixrect: malloc failed!\n"); - bu_exit (1, NULL); - } - - /* Move all points */ - for (row = 0 + yorig; row < ynum + yorig; row++) { - offset = (row * linelen + xorig) * bytes_per_pixel; - bu_fseek(ifp, offset, 0); - ret = fread(buf, sizeof(*buf), outbytes, ifp); - if (ret < (size_t)outbytes) - perror("fread"); - ret = fwrite(buf, sizeof(*buf), outbytes, ofp); - if (ret < (size_t)outbytes) - perror("fwrite"); - } - + icv_destroy(img); return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <moh...@us...> - 2013-08-13 22:25:23
|
Revision: 56816 http://sourceforge.net/p/brlcad/code/56816 Author: mohitdaga Date: 2013-08-13 22:25:19 +0000 (Tue, 13 Aug 2013) Log Message: ----------- use bu_log instead of fprintf for showing up error messages. Modified Paths: -------------- brlcad/trunk/src/util/bwrect.c brlcad/trunk/src/util/pixrect.c Modified: brlcad/trunk/src/util/bwrect.c =================================================================== --- brlcad/trunk/src/util/bwrect.c 2013-08-13 21:46:42 UTC (rev 56815) +++ brlcad/trunk/src/util/bwrect.c 2013-08-13 22:25:19 UTC (rev 56816) @@ -101,7 +101,7 @@ } if (argc > ++bu_optind) { - fprintf(stderr, "bwfilter: excess argument(s) ignored\n"); + bu_log("bwrect: excess argument(s) ignored\n"); } return 1; Modified: brlcad/trunk/src/util/pixrect.c =================================================================== --- brlcad/trunk/src/util/pixrect.c 2013-08-13 21:46:42 UTC (rev 56815) +++ brlcad/trunk/src/util/pixrect.c 2013-08-13 22:25:19 UTC (rev 56816) @@ -104,7 +104,7 @@ } if (argc > ++bu_optind) { - fprintf(stderr, "pixrect: excess argument(s) ignored\n"); + bu_log("pixrect: excess argument(s) ignored\n"); } return 1; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <moh...@us...> - 2013-08-13 22:40:47
|
Revision: 56819 http://sourceforge.net/p/brlcad/code/56819 Author: mohitdaga Date: 2013-08-13 22:40:44 +0000 (Tue, 13 Aug 2013) Log Message: ----------- -h option no longer means higher resolution images. It points to help regarding utility. Modified Paths: -------------- brlcad/trunk/src/util/bwrect.c brlcad/trunk/src/util/pixrect.c Modified: brlcad/trunk/src/util/bwrect.c =================================================================== --- brlcad/trunk/src/util/bwrect.c 2013-08-13 22:39:46 UTC (rev 56818) +++ brlcad/trunk/src/util/bwrect.c 2013-08-13 22:40:44 UTC (rev 56819) @@ -79,8 +79,6 @@ out_file = bu_optarg; break; case 'h' : - iny = inx = 1024; - break; default : /* '?' */ return 0; } Modified: brlcad/trunk/src/util/pixrect.c =================================================================== --- brlcad/trunk/src/util/pixrect.c 2013-08-13 22:39:46 UTC (rev 56818) +++ brlcad/trunk/src/util/pixrect.c 2013-08-13 22:40:44 UTC (rev 56819) @@ -78,12 +78,10 @@ case 'o': out_file = bu_optarg; break; - case 'h' : - iny = inx = 1024; - break; case '#' : bu_log("pixrect: bytes per pixel is not supported.\n"); return 0; + case 'h' : default : /* '?' */ return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2013-08-14 03:00:50
|
Revision: 56822 http://sourceforge.net/p/brlcad/code/56822 Author: brlcad Date: 2013-08-14 03:00:46 +0000 (Wed, 14 Aug 2013) Log Message: ----------- ws indent style cleanup. simplify 'if (expression)' preferring readability over brevity, make call and set to var before if (). Modified Paths: -------------- brlcad/trunk/src/util/bwrect.c brlcad/trunk/src/util/pixrect.c Modified: brlcad/trunk/src/util/bwrect.c =================================================================== --- brlcad/trunk/src/util/bwrect.c 2013-08-14 02:37:21 UTC (rev 56821) +++ brlcad/trunk/src/util/bwrect.c 2013-08-14 03:00:46 UTC (rev 56822) @@ -52,39 +52,39 @@ while ((c = bu_getopt(argc, argv, "s:w:n:S:W:N:x:y:o:h?")) != -1) { switch (c) { case 's': - inx = iny = atoi(bu_optarg); - break; + inx = iny = atoi(bu_optarg); + break; case 'W': - outx = atoi(bu_optarg); - break; + outx = atoi(bu_optarg); + break; case 'w': - inx = atoi(bu_optarg); - break; + inx = atoi(bu_optarg); + break; case 'N': - outy = atoi(bu_optarg); - break; + outy = atoi(bu_optarg); + break; case 'n': - iny = atoi(bu_optarg); - break; + iny = atoi(bu_optarg); + break; case 'S': - outy = outx = atoi(bu_optarg); - break; + outy = outx = atoi(bu_optarg); + break; case 'x': - xorig = atoi(bu_optarg); - break; + xorig = atoi(bu_optarg); + break; case 'y': - yorig = atoi(bu_optarg); - break; + yorig = atoi(bu_optarg); + break; case 'o': - out_file = bu_optarg; - break; + out_file = bu_optarg; + break; case 'h' : default : /* '?' */ - return 0; + return 0; } } if (bu_optind >= argc) { - if (isatty(fileno(stdin))){ + if (isatty(fileno(stdin))) { return 0; } } else { @@ -94,7 +94,7 @@ } - if (!isatty(fileno(stdout)) && out_file!=NULL){ + if (!isatty(fileno(stdout)) && out_file!=NULL) { return 0; } @@ -105,16 +105,18 @@ return 1; } + int main(int argc, char **argv) { icv_image_t *img; - if(!get_args(argc, argv)) { + if (!get_args(argc, argv)) { bu_log("%s", usage); return 1; } - if((img = icv_read(in_file, ICV_IMAGE_BW, inx, iny))==NULL) + img = icv_read(in_file, ICV_IMAGE_BW, inx, iny); + if (img == NULL) return 1; icv_rect(img, xorig, yorig, outx, outy); icv_write(img, out_file , ICV_IMAGE_BW); Modified: brlcad/trunk/src/util/pixrect.c =================================================================== --- brlcad/trunk/src/util/pixrect.c 2013-08-14 02:37:21 UTC (rev 56821) +++ brlcad/trunk/src/util/pixrect.c 2013-08-14 03:00:46 UTC (rev 56822) @@ -52,42 +52,42 @@ while ((c = bu_getopt(argc, argv, "s:w:n:S:W:N:x:y:o:#:h?")) != -1) { switch (c) { case 's': - inx = iny = atoi(bu_optarg); - break; + inx = iny = atoi(bu_optarg); + break; case 'W': - outx = atoi(bu_optarg); - break; + outx = atoi(bu_optarg); + break; case 'w': - inx = atoi(bu_optarg); - break; + inx = atoi(bu_optarg); + break; case 'N': - outy = atoi(bu_optarg); - break; + outy = atoi(bu_optarg); + break; case 'n': - iny = atoi(bu_optarg); - break; + iny = atoi(bu_optarg); + break; case 'S': - outy = outx = atoi(bu_optarg); - break; + outy = outx = atoi(bu_optarg); + break; case 'x': - xorig = atoi(bu_optarg); - break; + xorig = atoi(bu_optarg); + break; case 'y': - yorig = atoi(bu_optarg); - break; + yorig = atoi(bu_optarg); + break; case 'o': - out_file = bu_optarg; - break; + out_file = bu_optarg; + break; case '#' : - bu_log("pixrect: bytes per pixel is not supported.\n"); - return 0; + bu_log("pixrect: bytes per pixel is not supported.\n"); + return 0; case 'h' : default : /* '?' */ - return 0; + return 0; } } if (bu_optind >= argc) { - if (isatty(fileno(stdin))){ + if (isatty(fileno(stdin))) { return 0; } } else { @@ -97,7 +97,7 @@ } - if (!isatty(fileno(stdout)) && out_file!=NULL){ + if (!isatty(fileno(stdout)) && out_file!=NULL) { return 0; } @@ -108,21 +108,25 @@ return 1; } + int main(int argc, char **argv) { icv_image_t *img; - if(!get_args(argc, argv)) { + + if (!get_args(argc, argv)) { bu_log("%s", usage); return 1; } - if((img = icv_read(in_file, ICV_IMAGE_PIX, inx, iny))==NULL) + img = icv_read(in_file, ICV_IMAGE_PIX, inx, iny); + if (img == NULL) return 1; icv_rect(img, xorig, yorig, outx, outy); icv_write(img, out_file , ICV_IMAGE_PIX); icv_destroy(img); + return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2013-08-14 03:05:10
|
Revision: 56823 http://sourceforge.net/p/brlcad/code/56823 Author: brlcad Date: 2013-08-14 03:05:07 +0000 (Wed, 14 Aug 2013) Log Message: ----------- ugh , Modified Paths: -------------- brlcad/trunk/src/util/bwrect.c brlcad/trunk/src/util/pixrect.c Modified: brlcad/trunk/src/util/bwrect.c =================================================================== --- brlcad/trunk/src/util/bwrect.c 2013-08-14 03:00:46 UTC (rev 56822) +++ brlcad/trunk/src/util/bwrect.c 2013-08-14 03:05:07 UTC (rev 56823) @@ -119,7 +119,7 @@ if (img == NULL) return 1; icv_rect(img, xorig, yorig, outx, outy); - icv_write(img, out_file , ICV_IMAGE_BW); + icv_write(img, out_file, ICV_IMAGE_BW); icv_destroy(img); return 0; Modified: brlcad/trunk/src/util/pixrect.c =================================================================== --- brlcad/trunk/src/util/pixrect.c 2013-08-14 03:00:46 UTC (rev 56822) +++ brlcad/trunk/src/util/pixrect.c 2013-08-14 03:05:07 UTC (rev 56823) @@ -123,7 +123,7 @@ if (img == NULL) return 1; icv_rect(img, xorig, yorig, outx, outy); - icv_write(img, out_file , ICV_IMAGE_PIX); + icv_write(img, out_file, ICV_IMAGE_PIX); icv_destroy(img); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <moh...@us...> - 2013-08-22 21:04:19
|
Revision: 57082 http://sourceforge.net/p/brlcad/code/57082 Author: mohitdaga Date: 2013-08-22 21:04:13 +0000 (Thu, 22 Aug 2013) Log Message: ----------- Update bw-pix to use libicv. Also this imporves the usability of bw-pix. Modified Paths: -------------- brlcad/trunk/src/util/CMakeLists.txt brlcad/trunk/src/util/bw-pix.c Modified: brlcad/trunk/src/util/CMakeLists.txt =================================================================== --- brlcad/trunk/src/util/CMakeLists.txt 2013-08-22 21:01:05 UTC (rev 57081) +++ brlcad/trunk/src/util/CMakeLists.txt 2013-08-22 21:04:13 UTC (rev 57082) @@ -52,7 +52,7 @@ BRLCAD_ADDEXEC(buffer buffer.c libbu) BRLCAD_ADDEXEC(bw-a bw-a.c "libfb;libbu") BRLCAD_ADDEXEC(bw-imp bw-imp.c libbu) -BRLCAD_ADDEXEC(bw-pix bw-pix.c libbu) +BRLCAD_ADDEXEC(bw-pix bw-pix.c "libbu;libicv") BRLCAD_ADDEXEC(bw-png bw-png.c "libfb;libbu;${PNG_LIBRARY}") BRLCAD_ADDEXEC(bw-ps bw-ps.c libbu) BRLCAD_ADDEXEC(bw-rle "bw-rle.c;rle_args.c" "libbu;libsysv;${UTAHRLE_LIBRARY}") Modified: brlcad/trunk/src/util/bw-pix.c =================================================================== --- brlcad/trunk/src/util/bw-pix.c 2013-08-22 21:01:05 UTC (rev 57081) +++ brlcad/trunk/src/util/bw-pix.c 2013-08-22 21:04:13 UTC (rev 57082) @@ -23,67 +23,86 @@ * color one by replicating each value three times. * */ - #include "common.h" - #include <stdlib.h> -#include <ctype.h> -#include <string.h> +#include <stdio.h> #include "bio.h" - +#include "icv.h" #include "bu.h" -void -printusage(void) { - bu_exit(3, "Usage: bw-pix [in.bw] [out.pix]\n"); -} +char usage[] = "\ +Usage: bw-pix [-h] [-s squaresize] [-w width] [-n height] \n\ + [-o out_file.pix] [file.pix] > [out_file.pix]\n"; +int inx=512, iny=512; +char *out_file = NULL; +char *in_file = NULL; + int -main(int argc, char **argv) +get_args(int argc, char **argv) { - unsigned char ibuf[1024], obuf[3*1024]; - size_t in, out, num; - FILE *finp, *foutp; + int c; - if ( BU_STR_EQUAL(argv[1], "-h") || BU_STR_EQUAL(argv[1], "-?") ) - printusage(); - - /* check for input file */ - if (argc > 1) { - if ((finp = fopen(argv[1], "rb")) == NULL) { - bu_exit(1, "bw-pix: can't open \"%s\" for reading\n", argv[1]); + while ((c = bu_getopt(argc, argv, "s:w:n:o:h?")) != -1) { + switch (c) { + case 's': + inx = iny = atoi(bu_optarg); + break; + case 'w': + inx = atoi(bu_optarg); + break; + case 'n': + iny = atoi(bu_optarg); + break; + case 'o': + out_file = bu_optarg; + break; + case 'h': + default: /* '?' */ + return 0; } - } else - finp = stdin; + } - /* check for output file */ - if (argc > 2) { - if ((foutp = fopen(argv[2], "wb")) == NULL) { - bu_exit(2, "bw-pix: can't open \"%s\" for writing\n", argv[2]); + if (bu_optind >= argc) { + if (isatty(fileno(stdin))) { + return 0; } - } else - foutp = stdout; + } else { + in_file = argv[bu_optind]; + bu_optind++; + return 1; + } - if (argc > 3 || isatty(fileno(finp)) || isatty(fileno(foutp))) - printusage(); - while ((num = fread(ibuf, sizeof(char), 1024, finp)) > 0) { - size_t ret; - for (in = out = 0; in < num; in++, out += 3) { - obuf[out] = ibuf[in]; - obuf[out+1] = ibuf[in]; - obuf[out+2] = ibuf[in]; - } - ret = fwrite(obuf, sizeof(char), 3*num, foutp); - if (ret == 0) { - perror("fwrite"); - break; - } + if (!isatty(fileno(stdout)) && out_file!=NULL) { + return 0; } + + if (argc > ++bu_optind) { + bu_log("bw-pix: excess argument(s) ignored\n"); + } + + return 1; /* OK */ +} + +int +main(int argc, char **argv) +{ + icv_image_t *img; + if (!get_args(argc, argv)) { + bu_log("%s", usage); + return 1; + } + + img = icv_read(in_file, ICV_IMAGE_BW, inx, iny); + if (img == NULL) + return 1; + icv_gray2rgb(img); + icv_write(img, out_file, ICV_IMAGE_PIX); + icv_destroy(img); return 0; } - /* * Local Variables: * mode: C This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <moh...@us...> - 2013-08-22 21:06:27
|
Revision: 57083 http://sourceforge.net/p/brlcad/code/57083 Author: mohitdaga Date: 2013-08-22 21:06:24 +0000 (Thu, 22 Aug 2013) Log Message: ----------- Update pixfade to use libicv. This now uses icv api to fade an image. This helps in writting/reading to/from pipes. Modified Paths: -------------- brlcad/trunk/src/util/CMakeLists.txt brlcad/trunk/src/util/pixfade.c Modified: brlcad/trunk/src/util/CMakeLists.txt =================================================================== --- brlcad/trunk/src/util/CMakeLists.txt 2013-08-22 21:04:13 UTC (rev 57082) +++ brlcad/trunk/src/util/CMakeLists.txt 2013-08-22 21:06:24 UTC (rev 57083) @@ -118,7 +118,7 @@ BRLCAD_ADDEXEC(pixdsplit pixdsplit.c libbu) BRLCAD_ADDEXEC(pixelswap pixelswap.c libbu) BRLCAD_ADDEXEC(pixembed pixembed.c libbu) -BRLCAD_ADDEXEC(pixfade pixfade.c "libbn;libbu") +BRLCAD_ADDEXEC(pixfade pixfade.c "libicv;libbu") BRLCAD_ADDEXEC(pixfields pixfields.c libbu) BRLCAD_ADDEXEC(pixfieldsep pixfieldsep.c libbu) BRLCAD_ADDEXEC(pixfilter pixfilter.c libbu) Modified: brlcad/trunk/src/util/pixfade.c =================================================================== --- brlcad/trunk/src/util/pixfade.c 2013-08-22 21:04:13 UTC (rev 57082) +++ brlcad/trunk/src/util/pixfade.c 2013-08-22 21:06:24 UTC (rev 57083) @@ -43,47 +43,60 @@ * straight-forward. * */ - #include "common.h" -#include <stdlib.h> /* for atof() */ -#include <math.h> +#include <stdlib.h> +#include <stdio.h> + #include "bio.h" - -#include "vmath.h" +#include "icv.h" #include "bu.h" -#include "bn.h" +int inx=512, iny=512; +char *out_file = NULL; +char *in_file = NULL; + +char usage[] = "\ +Usage: pixfade [-h] [-p percentage] [-f fraction] [-s squaresize] [-w width] [-n height] \n\ + [-o out_file.pix] [file.bw] > [out_file.pix]\n"; + +double multiplier = 0.5; + int -get_args(int argc, char **argv, FILE **inpp, int *max, double *multiplier) +get_args(int argc, char **argv) { int c; - while ((c = bu_getopt(argc, argv, "m:p:f:")) != -1) { + while ((c = bu_getopt(argc, argv, "p:f:s:w:n:o:h?")) != -1) { switch (c) { - case 'm': - *max = atoi(bu_optarg); - if ((*max < 0) || (*max > 255)) { - fprintf(stderr, "pixfade: max out of range"); + case 'p': + multiplier = atof(bu_optarg) / 100.0; + if (multiplier < 0.0) { + bu_log("pixfade: percent is negative"); bu_exit (1, NULL); } break; - case 'p': - *multiplier = atof(bu_optarg) / 100.0; - if (*multiplier < 0.0) { - fprintf(stderr, "pixfade: percent is negative"); - bu_exit (1, NULL); - } - break; case 'f': - *multiplier = atof(bu_optarg); - if (*multiplier < 0.0) { - fprintf(stderr, "pixfade: fraction is negative"); + multiplier = atof(bu_optarg); + if (multiplier < 0.0) { + bu_log("pixfade: fraction is negative"); bu_exit (1, NULL); } break; - + case 's': + inx = iny = atoi(bu_optarg); + break; + case 'w': + inx = atoi(bu_optarg); + break; + case 'n': + iny = atoi(bu_optarg); + break; + case 'o': + out_file = bu_optarg; + break; + case 'h': default: /* '?' */ return 0; } @@ -91,28 +104,23 @@ if (bu_optind >= argc) { if (isatty(fileno(stdin))) { - fprintf(stderr, "pixfade: stdin is a tty\n"); return 0; } - *inpp = stdin; } else { - *inpp = fopen(argv[bu_optind], "r"); - if (*inpp == NULL) { - fprintf(stderr, - "pixfade: cannot open \"%s\" for reading\n", - argv[bu_optind]); - return 0; - } + in_file = argv[bu_optind]; + bu_optind++; + return 1; } - if (argc > ++bu_optind) - fprintf(stderr, "pixfade: excess argument(s) ignored\n"); - if (isatty(fileno(stdout))) { - fprintf(stderr, "pixfade: stdout is a tty\n"); + if (!isatty(fileno(stdout)) && out_file!=NULL) { return 0; } + if (argc > ++bu_optind) { + bu_log("pixfade: excess argument(s) ignored\n"); + } + return 1; /* OK */ } @@ -120,57 +128,19 @@ int main(int argc, char **argv) { - static char usage[] = "\ -Usage: pixfade [-m max] [-p percent] [-f fraction] [pix-file]\n"; - - FILE *inp = NULL; - int max = 255; - double multiplier = 1.0; - - float *randp; - struct color_rec { - unsigned char red, green, blue; - } cur_color; - - bn_rand_init(randp, 0); - - if (!get_args(argc, argv, &inp, &max, &multiplier)) { - (void)fputs(usage, stderr); - bu_exit (1, NULL); + icv_image_t *img; + if (!get_args(argc, argv)) { + bu_log("%s", usage); + return 1; } - /* fprintf(stderr, "pixfade: max = %d, multiplier = %f\n", max, multiplier); */ + img = icv_read(in_file, ICV_IMAGE_PIX, inx, iny); + if (img == NULL) + return 1; + icv_fade(img, multiplier); + icv_write(img, out_file, ICV_IMAGE_PIX); - for (;;) { - double t; - size_t ret; - - ret = fread(&cur_color, 1, 3, inp); - if (ret != 3) break; - if (feof(inp)) break; - - t = cur_color.red * multiplier + bn_rand_half(randp); - if (t > max) - cur_color.red = max; - else - cur_color.red = t; - - t = cur_color.green * multiplier + bn_rand_half(randp); - if (t > max) - cur_color.green = max; - else - cur_color.green = t; - - t = cur_color.blue * multiplier + bn_rand_half(randp); - if (t > max) - cur_color.blue = max; - else - cur_color.blue = t; - - ret = fwrite(&cur_color, 1, 3, stdout); - if (ret < 3) - perror("fwrite"); - } + icv_destroy(img); return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <moh...@us...> - 2013-08-24 10:26:22
|
Revision: 57114 http://sourceforge.net/p/brlcad/code/57114 Author: mohitdaga Date: 2013-08-24 10:26:17 +0000 (Sat, 24 Aug 2013) Log Message: ----------- Use icv in pix-bw utility. This imporvement now supports pipes and can also save file to output files specified. Modified Paths: -------------- brlcad/trunk/src/util/CMakeLists.txt brlcad/trunk/src/util/pix-bw.c Modified: brlcad/trunk/src/util/CMakeLists.txt =================================================================== --- brlcad/trunk/src/util/CMakeLists.txt 2013-08-24 10:22:27 UTC (rev 57113) +++ brlcad/trunk/src/util/CMakeLists.txt 2013-08-24 10:26:17 UTC (rev 57114) @@ -94,7 +94,7 @@ BRLCAD_ADDEXEC(random random.c "libbn;libbu") BRLCAD_ADDEXEC(orle-pix orle-pix.c "libfb;liborle;libbu") BRLCAD_ADDEXEC(pix-alias pix-alias.c libbu) -BRLCAD_ADDEXEC(pix-bw pix-bw.c libbu) +BRLCAD_ADDEXEC(pix-bw pix-bw.c "libbu;libicv") BRLCAD_ADDEXEC(pix-bw3 pix-bw3.c libbu) BRLCAD_ADDEXEC(pix-orle pix-orle.c "libfb;liborle;libbu") BRLCAD_ADDEXEC(pix-png pix-png.c "libfb;libbu;${PNG_LIBRARY}") Modified: brlcad/trunk/src/util/pix-bw.c =================================================================== --- brlcad/trunk/src/util/pix-bw.c 2013-08-24 10:22:27 UTC (rev 57113) +++ brlcad/trunk/src/util/pix-bw.c 2013-08-24 10:26:17 UTC (rev 57114) @@ -35,6 +35,7 @@ #include <math.h> #include <string.h> #include "bio.h" +#include "icv.h" #include "bu.h" #include "vmath.h" @@ -49,135 +50,126 @@ double rweight = 0.0; double gweight = 0.0; double bweight = 0.0; +ICV_COLOR color; +int inx=512, iny=512; +char *out_file = NULL; +char *in_file = NULL; + static const char usage[] = "\ -Usage: pix-bw [-ntsc -crt -R[#] -G[#] -B[#]] [in.pix] > out.bw\n"; +pix-bw [-h] [squaresize] [-w width] [-n height] \n\ + [ [-N] [-C] [-R red_weight] [-G green_weight] [-B blue_weight] ] \n\ + [-o out_file.bw] [file.bw] > [out_file.bw] \n"; +double multiplier = 0.5; + int -main(int argc, char **argv) +get_args(int argc, char **argv) { - size_t in, out, num; - int multiple_colors, num_color_planes; - int clip_high, clip_low; - double value; - FILE *finp, *foutp; - size_t ret; + int c; - while (argc > 1 && argv[1][0] == '-') { - if (BU_STR_EQUAL(argv[1], "-ntsc")) { - /* NTSC weights */ - rweight = 0.30; - gweight = 0.59; - bweight = 0.11; - red = green = blue = 1; - } else if (BU_STR_EQUAL(argv[1], "-crt")) { - /* CRT weights */ - rweight = 0.26; - gweight = 0.66; - bweight = 0.08; - red = green = blue = 1; - } else { - switch (argv[1][1]) { - case 'R': - red++; - if (argv[1][2] != '\0') - rweight = atof(&argv[1][2]); - break; - case 'G': - green++; - if (argv[1][2] != '\0') - gweight = atof(&argv[1][2]); - break; - case 'B': - blue++; - if (argv[1][2] != '\0') - bweight = atof(&argv[1][2]); - break; - default: - fprintf(stderr, "pix-bw: bad flag \"%s\"\n", argv[1]); - bu_exit(1, "%s", usage); - } + while ((c = bu_getopt(argc, argv, "R:G:B:s:w:n:o:h?NC")) != -1) { + switch (c) { + case 'N' : + rweight = 0.30; + gweight = 0.59; + bweight = 0.11; + red = green = blue = 1; + color = ICV_COLOR_RGB; + break; + case 'C' : + rweight = 0.26; + gweight = 0.66; + bweight = 0.08; + red = green = blue = 1; + color = ICV_COLOR_RGB; + break; + case 'R' : + red++; + rweight = atof(bu_optarg); + break; + case 'G' : + green++; + gweight = atof(bu_optarg); + break; + case 'B' : + blue++; + bweight = atof(bu_optarg); + break; + case 's': + inx = iny = atoi(bu_optarg); + break; + case 'w': + inx = atoi(bu_optarg); + break; + case 'n': + iny = atoi(bu_optarg); + break; + case 'o': + out_file = bu_optarg; + break; + case 'h': + default: /* '?' */ + return 0; } - argc--; - argv++; } - if (argc > 1) { - if ((finp = fopen(argv[1], "rb")) == NULL) { - bu_exit(2, "pix-bw: can't open \"%s\"\n", argv[1]); + if (bu_optind >= argc) { + if (isatty(fileno(stdin))) { + return 0; } - } else - finp = stdin; + } else { + in_file = argv[bu_optind]; + bu_optind++; + return 1; + } -#if defined(_WIN32) && !defined(__CYGWIN__) - setmode(fileno(stdin), O_BINARY); - setmode(fileno(stdout), O_BINARY); - setmode(fileno(stderr), O_BINARY); -#endif - foutp = stdout; + if (!isatty(fileno(stdout)) && out_file!=NULL) { + return 0; + } - if (isatty(fileno(finp)) || isatty(fileno(foutp))) { - bu_exit(2, "%s", usage); + if (argc > ++bu_optind) { + bu_log("pixfade: excess argument(s) ignored\n"); } - /* Hack for multiple color planes */ - if (red + green + blue > 1 || !ZERO(rweight) || !ZERO(gweight) || !ZERO(bweight)) - multiple_colors = 1; - else - multiple_colors = 0; + return 1; /* OK */ +} - num_color_planes = red + green + blue; - if (red != 0 && ZERO(rweight)) - rweight = 1.0 / (double)num_color_planes; - if (green != 0 && ZERO(gweight)) - gweight = 1.0 / (double)num_color_planes; - if (blue != 0 && ZERO(bweight)) - bweight = 1.0 / (double)num_color_planes; +int +main(int argc, char **argv) +{ - clip_high = clip_low = 0; - while ((num = fread(ibuf, sizeof(char), 3*1024, finp)) > 0) { - /* - * The loops are repeated for efficiency... - */ - if (multiple_colors) { - for (in = out = 0; out < num/3; out++, in += 3) { - value = rweight*ibuf[in] + gweight*ibuf[in+1] + bweight*ibuf[in+2]; - if (value > 255.0) { - obuf[out] = 255; - clip_high++; - } else if (value < 0.0) { - obuf[out] = 0; - clip_low++; - } else - obuf[out] = value; - } - } else if (red) { - for (in = out = 0; out < num/3; out++, in += 3) - obuf[out] = ibuf[in]; - } else if (green) { - for (in = out = 0; out < num/3; out++, in += 3) - obuf[out] = ibuf[in+1]; - } else if (blue) { - for (in = out = 0; out < num/3; out++, in += 3) - obuf[out] = ibuf[in+2]; - } else { - /* uniform weight */ - for (in = out = 0; out < num/3; out++, in += 3) - obuf[out] = ((int)ibuf[in] + (int)ibuf[in+1] + - (int)ibuf[in+2]) / 3; - } - ret = fwrite(obuf, sizeof(char), num/3, foutp); - if (ret != (size_t)num/3) - perror("fwrite"); + icv_image_t *img; + if (!get_args(argc, argv)) { + bu_log("%s", usage); + return 1; } - if (clip_high != 0 || clip_low != 0) { - fprintf(stderr, "pix-bw: clipped %d high, %d, low\n", - clip_high, clip_low); - } + img = icv_read(in_file, ICV_IMAGE_PIX, inx, iny); - return 0; + if (img == NULL) + return 1; + + if(red && green && blue) + color = ICV_COLOR_RGB; + else if (blue && green) + color = ICV_COLOR_BG; + else if (red && blue) + color = ICV_COLOR_RB; + else if (red && green) + color = ICV_COLOR_RG; + else if (red) + color = ICV_COLOR_R; + else if (blue) + color = ICV_COLOR_B; + else if (green) + color = ICV_COLOR_G; + else bu_exit(1, "%s",usage); + + icv_rgb2gray(img, color, rweight, gweight, bweight); + + icv_write(img, out_file, ICV_IMAGE_BW); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <moh...@us...> - 2013-08-26 21:35:25
|
Revision: 57150 http://sourceforge.net/p/brlcad/code/57150 Author: mohitdaga Date: 2013-08-26 21:35:21 +0000 (Mon, 26 Aug 2013) Log Message: ----------- Modify bwfilter to use icv api. Also this change enables this utility to redirect the output to pipes. And offset is now set with -O instead of -o flag.(since output image usage that flag and wanted this to be universal) Modified Paths: -------------- brlcad/trunk/src/util/CMakeLists.txt brlcad/trunk/src/util/bwfilter.c Modified: brlcad/trunk/src/util/CMakeLists.txt =================================================================== --- brlcad/trunk/src/util/CMakeLists.txt 2013-08-26 21:30:33 UTC (rev 57149) +++ brlcad/trunk/src/util/CMakeLists.txt 2013-08-26 21:35:21 UTC (rev 57150) @@ -59,7 +59,7 @@ BRLCAD_ADDEXEC(bw3-pix bw3-pix.c libbu) BRLCAD_ADDEXEC(bwcrop bwcrop.c libbu) BRLCAD_ADDEXEC(bwdiff bwdiff.c libbu) -BRLCAD_ADDEXEC(bwfilter bwfilter.c libbu) +BRLCAD_ADDEXEC(bwfilter bwfilter.c "libicv;libbu") BRLCAD_ADDEXEC(bwhist bwhist.c libfb) BRLCAD_ADDEXEC(bwhisteq bwhisteq.c libbu) BRLCAD_ADDEXEC(bwmod bwmod.c "libbu;${M_LIBRARY}") Modified: brlcad/trunk/src/util/bwfilter.c =================================================================== --- brlcad/trunk/src/util/bwfilter.c 2013-08-26 21:30:33 UTC (rev 57149) +++ brlcad/trunk/src/util/bwfilter.c 2013-08-26 21:35:21 UTC (rev 57150) @@ -32,55 +32,96 @@ #include "bio.h" #include "bu.h" +#include "icv.h" - -#define MAXLINE (8*1024) -#define DEFAULT_WIDTH 512 -unsigned char line1[MAXLINE], line2[MAXLINE], line3[MAXLINE], obuf[MAXLINE]; -unsigned char *top, *middle, *bottom, *temp; - /* The filter kernels */ struct kernels { char *name; char *uname; /* What is needed to recognize it */ - int kern[9]; int kerndiv; /* Divisor for kernel */ int kernoffset; /* To be added to result */ + ICV_FILTER filter; } kernel[] = { - { "Low Pass", "lo", {3, 5, 3, 5, 10, 5, 3, 5, 3}, 42, 0 }, - { "Laplacian", "la", {-1, -1, -1, -1, 8, -1, -1, -1, -1}, 16, 128 }, - { "High Pass", "hi", {-1, -2, -1, -2, 13, -2, -1, -2, -1}, 1, 0 }, - { "Horizontal Gradient", "hg", {1, 0, -1, 1, 0, -1, 1, 0, -1}, 6, 128}, - { "Vertical Gradient", "vg", {1, 1, 1, 0, 0, 0, -1, -1, -1}, 6, 128 }, - { "Boxcar Average", "b", {1, 1, 1, 1, 1, 1, 1, 1, 1}, 9, 0 }, - { NULL, NULL, {0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0 }, + { "Low Pass", "lo", 42, 0, ICV_FILTER_LOW_PASS }, + { "Laplacian", "la", 16, 128, ICV_FILTER_LAPLACIAN }, + { "High Pass", "hi", 1, 0, ICV_FILTER_HIGH_PASS }, + { "Horizontal Gradient", "hg", 6, 128, ICV_FILTER_HORIZONTAL_GRAD }, + { "Vertical Gradient", "vg", 6, 128, ICV_FILTER_VERTICAL_GRAD }, + { "Boxcar Average", "b", 9, 0, ICV_FILTER_BOXCAR_AVERAGE }, + { NULL, NULL, 0, 0, ICV_FILTER_NULL } }; - -int *kern; int kerndiv; int kernoffset; -int width = DEFAULT_WIDTH; -int height = DEFAULT_WIDTH; +double kerndiv_diff, kernoffset_diff; +ICV_FILTER filter_type; +int inx = 512; +int iny = 512; /* Default Width */ int verbose = 0; int dflag = 0; /* Different divisor specified */ int oflag = 0; /* Different offset specified */ -char *file_name; -FILE *infp; - void select_filter(char *str), dousage(void); char usage[] = "\ -Usage: bwfilter [-f type] [-v] [-d div] [-o offset]\n\ - [-s squaresize] [-w width] [-n height] [file.bw] > file.bw\n"; +Usage: bwfilter [-f type] [-v] [-d div] [-O offset]\n\ + [-s squaresize] [-w width] [-n height] [-o out_file.bw] [file.bw] > out_file.bw\n"; +char *in_file = NULL; +char *out_file = NULL; + +/* + * S E L E C T _ F I L T E R + * + * Looks at the command line string and selects a filter + * based on it. + */ +void +select_filter(char *str) +{ + int i; + + i = 0; + while (kernel[i].name != NULL) { + if (bu_strncmp(str, kernel[i].uname, strlen(kernel[i].uname)) == 0) + break; + i++; + } + + if (kernel[i].name == NULL) { + /* No match, output list and exit */ + fprintf(stderr, "Unrecognized filter type \"%s\"\n", str); + dousage(); + bu_exit (3, NULL); + } + filter_type = kernel[i].filter; + /* Have a match, set up that kernel */ + if (dflag == 1) + if(kernel[i].filter != ICV_FILTER_NULL) + kerndiv_diff = kerndiv/kernel[i].kerndiv; + if (oflag == 1) + kernoffset_diff = ICV_CONV_8BIT(kernoffset - kernel[i].kernoffset)/(double) kerndiv; +} + +void +dousage(void) +{ + int i; + fputs(usage, stderr); + fputs("Possible arguments for -f (type):\n", stderr); + i = 0; + while (kernel[i].name != NULL) { + fprintf(stderr, " %-10s%s\n", kernel[i].uname, kernel[i].name); + i++; + } +} + int get_args(int argc, char **argv) { int c; - while ((c = bu_getopt(argc, argv, "vf:d:o:w:n:s:h?")) != -1) { + while ((c = bu_getopt(argc, argv, "vf:d:O:w:n:s:h?")) != -1) { switch (c) { case 'v': verbose++; @@ -92,57 +133,52 @@ dflag++; kerndiv = atoi(bu_optarg); break; - case 'o': + case 'O': oflag++; kernoffset = atoi(bu_optarg); break; case 'w': - width = atoi(bu_optarg); + inx = atoi(bu_optarg); break; + case 'o': + out_file = bu_optarg; + break; case 'n': - height = atoi(bu_optarg); + iny = atoi(bu_optarg); break; case 's': - width = height = atoi(bu_optarg); + inx = iny = atoi(bu_optarg); break; default: /* '?' */ return 0; } } - if (bu_optind >= argc) { - if (isatty(fileno(stdin))) + if (isatty(fileno(stdin))) { return 0; - file_name = "-"; - infp = stdin; + } } else { - file_name = argv[bu_optind]; - if ((infp = fopen(file_name, "r")) == NULL) { - fprintf(stderr, - "bwfilter: cannot open \"%s\" for reading\n", - file_name); - return 0; - } + in_file = argv[bu_optind]; + bu_optind++; + return 1; } - if (isatty(fileno(stdout))) + if (!isatty(fileno(stdout)) && out_file!=NULL) { return 0; + } - if (argc > ++bu_optind) - fprintf(stderr, "bwfilter: excess argument(s) ignored\n"); + if (argc > ++bu_optind) { + bu_log("bwrfilter: excess argument(s) ignored\n"); + } - return 1; /* OK */ + return 1; } int main(int argc, char **argv) { - int x, y; - int value, r1, r2, r3; - int max, min; - size_t ret; - + icv_image_t *img; /* Select Default Filter (low pass) */ select_filter("low"); @@ -150,139 +186,18 @@ dousage(); bu_exit (1, NULL); } + img = icv_read(in_file, ICV_IMAGE_BW, inx, iny); + if (img == NULL) + return 1; - if (width > MAXLINE) { - fprintf(stderr, "bwfilter: limited to scanlines of %d\n", MAXLINE); - bu_exit (1, NULL); - } + icv_filter(img, filter_type); - /* - * Read in bottom and middle lines. - * Write out bottom untouched. - */ - bottom = &line1[0]; - middle = &line2[0]; - top = &line3[0]; - ret = fread(bottom, sizeof(char), width, infp); - if (ret == 0) - perror("fread"); - ret = fread(middle, sizeof(char), width, infp); - if (ret == 0) - perror("fread"); - - ret = fwrite(bottom, sizeof(char), width, stdout); - if (ret == 0) - perror("fwrite"); - - if (verbose) { - for (x = 0; x < 11; x++) - fprintf(stderr, "kern[%d] = %d\n", x, kern[x]); - } - - max = 0; - min = 255; - - for (y = 1; y < height-1; y++) { - /* read in top line */ - ret = fread(top, sizeof(char), width, infp); - if (ret == 0) - perror("fread"); - - obuf[0] = middle[0]; - /* Filter a line */ - for (x = 1; x < width-1; x++) { - r1 = top[x-1] * kern[0] + top[x] * kern[1] + top[x+1] * kern[2]; - r2 = middle[x-1] * kern[3] + middle[x] * kern[4] + middle[x+1] * kern[5]; - r3 = bottom[x-1] * kern[6] + bottom[x] * kern[7] + bottom[x+1] * kern[8]; - value = (r1+r2+r3) / kerndiv + kernoffset; - if (value > max) max = value; - if (value < min) min = value; - if (verbose && (value > 255 || value < 0)) { - fprintf(stderr, "Value %d\n", value); - fprintf(stderr, "r1=%d, r2=%d, r3=%d\n", r1, r2, r3); - } - if (value < 0) - obuf[x] = 0; - else if (value > 255) - obuf[x] = 255; - else - obuf[x] = value; - } - obuf[width-1] = middle[width-1]; - ret = fwrite(obuf, sizeof(char), width, stdout); - if (ret == 0) - perror("fwrite"); - - /* Adjust row pointers */ - temp = bottom; - bottom = middle; - middle = top; - top = temp; - } - /* write out last line untouched */ - ret = fwrite(top, sizeof(char), width, stdout); - if (ret == 0) - perror("fwrite"); - - /* Give advise on scaling factors */ - if (verbose) - fprintf(stderr, "Max = %d, Min = %d\n", max, min); - + icv_write(img, out_file, ICV_IMAGE_BW); return 0; } - /* - * S E L E C T _ F I L T E R - * - * Looks at the command line string and selects a filter - * based on it. - */ -void -select_filter(char *str) -{ - int i; - - i = 0; - while (kernel[i].name != NULL) { - if (bu_strncmp(str, kernel[i].uname, strlen(kernel[i].uname)) == 0) - break; - i++; - } - - if (kernel[i].name == NULL) { - /* No match, output list and exit */ - fprintf(stderr, "Unrecognized filter type \"%s\"\n", str); - dousage(); - bu_exit (3, NULL); - } - - /* Have a match, set up that kernel */ - kern = &kernel[i].kern[0]; - if (dflag == 0) - kerndiv = kernel[i].kerndiv; - if (oflag == 0) - kernoffset = kernel[i].kernoffset; -} - - -void -dousage(void) -{ - int i; - - fputs(usage, stderr); - fputs("Possible arguments for -f (type):\n", stderr); - i = 0; - while (kernel[i].name != NULL) { - fprintf(stderr, " %-10s%s\n", kernel[i].uname, kernel[i].name); - i++; - } -} - - -/* * Local Variables: * mode: C * tab-width: 8 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tbr...@us...> - 2013-09-04 15:41:41
|
Revision: 57421 http://sourceforge.net/p/brlcad/code/57421 Author: tbrowder2 Date: 2013-09-04 15:41:37 +0000 (Wed, 04 Sep 2013) Log Message: ----------- add copy of dsp_add.c for conversion to C++ and using tclap arg processing Modified Paths: -------------- brlcad/trunk/src/util/CMakeLists.txt Added Paths: ----------- brlcad/trunk/src/util/dsp_add_t.cpp Modified: brlcad/trunk/src/util/CMakeLists.txt =================================================================== --- brlcad/trunk/src/util/CMakeLists.txt 2013-09-04 15:21:39 UTC (rev 57420) +++ brlcad/trunk/src/util/CMakeLists.txt 2013-09-04 15:41:37 UTC (rev 57421) @@ -79,6 +79,10 @@ BRLCAD_ADDEXEC(double-asc double-asc.c "libfb;libbu") BRLCAD_ADDEXEC(dpix-pix dpix-pix.c libbu) BRLCAD_ADDEXEC(dsp_add dsp_add.c libbu) + +# a test copy for tclap/auto-man-page proof of concept: +BRLCAD_ADDEXEC(dsp_add_t dsp_add_t.cpp libbu NOINSTALL) + # Not fixing these for Windows - they're on their way out (deprecated) if(NOT WIN32) BRLCAD_ADDEXEC(dunncolor "dunncolor.c;dunncomm.c" libbu) Added: brlcad/trunk/src/util/dsp_add_t.cpp =================================================================== --- brlcad/trunk/src/util/dsp_add_t.cpp (rev 0) +++ brlcad/trunk/src/util/dsp_add_t.cpp 2013-09-04 15:41:37 UTC (rev 57421) @@ -0,0 +1,294 @@ +/* D S P _ A D D . C + * BRL-CAD + * + * Copyright (c) 2004-2013 United States Government as represented by + * the U.S. Army Research Laboratory. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this file; see the file named COPYING for more + * information. + */ +/** @file util/dsp_add.c + * + * add 2 files of network unsigned shorts + * + * Options + * h help + */ + +#include "common.h" + +#include <stdlib.h> +#include <sys/stat.h> +#include "bio.h" + +#include "bu.h" +#include "vmath.h" +#include "bn.h" + + +/* declarations to support use of bu_getopt() system call */ +static const char optstring[] = "h?"; +static const char progname[] = "dsp_add"; +static const char usage[] = "Usage: %s dsp_1 dsp_2 > dsp_3\n"; + +/* purpose: combine two dsp files + * + * description: Combines two dsp files (which are binary files + * comprised of network unsigned shorts). The two files must be of + * identical size. The result, written to stdout, is a file where + * each cell's height is the total of the heights of the same cell + * in the input files. + * + * See the BRL-CAD wiki for a tutorial on using dsp's. + * + * see_also: dsp(5) asc2dsp(1) cv(1) + * + * opt: -h brief help + * + * opt: -? brief help + * + */ + +#define ADD_STYLE_INT 0 +#define ADD_STYLE_FLOAT 1 + +static int style = ADD_STYLE_INT; + +/* + * tell user how to invoke this program, then exit + */ +static void +print_usage(char *s) +{ + if (s) (void)fputs(s, stderr); + + bu_log(usage, progname); + bu_exit (1, NULL); +} + + +/* + * Parse command line flags + */ +static int +parse_args(int ac, char *av[]) +{ + int c; + + /* get all the option flags from the command line */ + while ((c = bu_getopt(ac, av, optstring)) != -1) + switch (c) { + default: + print_usage(""); + } + + return bu_optind; +} + + +static void +swap_bytes(unsigned short *buf, unsigned long count) +{ + unsigned short *p; + + for (p = &buf[count-1]; p >= buf; p--) + *p = ((*p << 8) & 0x0ff00) | (*p >> 8); +} + + +/* + * Perform floating point addition and re-normalization of the data. + */ +static void +add_float(unsigned short *buf1, unsigned short *buf2, unsigned long count) +{ + unsigned short *p, *q, *e; + double *dbuf, *d; + double min, max, k; + + dbuf = bu_malloc(sizeof(double) * count, "buffer of double"); + + min = MAX_FASTF; + max = -MAX_FASTF; + e = &buf1[count]; + + /* add everything, keeping track of the min/max values found */ + for (d = dbuf, p = buf1, q = buf2; p < e; p++, q++, d++) { + *d = *p + *q; + if (*d > max) max = *d; + if (*d < min) min = *d; + } + + /* now we convert back to unsigned shorts in the range 1 .. 65535 */ + + k = 65534.0 / (max - min); + + bu_log("min: %g scale: %g\n", min - k, k); + + for (d = dbuf, p = buf1, q = buf2; p < e; p++, q++, d++) + *p = (unsigned short) ((*d - min) * k) + 1; + + bu_free(dbuf, "buffer of double"); +} + + +/* + * Perform simple integer addition to the input streams. + * Issue warning on overflow. + * + * Result: buf1 contents modified + */ +static void +add_int(unsigned short *buf1, unsigned short *buf2, unsigned long count) +{ + int int_value; + unsigned long i; + unsigned short s; + + for (i = 0; i < count; i++) { + int_value = buf1[i] + buf2[i]; + s = (unsigned short)int_value; + + if (s != int_value) { + bu_log("overflow (%d+%d) == %d at %lu\n", + buf1[i], buf2[i], int_value, i); + } + buf1[i] = s; + } + +} + + +/* + * Call parse_args to handle command line arguments first, then + * process input. + */ +int +main(int ac, char *av[]) +{ + int next_arg; + FILE *in1, *in2; + unsigned short *buf1, *buf2; + size_t count; + int in_cookie, out_cookie; + int conv; + struct stat sb; + size_t ret; + + if (ac < 2) + print_usage(""); + + if (isatty(fileno(stdout))) + print_usage("Must redirect standard output\n"); + + next_arg = parse_args(ac, av); + + if (next_arg >= ac) + print_usage("No files specified\n"); + + /* Open the files */ + + in1 = fopen(av[next_arg], "r"); + if (!in1) { + perror(av[next_arg]); + return -1; + } + + if (fstat(fileno(in1), &sb)) { + perror(av[next_arg]); + fclose(in1); + return -1; + } + + count = sb.st_size; + buf1 = bu_malloc((size_t)sb.st_size, "buf1"); + + next_arg++; + + in2 = fopen(av[next_arg], "r"); + if (!in2) { + perror(av[next_arg]); + fclose(in1); + return -1; + } + + if (fstat(fileno(in2), &sb)) { + perror(av[next_arg]); + fclose(in1); + fclose(in2); + return -1; + } + + if ((size_t)sb.st_size != count) { + fclose(in1); + fclose(in2); + bu_exit(EXIT_FAILURE, "**** ERROR **** file size mis-match\n"); + } + + buf2 = bu_malloc((size_t)sb.st_size, "buf2"); + + count = count >> 1; /* convert count of char to count of short */ + + /* Read the terrain data */ + ret = fread(buf1, sizeof(short), count, in1); + if (ret < count) + perror("fread"); + fclose(in1); + + ret = fread(buf2, sizeof(short), count, in2); + if (ret < count) + perror("fread"); + fclose(in2); + + /* Convert from network to host format */ + in_cookie = bu_cv_cookie("nus"); + out_cookie = bu_cv_cookie("hus"); + conv = (bu_cv_optimize(in_cookie) != bu_cv_optimize(out_cookie)); + + if (conv) { + swap_bytes(buf1, count); + swap_bytes(buf2, count); + } + + /* add the two datasets together */ + switch (style) { + case ADD_STYLE_FLOAT : add_float(buf1, buf2, count); break; + case ADD_STYLE_INT : add_int(buf1, buf2, count); break; + default : bu_log("Error: Unknown add style\n"); + break; + } + + /* convert back to network format & write out */ + if (conv) { + swap_bytes(buf1, count); + swap_bytes(buf2, count); + } + + if (fwrite(buf1, sizeof(short), count, stdout) != count) { + bu_log("Error writing data\n"); + return -1; + } + + return 0; +} + + +/* + * Local Variables: + * mode: C + * tab-width: 8 + * indent-tabs-mode: t + * c-file-style: "stroustrup" + * End: + * ex: shiftwidth=4 tabstop=8 + */ Property changes on: brlcad/trunk/src/util/dsp_add_t.cpp ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tbr...@us...> - 2013-09-11 00:43:25
|
Revision: 57537 http://sourceforge.net/p/brlcad/code/57537 Author: tbrowder2 Date: 2013-09-11 00:43:22 +0000 (Wed, 11 Sep 2013) Log Message: ----------- add more tmp files (NOINSTALL) for testing TCLAP implementation Modified Paths: -------------- brlcad/trunk/src/util/CMakeLists.txt Added Paths: ----------- brlcad/trunk/src/util/bu_opt_parse.cpp brlcad/trunk/src/util/bu_opt_parse.h brlcad/trunk/src/util/dsp_add2.c Modified: brlcad/trunk/src/util/CMakeLists.txt =================================================================== --- brlcad/trunk/src/util/CMakeLists.txt 2013-09-10 23:50:03 UTC (rev 57536) +++ brlcad/trunk/src/util/CMakeLists.txt 2013-09-11 00:43:22 UTC (rev 57537) @@ -82,9 +82,21 @@ BRLCAD_ADDEXEC(dpix-pix dpix-pix.c libbu) BRLCAD_ADDEXEC(dsp_add dsp_add.c libbu) +#===================================================== +# TCLAP testing +#===================================================== # a test copy for tclap/auto-man-page proof of concept: BRLCAD_ADDEXEC(dsp_add_t dsp_add_t.cpp libbu NOINSTALL) +# tmp def for testing c wrapper for TCLAP +BRLCAD_ADDEXEC(dsp_add2 "dsp_add2.c;bu_opt_parse.cpp" libbu NOINSTALL) + +# tmp header to stand-in for bu.h (ignore it) +CMAKEFILES(bu_opt_parse.h) +#===================================================== +# end TCLAP testing +#===================================================== + # Not fixing these for Windows - they're on their way out (deprecated) if(NOT WIN32) BRLCAD_ADDEXEC(dunncolor "dunncolor.c;dunncomm.c" libbu) Added: brlcad/trunk/src/util/bu_opt_parse.cpp =================================================================== --- brlcad/trunk/src/util/bu_opt_parse.cpp (rev 0) +++ brlcad/trunk/src/util/bu_opt_parse.cpp 2013-09-11 00:43:22 UTC (rev 57537) @@ -0,0 +1,23 @@ +/* B U _ O P T _ P A R S E . C P P + * BRL-CAD + * + * Copyright (c) 2013 United States Government as represented by + * the U.S. Army Research Laboratory. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this file; see the file named COPYING for more + * information. + */ + +#include "bu_opt_parse.h" + +#define BU_OPT_PARSE_DUMMY_Cpp Property changes on: brlcad/trunk/src/util/bu_opt_parse.cpp ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: brlcad/trunk/src/util/bu_opt_parse.h =================================================================== --- brlcad/trunk/src/util/bu_opt_parse.h (rev 0) +++ brlcad/trunk/src/util/bu_opt_parse.h 2013-09-11 00:43:22 UTC (rev 57537) @@ -0,0 +1,25 @@ +/* B U . H + * BRL-CAD + * + * Copyright (c) 2004-2013 United States Government as represented by + * the U.S. Army Research Laboratory. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this file; see the file named COPYING for more + * information. + */ + +#ifndef BU_OPT_PARSE_H +#define BU_OPT_PARSE_H + + +#endif /* BU_OPT_PARSE_H */ Property changes on: brlcad/trunk/src/util/bu_opt_parse.h ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: brlcad/trunk/src/util/dsp_add2.c =================================================================== --- brlcad/trunk/src/util/dsp_add2.c (rev 0) +++ brlcad/trunk/src/util/dsp_add2.c 2013-09-11 00:43:22 UTC (rev 57537) @@ -0,0 +1,294 @@ +/* D S P _ A D D . C + * BRL-CAD + * + * Copyright (c) 2004-2013 United States Government as represented by + * the U.S. Army Research Laboratory. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this file; see the file named COPYING for more + * information. + */ +/** @file util/dsp_add.c + * + * add 2 files of network unsigned shorts + * + * Options + * h help + */ + +#include "common.h" + +#include <stdlib.h> +#include <sys/stat.h> +#include "bio.h" + +#include "bu.h" +#include "vmath.h" +#include "bn.h" + + +/* declarations to support use of bu_getopt() system call */ +static const char optstring[] = "h?"; +static const char progname[] = "dsp_add"; +static const char usage[] = "Usage: %s dsp_1 dsp_2 > dsp_3\n"; + +/* purpose: combine two dsp files + * + * description: Combines two dsp files (which are binary files + * comprised of network unsigned shorts). The two files must be of + * identical size. The result, written to stdout, is a file where + * each cell's height is the total of the heights of the same cell + * in the input files. + * + * See the BRL-CAD wiki for a tutorial on using dsp's. + * + * see_also: dsp(5) asc2dsp(1) cv(1) + * + * opt: -h brief help + * + * opt: -? brief help + * + */ + +#define ADD_STYLE_INT 0 +#define ADD_STYLE_FLOAT 1 + +static int style = ADD_STYLE_INT; + +/* + * tell user how to invoke this program, then exit + */ +static void +print_usage(char *s) +{ + if (s) (void)fputs(s, stderr); + + bu_log(usage, progname); + bu_exit (1, NULL); +} + + +/* + * Parse command line flags + */ +static int +parse_args(int ac, char *av[]) +{ + int c; + + /* get all the option flags from the command line */ + while ((c = bu_getopt(ac, av, optstring)) != -1) + switch (c) { + default: + print_usage(""); + } + + return bu_optind; +} + + +static void +swap_bytes(unsigned short *buf, unsigned long count) +{ + unsigned short *p; + + for (p = &buf[count-1]; p >= buf; p--) + *p = ((*p << 8) & 0x0ff00) | (*p >> 8); +} + + +/* + * Perform floating point addition and re-normalization of the data. + */ +static void +add_float(unsigned short *buf1, unsigned short *buf2, unsigned long count) +{ + unsigned short *p, *q, *e; + double *dbuf, *d; + double min, max, k; + + dbuf = bu_malloc(sizeof(double) * count, "buffer of double"); + + min = MAX_FASTF; + max = -MAX_FASTF; + e = &buf1[count]; + + /* add everything, keeping track of the min/max values found */ + for (d = dbuf, p = buf1, q = buf2; p < e; p++, q++, d++) { + *d = *p + *q; + if (*d > max) max = *d; + if (*d < min) min = *d; + } + + /* now we convert back to unsigned shorts in the range 1 .. 65535 */ + + k = 65534.0 / (max - min); + + bu_log("min: %g scale: %g\n", min - k, k); + + for (d = dbuf, p = buf1, q = buf2; p < e; p++, q++, d++) + *p = (unsigned short) ((*d - min) * k) + 1; + + bu_free(dbuf, "buffer of double"); +} + + +/* + * Perform simple integer addition to the input streams. + * Issue warning on overflow. + * + * Result: buf1 contents modified + */ +static void +add_int(unsigned short *buf1, unsigned short *buf2, unsigned long count) +{ + int int_value; + unsigned long i; + unsigned short s; + + for (i = 0; i < count; i++) { + int_value = buf1[i] + buf2[i]; + s = (unsigned short)int_value; + + if (s != int_value) { + bu_log("overflow (%d+%d) == %d at %lu\n", + buf1[i], buf2[i], int_value, i); + } + buf1[i] = s; + } + +} + + +/* + * Call parse_args to handle command line arguments first, then + * process input. + */ +int +main(int ac, char *av[]) +{ + int next_arg; + FILE *in1, *in2; + unsigned short *buf1, *buf2; + size_t count; + int in_cookie, out_cookie; + int conv; + struct stat sb; + size_t ret; + + if (ac < 2) + print_usage(""); + + if (isatty(fileno(stdout))) + print_usage("Must redirect standard output\n"); + + next_arg = parse_args(ac, av); + + if (next_arg >= ac) + print_usage("No files specified\n"); + + /* Open the files */ + + in1 = fopen(av[next_arg], "r"); + if (!in1) { + perror(av[next_arg]); + return -1; + } + + if (fstat(fileno(in1), &sb)) { + perror(av[next_arg]); + fclose(in1); + return -1; + } + + count = sb.st_size; + buf1 = bu_malloc((size_t)sb.st_size, "buf1"); + + next_arg++; + + in2 = fopen(av[next_arg], "r"); + if (!in2) { + perror(av[next_arg]); + fclose(in1); + return -1; + } + + if (fstat(fileno(in2), &sb)) { + perror(av[next_arg]); + fclose(in1); + fclose(in2); + return -1; + } + + if ((size_t)sb.st_size != count) { + fclose(in1); + fclose(in2); + bu_exit(EXIT_FAILURE, "**** ERROR **** file size mis-match\n"); + } + + buf2 = bu_malloc((size_t)sb.st_size, "buf2"); + + count = count >> 1; /* convert count of char to count of short */ + + /* Read the terrain data */ + ret = fread(buf1, sizeof(short), count, in1); + if (ret < count) + perror("fread"); + fclose(in1); + + ret = fread(buf2, sizeof(short), count, in2); + if (ret < count) + perror("fread"); + fclose(in2); + + /* Convert from network to host format */ + in_cookie = bu_cv_cookie("nus"); + out_cookie = bu_cv_cookie("hus"); + conv = (bu_cv_optimize(in_cookie) != bu_cv_optimize(out_cookie)); + + if (conv) { + swap_bytes(buf1, count); + swap_bytes(buf2, count); + } + + /* add the two datasets together */ + switch (style) { + case ADD_STYLE_FLOAT : add_float(buf1, buf2, count); break; + case ADD_STYLE_INT : add_int(buf1, buf2, count); break; + default : bu_log("Error: Unknown add style\n"); + break; + } + + /* convert back to network format & write out */ + if (conv) { + swap_bytes(buf1, count); + swap_bytes(buf2, count); + } + + if (fwrite(buf1, sizeof(short), count, stdout) != count) { + bu_log("Error writing data\n"); + return -1; + } + + return 0; +} + + +/* + * Local Variables: + * mode: C + * tab-width: 8 + * indent-tabs-mode: t + * c-file-style: "stroustrup" + * End: + * ex: shiftwidth=4 tabstop=8 + */ Property changes on: brlcad/trunk/src/util/dsp_add2.c ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tbr...@us...> - 2013-09-11 19:15:33
|
Revision: 57550 http://sourceforge.net/p/brlcad/code/57550 Author: tbrowder2 Date: 2013-09-11 19:15:29 +0000 (Wed, 11 Sep 2013) Log Message: ----------- have a buildable wrapper for TCLAP; more work needed for a working demo Modified Paths: -------------- brlcad/trunk/src/util/CMakeLists.txt brlcad/trunk/src/util/bu_opt_parse.cpp brlcad/trunk/src/util/bu_opt_parse.h brlcad/trunk/src/util/dsp_add2.c Added Paths: ----------- brlcad/trunk/src/util/bu_opt_parse_private.h Modified: brlcad/trunk/src/util/CMakeLists.txt =================================================================== --- brlcad/trunk/src/util/CMakeLists.txt 2013-09-11 19:00:39 UTC (rev 57549) +++ brlcad/trunk/src/util/CMakeLists.txt 2013-09-11 19:15:29 UTC (rev 57550) @@ -93,6 +93,8 @@ # tmp header to stand-in for bu.h (ignore it) CMAKEFILES(bu_opt_parse.h) +# permanent private header for TCLAP customizations +CMAKEFILES(bu_opt_parse_private.h) #===================================================== # end TCLAP testing #===================================================== Modified: brlcad/trunk/src/util/bu_opt_parse.cpp =================================================================== --- brlcad/trunk/src/util/bu_opt_parse.cpp 2013-09-11 19:00:39 UTC (rev 57549) +++ brlcad/trunk/src/util/bu_opt_parse.cpp 2013-09-11 19:15:29 UTC (rev 57550) @@ -18,6 +18,44 @@ * information. */ +#include "common.h" + +#include <stdlib.h> +#include <sys/stat.h> +#include "bio.h" + +#include "bu.h" +#include "vmath.h" +#include "bn.h" + + +#include "tclap/CmdLine.h" +#include "bu_opt_parse_private.h" #include "bu_opt_parse.h" -#define BU_OPT_PARSE_DUMMY_Cpp +/* using ideas from Cliff and Sean... */ +/** + * construct all for TCLAP handling, ensure input args get proper values for the caller + */ +extern "C" +int +bu_opt_parse(const bu_arg_vars *args[], int argc, char **argv) +{ + int i = 0; + if (argc < 2) + bu_exit(EXIT_FAILURE, "ERROR: too few args in %s\n", argv[0]); + + while (args[i]) { + // handle this arg and fill in the values + ++i; + } + +/* + // map inputs to TCLAP: + string + TCLAP::ValueArg<int> intArg(short,long,description,required,default,"int"); + cmd->add(intArg); +*/ + + return 0; // tmp return +} Modified: brlcad/trunk/src/util/bu_opt_parse.h =================================================================== --- brlcad/trunk/src/util/bu_opt_parse.h 2013-09-11 19:00:39 UTC (rev 57549) +++ brlcad/trunk/src/util/bu_opt_parse.h 2013-09-11 19:15:29 UTC (rev 57550) @@ -21,5 +21,78 @@ #ifndef BU_OPT_PARSE_H #define BU_OPT_PARSE_H +/* all in this header MUST have "C" linkage */ +#ifdef __cplusplus +extern "C" { +#endif +/* using ideas from Cliff */ + +/* not sure these two are needed: */ +/** + * a struct to carry a cmd pointer + */ +typedef struct bu_cmd_type_UNUSED { + void *tclap_CmdLine; /* this gets cast to a TCLAP::CmdLine object on the C++ side */ +} bu_cmd_UNUSED; + + typedef struct bu_arg_type { + void *tclap_Arg; /* this gets cast to a TCLAP::Arg [type] object on the C++ side */ +} bu_arg_UNUSED; + +/* types of arg values */ +typedef enum { + BU_ARG_BOOL, + BU_ARG_CHAR, + BU_ARG_DOUBLE, + BU_ARG_FLOAT, + BU_ARG_INT, + BU_ARG_STRING +} bu_arg_value_t; + +/* TCLAP arg types */ +typedef enum { + BU_ARG_MultiArg, + BU_ARG_MultiSwitchArg, + BU_ARG_SwitchArg, + BU_ARG_UnlabeledMultiArg, + BU_ARG_UnlabeledValueArg, + BU_ARG_ValueArg +} bu_arg_t; + +typedef enum { + BU_ARG_NOT_REQUIRED = 0, + BU_ARG_REQUIRED = 1 +} bu_arg_req_t; + +typedef union bu_arg_value_union { + int b; /* bool */ + char c; + double d; + float f; + int i; + char *s; +} bu_arg_value; + +/* TCLAP::Arg */ +typedef struct bu_arg_vars_type { + bu_arg_t arg_type; /* enum: what TCLAP type is the arg */ + const char flag; /* the "short" option, may be NULL */ + const char *name; /* the "long" option */ + const char *desc; /* a brief description */ + bu_arg_req_t req; /* bool: is arg required? */ + bu_arg_req_t valreq; /* bool: is value required? */ + /* bu_arg_value val; */ /* union: holds all value types */ + /* bu_arg_val_t val_type; *//* enum: what type is in the value union */ +} bu_arg_vars; + +/* the action: all in one function */ +int +bu_opt_parse(const bu_arg_vars *args[], int argc, char **argv); + +/* all in this header MUST have "C" linkage */ +#ifdef __cplusplus +} /* extern "C" { */ +#endif + #endif /* BU_OPT_PARSE_H */ Added: brlcad/trunk/src/util/bu_opt_parse_private.h =================================================================== --- brlcad/trunk/src/util/bu_opt_parse_private.h (rev 0) +++ brlcad/trunk/src/util/bu_opt_parse_private.h 2013-09-11 19:15:29 UTC (rev 57550) @@ -0,0 +1,283 @@ +/* B U _ O P T _ P A R S E _ P R I V A T E.H + * BRL-CAD + * + * Copyright (c) 2013 United States Government as represented by + * the U.S. Army Research Laboratory. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this file; see the file named COPYING for more + * information. + */ + +#ifndef BU_OPT_PARSE_PRIVATE_H +#define BU_OPT_PARSE_PRIVATE_H + +#include "tclap/CmdLine.h" +/* local customizations of TCLAP MUST follow the above header */ + +/* get common data from the C world */ +#include "bu_opt_parse.h" + +// some customization of TCLAP classes +class BRLCAD_StdOutput : public TCLAP::StdOutput +{ + // example usage in main: + // CmdLine cmd("this is a message", ' ', "0.99" ); + // // set the output + // BRLCAD_StdOutput brlstdout; + // cmd.setOutput(&brlstdout); + // // proceed normally ... + +public: + virtual void failure(TCLAP::CmdLineInterface& c, TCLAP::ArgException& e) { + std::string progName = c.getProgramName(); + + std::cerr << "Input error: " << e.argId() << std::endl + << " " << e.error() << std::endl << std::endl; + + if (c.hasHelpAndVersion()) { + std::cerr << "Brief usage: " << std::endl; + + _shortUsage(c, std::cerr ); + + std::cerr << std::endl << "For complete usage and HELP type: " + << std::endl << " " << progName << " --help" + << std::endl << std::endl; + } + else + usage(c); + + exit(1); + } + + virtual void usage(TCLAP::CmdLineInterface& c) { + std::cout << std::endl << "Usage: " << std::endl << std::endl; + + _shortUsage(c, std::cout ); + + std::cout << std::endl << std::endl << "Where: " << std::endl << std::endl; + + _longUsage(c, std::cout ); + + std::cout << std::endl; + + _shortUsage(c, std::cout); + } + + virtual void version(TCLAP::CmdLineInterface& c) { + std::list<TCLAP::Arg*> args = c.getArgList(); // quieten compiler + ; // do not show version + //cout << "my version message: 0.1" << endl; + } + + // use our own implementations: + + /** + * Writes a brief usage message with short args. + * \param c - The CmdLine object the output is generated for. + * \param os - The stream to write the message to. + */ + void _shortUsage(TCLAP::CmdLineInterface& c, + std::ostream& os) const; + + /** + * Writes a longer usage message with long and short args, + * provides descriptions and prints message. + * \param c - The CmdLine object the output is generated for. + * \param os - The stream to write the message to. + */ + + void _longUsage(TCLAP::CmdLineInterface& c, + std::ostream& os) const; + + /** + * This function inserts line breaks and indents long strings + * according the params input. It will only break lines at spaces, + * commas and pipes. + * \param os - The stream to be printed to. + * \param s - The string to be printed. + * \param maxWidth - The maxWidth allowed for the output line. + * \param indentSpaces - The number of spaces to indent the first line. + * \param secondLineOffset - The number of spaces to indent the second + * and all subsequent lines in addition to indentSpaces. + */ + void spacePrint(std::ostream& os, + const std::string& s, + int maxWidth, + int indentSpaces, + int secondLineOffset) const; + +}; + +inline void +BRLCAD_StdOutput::_shortUsage(TCLAP::CmdLineInterface& _cmd, + std::ostream& os) const +{ + std::list<TCLAP::Arg*> argList = _cmd.getArgList(); + std::string progName = _cmd.getProgramName(); + TCLAP::XorHandler xorHandler = _cmd.getXorHandler(); + std::vector<std::vector<TCLAP::Arg*> > xorList = xorHandler.getXorList(); + + std::string s = progName + " "; + + // first the xor + for (int i = 0; static_cast<unsigned int>(i) < xorList.size(); i++) { + s += " {"; + for (TCLAP::ArgVectorIterator it = xorList[i].begin(); + it != xorList[i].end(); it++ ) + s += (*it)->shortID() + "|"; + + s[s.length()-1] = '}'; + } + + // then the rest + for (TCLAP::ArgListIterator it = argList.begin(); it != argList.end(); it++) + if (!xorHandler.contains((*it))) { + + // hack: skip two args we don't currently use + const std::string& id((*it)->longID()); + + /* + // debug + const std::string& id2((*it)->shortID()); + printf("DEBUG: short ID => '%s'; long ID => '%s'\n", id2.c_str(), id.c_str()); + */ + + if (id.find("version") != std::string::npos + || id.find("ignore_rest") != std::string::npos) + continue; + + s += " " + (*it)->shortID(); + } + + // if the program name is too long, then adjust the second line offset + int secondLineOffset = static_cast<int>(progName.length()) + 2; + if (secondLineOffset > 75/2) + secondLineOffset = static_cast<int>(75/2); + + spacePrint(os, s, 75, 3, secondLineOffset); + +} // BRLCAD_StdOutput::_shortUsage + +inline void +BRLCAD_StdOutput::_longUsage(TCLAP::CmdLineInterface& _cmd, + std::ostream& os) const +{ + std::list<TCLAP::Arg*> argList = _cmd.getArgList(); + std::string message = _cmd.getMessage(); + TCLAP::XorHandler xorHandler = _cmd.getXorHandler(); + std::vector<std::vector<TCLAP::Arg*> > xorList = xorHandler.getXorList(); + + // first the xor + for (int i = 0; static_cast<unsigned int>(i) < xorList.size(); i++) { + for (TCLAP::ArgVectorIterator it = xorList[i].begin(); + it != xorList[i].end(); + it++) { + spacePrint(os, (*it)->longID(), 75, 3, 3); + spacePrint(os, (*it)->getDescription(), 75, 5, 0); + + if (it+1 != xorList[i].end()) + spacePrint(os, "-- OR --", 75, 9, 0); + } + os << std::endl << std::endl; + } + + // then the rest + for (TCLAP::ArgListIterator it = argList.begin(); it != argList.end(); it++) { + if (!xorHandler.contains((*it))) { + + // hack: skip two args we don't currently use + const std::string& id((*it)->longID()); + if (id.find("version") != std::string::npos + || id.find("ignore_rest") != std::string::npos) + continue; + + spacePrint(os, (*it)->longID(), 75, 3, 3); + spacePrint(os, (*it)->getDescription(), 75, 5, 0); + os << std::endl; + } + } + + os << std::endl; + + spacePrint(os, message, 75, 3, 0); + +} // BRLCAD_StdOutput::_longUsage + +inline void +BRLCAD_StdOutput::spacePrint(std::ostream& os, + const std::string& s, + int maxWidth, + int indentSpaces, + int secondLineOffset) const +{ + int len = static_cast<int>(s.length()); + + if ((len + indentSpaces > maxWidth) && maxWidth > 0) { + int allowedLen = maxWidth - indentSpaces; + int start = 0; + while (start < len) + { + // find the substring length + // int stringLen = std::min<int>( len - start, allowedLen ); + // doing it this way to support a VisualC++ 2005 bug + using namespace std; + int stringLen = min<int>( len - start, allowedLen ); + + // trim the length so it doesn't end in middle of a word + if (stringLen == allowedLen) + while ( stringLen >= 0 && + s[stringLen+start] != ' ' && + s[stringLen+start] != ',' && + s[stringLen+start] != '|' ) + stringLen--; + + // ok, the word is longer than the line, so just split + // wherever the line ends + if (stringLen <= 0) + stringLen = allowedLen; + + // check for newlines + for (int i = 0; i < stringLen; i++) + if ( s[start+i] == '\n' ) + stringLen = i+1; + + // print the indent + for (int i = 0; i < indentSpaces; i++) + os << " "; + + if (start == 0) { + // handle second line offsets + indentSpaces += secondLineOffset; + + // adjust allowed len + allowedLen -= secondLineOffset; + } + + os << s.substr(start,stringLen) << std::endl; + + // so we don't start a line with a space + while (s[stringLen+start] == ' ' && start < len) + start++; + + start += stringLen; + } + } + else { + for (int i = 0; i < indentSpaces; i++) + os << " "; + os << s << std::endl; + } + +} // BRLCAD_StdOutput::spacePrint + +#endif /* BU_OPT_PARSE_PRIVATE_H */ Property changes on: brlcad/trunk/src/util/bu_opt_parse_private.h ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: brlcad/trunk/src/util/dsp_add2.c =================================================================== --- brlcad/trunk/src/util/dsp_add2.c 2013-09-11 19:00:39 UTC (rev 57549) +++ brlcad/trunk/src/util/dsp_add2.c 2013-09-11 19:15:29 UTC (rev 57550) @@ -35,17 +35,16 @@ #include "vmath.h" #include "bn.h" +#include "bu_opt_parse.h" -/* declarations to support use of bu_getopt() system call */ -static const char optstring[] = "h?"; -static const char progname[] = "dsp_add"; -static const char usage[] = "Usage: %s dsp_1 dsp_2 > dsp_3\n"; +/* declarations to support use of TCLAP arg parsing */ +static const char usage[] = "Example: dsp_add dsp1.dsp dsp2.dsp dsp12added.dsp\n"; /* purpose: combine two dsp files * * description: Combines two dsp files (which are binary files * comprised of network unsigned shorts). The two files must be of - * identical size. The result, written to stdout, is a file where + * identical size. The result is a third file where * each cell's height is the total of the heights of the same cell * in the input files. * @@ -53,10 +52,6 @@ * * see_also: dsp(5) asc2dsp(1) cv(1) * - * opt: -h brief help - * - * opt: -? brief help - * */ #define ADD_STYLE_INT 0 @@ -64,39 +59,7 @@ static int style = ADD_STYLE_INT; -/* - * tell user how to invoke this program, then exit - */ static void -print_usage(char *s) -{ - if (s) (void)fputs(s, stderr); - - bu_log(usage, progname); - bu_exit (1, NULL); -} - - -/* - * Parse command line flags - */ -static int -parse_args(int ac, char *av[]) -{ - int c; - - /* get all the option flags from the command line */ - while ((c = bu_getopt(ac, av, optstring)) != -1) - switch (c) { - default: - print_usage(""); - } - - return bu_optind; -} - - -static void swap_bytes(unsigned short *buf, unsigned long count) { unsigned short *p; @@ -116,7 +79,7 @@ double *dbuf, *d; double min, max, k; - dbuf = bu_malloc(sizeof(double) * count, "buffer of double"); + dbuf = (double *)bu_malloc(sizeof(double) * count, "buffer of double"); min = MAX_FASTF; max = -MAX_FASTF; @@ -168,87 +131,219 @@ } - -/* - * Call parse_args to handle command line arguments first, then - * process input. - */ int main(int ac, char *av[]) { - int next_arg; - FILE *in1, *in2; - unsigned short *buf1, *buf2; - size_t count; + /* int next_arg; *//* <= not needed */ + FILE *in1 = NULL; + FILE *in2 = NULL; + FILE *out1 = NULL; + int conv; int in_cookie, out_cookie; - int conv; + size_t count = 0; + size_t ret; struct stat sb; - size_t ret; + unsigned short *buf1 = NULL; + unsigned short *buf2 = NULL; + const char* dsp1_fname = NULL; + const char* dsp2_fname = NULL; + const char* dsp3_fname = NULL; + int arg_err = 0; - if (ac < 2) - print_usage(""); + static const bu_arg_vars arg1 = { + BU_ARG_SwitchArg, + 'c', + "arg1", + "first arg", + BU_ARG_NOT_REQUIRED, + BU_ARG_NOT_REQUIRED + }; - if (isatty(fileno(stdout))) - print_usage("Must redirect standard output\n"); + static const bu_arg_vars *args[] = {&arg1, NULL}; - next_arg = parse_args(ac, av); + /* tmp code to avoid compiler errors during piece-meal development */ + if (ac < 2) { + bu_exit(EXIT_SUCCESS, "%s %s\n", av[0], usage); + } + arg_err = bu_opt_parse(args, ac, av); - if (next_arg >= ac) - print_usage("No files specified\n"); - /* Open the files */ +/* + //try { - in1 = fopen(av[next_arg], "r"); - if (!in1) { - perror(av[next_arg]); - return -1; - } + // form the command line + // + // note help (-h and --help) and version (-v and --version) are + // automatic + TCLAP::CmdLine cmd(usage, ' ', + "[BRL_CAD_VERSION]"); // help and version are automatic + // use our subclassed stdout + BRLCAD_StdOutput brlstdout; + cmd.setOutput(&brlstdout); + // proceed normally ... - if (fstat(fileno(in1), &sb)) { - perror(av[next_arg]); + // we also want the '-?' option (long help, if available, help otherwise + // long option), last arg means option not required + TCLAP::SwitchArg h_arg("?", // short option char + "short-help", // long option name, if any + "Same as '-h' or '--help'.", // short description string + cmd, // add to 'cmd' object + false); // default value + + // define a force option to allow user to shoot himself in the foot + TCLAP::SwitchArg f_arg("f", // short option char + "force", // long option name, if any + "Allow overwriting existing files.", // short description string + cmd, // add to 'cmd' object + false); // default value + + // need two file names + TCLAP::UnlabeledValueArg<string> dsp1_arg("dsp_infile1", // name of object + "first dsp input file name", // description + true, // arg is required + "", // default value + "dsp_infile1", // type of arg value + cmd); // add to cmd object + + // need two file names + TCLAP::UnlabeledValueArg<string> dsp2_arg("dsp_infile2", // name of object + "second dsp input file name", // description + true, // arg is required + "", // default value + "dsp_infile2", // type of arg value + cmd); // add to cmd object + + TCLAP::UnlabeledValueArg<string> dsp3_arg("dsp_outfile", // name of object + "dsp output file", // description + true, // arg is required + "", // default value + "dsp_outfile", // type of arg value + cmd); // add to cmd object + + // parse the args + cmd.parse(ac, av); + + // Get the value parsed by each arg. + bool has_force = f_arg.getValue(); + bool has_help = h_arg.getValue(); + dsp1_fname = dsp1_arg.getValue().c_str(); + dsp2_fname = dsp2_arg.getValue().c_str(); + dsp3_fname = dsp3_arg.getValue().c_str(); + + // take appropriate action + if (has_help) { + bu_exit(EXIT_FAILURE, usage); + } + + // TCLAP doesn't check for confusion in file names + if (BU_STR_EQUAL(dsp3_fname, dsp1_fname) + || BU_STR_EQUAL(dsp3_fname, dsp2_fname)) { + bu_exit(EXIT_FAILURE, "overwriting an input file (use the '-f' option to continue)\n"); + } + + // nor does it check for existing files (FIXME: add to TCLAP) + if (!stat(dsp3_fname, &sb)) { + if (has_force) { + printf("WARNING: overwriting an existing file...\n"); + unlink(dsp3_fname); + } + else { + bu_exit(EXIT_FAILURE, "overwriting an existing file (use the '-f' option to continue)\n"); + } + } + + // open files + in1 = fopen(dsp1_fname, "r"); + if (!in1) { + perror(dsp1_fname); + bu_exit(EXIT_FAILURE, "ERROR: input file open failure\n"); + } + + if (fstat(fileno(in1), &sb)) { + perror(dsp1_fname); fclose(in1); - return -1; - } + bu_exit(EXIT_FAILURE, "ERROR: input file stat failure\n"); + } - count = sb.st_size; - buf1 = bu_malloc((size_t)sb.st_size, "buf1"); + // save size of first input file for comparison with other two + count = sb.st_size; + // check for zero-size file + if (!count) { + perror(dsp1_fname); + fclose(in1); + bu_exit(EXIT_FAILURE, "zero-length input file\n"); + } - next_arg++; + buf1 = (unsigned short *)bu_malloc((size_t)sb.st_size, "buf1"); - in2 = fopen(av[next_arg], "r"); - if (!in2) { - perror(av[next_arg]); + in2 = fopen(dsp2_fname, "r"); + if (!in2) { + perror(dsp2_fname); fclose(in1); - return -1; - } + bu_exit(EXIT_FAILURE, "ERROR: input file open failure\n"); + } - if (fstat(fileno(in2), &sb)) { - perror(av[next_arg]); + if (fstat(fileno(in2), &sb)) { + perror(dsp2_fname); fclose(in1); fclose(in2); - return -1; - } + bu_exit(EXIT_FAILURE, "ERROR: input file stat failure\n"); + } - if ((size_t)sb.st_size != count) { + // check for zero-size file + if (!sb.st_size) { + perror(dsp2_fname); fclose(in1); fclose(in2); - bu_exit(EXIT_FAILURE, "**** ERROR **** file size mis-match\n"); + bu_exit(EXIT_FAILURE, "ERROR: zero-length input file\n"); + } + + if ((size_t)sb.st_size != count) { + fclose(in1); + fclose(in2); + bu_exit(EXIT_FAILURE, "ERROR: input file size mis-match\n"); + } + + // the output file is now named instead of being redirected + out1 = fopen(dsp3_fname, "w"); + if (!out1) { + perror(dsp3_fname); + fclose(in1); + fclose(in2); + fclose(out1); + bu_exit(EXIT_FAILURE, "ERROR: output file open failure\n"); + } + + } catch (TCLAP::ArgException &e) { // catch any exceptions + + cerr << "error: " << e.error() << " for arg " << e.argId() << endl; + } - buf2 = bu_malloc((size_t)sb.st_size, "buf2"); +*/ + buf2 = (unsigned short *)bu_malloc((size_t)sb.st_size, "buf2"); + count = count >> 1; /* convert count of char to count of short */ /* Read the terrain data */ ret = fread(buf1, sizeof(short), count, in1); - if (ret < count) - perror("fread"); - fclose(in1); + if (ret < count) { + perror(dsp1_fname); + fclose(in1); + fclose(in2); + fclose(out1); + bu_exit(EXIT_FAILURE, "ERROR: input file short read count\n"); + } ret = fread(buf2, sizeof(short), count, in2); - if (ret < count) - perror("fread"); - fclose(in2); + if (ret < count) { + perror(dsp2_fname); + fclose(in1); + fclose(in2); + fclose(out1); + bu_exit(EXIT_FAILURE, "ERROR: input file short read count\n"); + } /* Convert from network to host format */ in_cookie = bu_cv_cookie("nus"); @@ -274,9 +369,12 @@ swap_bytes(buf2, count); } - if (fwrite(buf1, sizeof(short), count, stdout) != count) { - bu_log("Error writing data\n"); - return -1; + if (fwrite(buf1, sizeof(short), count, out1) != count) { + perror(dsp3_fname); + fclose(in1); + fclose(in2); + fclose(out1); + bu_exit(EXIT_FAILURE, "ERROR: count error writing data\n"); } return 0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tbr...@us...> - 2013-09-12 10:44:32
|
Revision: 57592 http://sourceforge.net/p/brlcad/code/57592 Author: tbrowder2 Date: 2013-09-12 10:44:27 +0000 (Thu, 12 Sep 2013) Log Message: ----------- change flag to be string as TCLAP uses it; simpifies TCLAP arg handlers Modified Paths: -------------- brlcad/trunk/src/util/bu_opt_parse.cpp brlcad/trunk/src/util/bu_opt_parse.h brlcad/trunk/src/util/dsp_add2.c Modified: brlcad/trunk/src/util/bu_opt_parse.cpp =================================================================== --- brlcad/trunk/src/util/bu_opt_parse.cpp 2013-09-12 09:46:02 UTC (rev 57591) +++ brlcad/trunk/src/util/bu_opt_parse.cpp 2013-09-12 10:44:27 UTC (rev 57592) @@ -56,9 +56,8 @@ int bu_opt_parse(bu_arg_vars *args[], int argc, char **argv) { - int i = 0; - if (argc < 2) - bu_exit(EXIT_FAILURE, "ERROR: too few args in %s\n", argv[0]); + //if (argc < 2) + //bu_exit(EXIT_FAILURE, "ERROR: too few args in %s\n", argv[0]); try { @@ -73,6 +72,7 @@ cmd.setOutput(&brlstdout); // proceed normally ... + int i = 0; while (args[i]) { // handle this arg and fill in the values // map inputs to TCLAP: @@ -124,18 +124,13 @@ void handle_SwitchArg(bu_arg_vars *a, CmdLine &cmd) { - string flag; - flag += a->flag; - - SwitchArg A(flag, a->name, a->desc, a->val.i); + SwitchArg A(a->flag, a->name, a->desc, a->val.i); cmd.add(A); } void handle_UnlabeledValueArg(bu_arg_vars *a, CmdLine &cmd) { - string flag; - flag += a->flag; // this is a templated type bu_arg_value_t val_type = a->val_type; Modified: brlcad/trunk/src/util/bu_opt_parse.h =================================================================== --- brlcad/trunk/src/util/bu_opt_parse.h 2013-09-12 09:46:02 UTC (rev 57591) +++ brlcad/trunk/src/util/bu_opt_parse.h 2013-09-12 10:44:27 UTC (rev 57592) @@ -64,14 +64,14 @@ /* TCLAP::Arg */ typedef struct bu_arg_vars_type { - bu_arg_t arg_type; /* enum: what TCLAP type is the arg */ - const char flag; /* the "short" option, may be NULL */ + bu_arg_t arg_type; /* enum: type of TCLAP arg */ + const char *flag; /* the "short" option, may be empty ("") */ const char *name; /* the "long" option */ const char *desc; /* a brief description */ bu_arg_req_t req; /* bool: is arg required? */ bu_arg_req_t valreq; /* bool: is value required? */ bu_arg_value val; /* union: can hold all value types */ - bu_arg_value_t val_type; /* enum: what type is in the value union */ + bu_arg_value_t val_type; /* enum: type in the value union */ } bu_arg_vars; /* the action: all in one function */ Modified: brlcad/trunk/src/util/dsp_add2.c =================================================================== --- brlcad/trunk/src/util/dsp_add2.c 2013-09-12 09:46:02 UTC (rev 57591) +++ brlcad/trunk/src/util/dsp_add2.c 2013-09-12 10:44:27 UTC (rev 57592) @@ -157,7 +157,7 @@ /* note the arg structs have to be static to compile */ static bu_arg_vars h_arg = { BU_ARG_SwitchArg, - '?', + "?", "short-help", "Same as '-h' or '--help'", BU_ARG_NOT_REQUIRED, @@ -169,7 +169,7 @@ /* define a force option to allow user to shoot himself in the foot */ static bu_arg_vars f_arg = { BU_ARG_SwitchArg, - 'f', + "f", "force", "Allow overwriting existing files.", BU_ARG_NOT_REQUIRED, @@ -181,7 +181,7 @@ /* need two file names */ static bu_arg_vars dsp1_arg = { BU_ARG_UnlabeledValueArg, - 0, + "", "dsp_infile1", "first dsp input file name", BU_ARG_REQUIRED, @@ -193,7 +193,7 @@ /* need two file names */ static bu_arg_vars dsp2_arg = { BU_ARG_UnlabeledValueArg, - 0, + "", "dsp_infile2", "second dsp input file name", BU_ARG_REQUIRED, @@ -205,7 +205,7 @@ /* the output file name */ static bu_arg_vars dsp3_arg = { BU_ARG_UnlabeledValueArg, - 0, + "", "dsp_outfile", "dsp output file name", BU_ARG_REQUIRED, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tbr...@us...> - 2013-09-12 10:58:08
|
Revision: 57593 http://sourceforge.net/p/brlcad/code/57593 Author: tbrowder2 Date: 2013-09-12 10:58:05 +0000 (Thu, 12 Sep 2013) Log Message: ----------- formalize error handling a bit; consider TCLAP error message satisfactory so we don't get in the way; but note TCLAP handling still needs work Modified Paths: -------------- brlcad/trunk/src/util/bu_opt_parse.cpp brlcad/trunk/src/util/bu_opt_parse.h brlcad/trunk/src/util/dsp_add2.c Modified: brlcad/trunk/src/util/bu_opt_parse.cpp =================================================================== --- brlcad/trunk/src/util/bu_opt_parse.cpp 2013-09-12 10:44:27 UTC (rev 57592) +++ brlcad/trunk/src/util/bu_opt_parse.cpp 2013-09-12 10:58:05 UTC (rev 57593) @@ -59,6 +59,7 @@ //if (argc < 2) //bu_exit(EXIT_FAILURE, "ERROR: too few args in %s\n", argv[0]); + int retval = BU_ARG_PARSE_SUCCESS; try { // form the command line @@ -113,10 +114,10 @@ } catch (TCLAP::ArgException &e) { // catch any exceptions cerr << "error: " << e.error() << " for arg " << e.argId() << endl; - + return BU_ARG_PARSE_ERR; } - return 0; // tmp return value + return retval; } // bu_opt_parse Modified: brlcad/trunk/src/util/bu_opt_parse.h =================================================================== --- brlcad/trunk/src/util/bu_opt_parse.h 2013-09-12 10:44:27 UTC (rev 57592) +++ brlcad/trunk/src/util/bu_opt_parse.h 2013-09-12 10:58:05 UTC (rev 57593) @@ -27,6 +27,11 @@ #endif /* using ideas from Cliff */ +/* types of parse arg results */ +typedef enum { + BU_ARG_PARSE_SUCCESS = 0, + BU_ARG_PARSE_ERR +} bu_arg_parse_result_t; /* types of arg values */ typedef enum { Modified: brlcad/trunk/src/util/dsp_add2.c =================================================================== --- brlcad/trunk/src/util/dsp_add2.c 2013-09-12 10:44:27 UTC (rev 57592) +++ brlcad/trunk/src/util/dsp_add2.c 2013-09-12 10:58:05 UTC (rev 57593) @@ -235,8 +235,9 @@ /* parse the args */ arg_err = bu_opt_parse(args, ac, av); - if (arg_err) - bu_exit(EXIT_FAILURE, "bu_opt_parse failed\n"); + /* the TCLAP execption handler has fired with a message */ + if (arg_err == BU_ARG_PARSE_ERR) + bu_exit(EXIT_SUCCESS, NULL); /* Get the value parsed by each arg. */ has_force = f_arg.val.i; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |