Revision: 41490
http://brlcad.svn.sourceforge.net/brlcad/?rev=41490&view=rev
Author: brlcad
Date: 2010-12-01 06:19:37 +0000 (Wed, 01 Dec 2010)
Log Message:
-----------
more verbose quellage, now cross-platform to newer gcc on linux where we're
catching lots of failures to check the return value on fwrite/fread/scanf. add
corresponding checks and failure handling.
Modified Paths:
--------------
brlcad/trunk/src/util/ap-pix.c
brlcad/trunk/src/util/bary.c
brlcad/trunk/src/util/bw-pix.c
brlcad/trunk/src/util/bw3-pix.c
brlcad/trunk/src/util/bwcrop.c
brlcad/trunk/src/util/bwdiff.c
brlcad/trunk/src/util/bwfilter.c
brlcad/trunk/src/util/bwrect.c
brlcad/trunk/src/util/mac-pix.c
brlcad/trunk/src/util/pixborder.c
brlcad/trunk/src/util/pixpaste.c
brlcad/trunk/src/util/pixrot.c
brlcad/trunk/src/util/pl-X.c
brlcad/trunk/src/util/plgetframe.c
Modified: brlcad/trunk/src/util/ap-pix.c
===================================================================
--- brlcad/trunk/src/util/ap-pix.c 2010-12-01 04:13:22 UTC (rev 41489)
+++ brlcad/trunk/src/util/ap-pix.c 2010-12-01 06:19:37 UTC (rev 41490)
@@ -50,6 +50,7 @@
int
main(int argc, char **argv)
{
+ size_t ret;
int i, bit;
int line;
@@ -74,8 +75,13 @@
line = 0;
while ((int)fread(&cyaline, sizeof(cyaline), 1, cyafp) > 0) {
- fread(&magline, sizeof(magline), 1, magfp);
- fread(&yelline, sizeof(yelline), 1, yelfp);
+ ret = fread(&magline, sizeof(magline), 1, magfp);
+ ret += fread(&yelline, sizeof(yelline), 1, yelfp);
+ if (ret == 0) {
+ perror("fread");
+ bu_exit(1, "%s: read failure\n");
+ }
+
line++;
for (i = 0; i < 432; i++) {
@@ -83,7 +89,11 @@
out.red = ((cyaline.cl[i]>>bit)&1) ? 0 : 255;
out.green = ((magline.ml[i]>>bit)&1) ? 0 : 255;
out.blue = ((yelline.yl[i]>>bit)&1) ? 0 : 255;
- fwrite(&out, sizeof(out), 1, stdout);
+ ret = fwrite(&out, sizeof(out), 1, stdout);
+ if (ret == 0) {
+ perror("fwrite");
+ bu_exit(1, "%s: read failure\n");
+ }
}
}
if (verbose)
Modified: brlcad/trunk/src/util/bary.c
===================================================================
--- brlcad/trunk/src/util/bary.c 2010-12-01 04:13:22 UTC (rev 41489)
+++ brlcad/trunk/src/util/bary.c 2010-12-01 06:19:37 UTC (rev 41490)
@@ -143,7 +143,7 @@
int normalize = 0; /* Make all weights sum to one? */
fastf_t *coeff;
fastf_t x, y, z;
- FILE *infp;
+ FILE *infp = NULL;
struct bu_list site_list;
struct bu_vls *tail_buf = 0;
struct site *sp;
Modified: brlcad/trunk/src/util/bw-pix.c
===================================================================
--- brlcad/trunk/src/util/bw-pix.c 2010-12-01 04:13:22 UTC (rev 41489)
+++ brlcad/trunk/src/util/bw-pix.c 2010-12-01 06:19:37 UTC (rev 41490)
@@ -34,53 +34,48 @@
#include "bu.h"
-unsigned char ibuf[1024], obuf[3*1024];
-
-
int
main(int argc, char **argv)
{
+ unsigned char ibuf[1024], obuf[3*1024];
size_t in, out, num;
FILE *finp, *foutp;
/* check for input file */
if (argc > 1) {
-#if defined(_WIN32) && !defined(__CYGWIN__)
if ((finp = fopen(argv[1], "rb")) == NULL) {
-#else
- if ((finp = fopen(argv[1], "r")) == NULL) {
-#endif
- bu_exit(1, "bw-pix: can't open \"%s\"\n", argv[1]);
- }
- } else
- finp = stdin;
+ bu_exit(1, "bw-pix: can't open \"%s\"\n", argv[1]);
+ }
+ } else
+ finp = stdin;
- /* check for output file */
- if (argc > 2) {
-#if defined(_WIN32) && !defined(__CYGWIN__)
- if ((foutp = fopen(argv[2], "wb")) == NULL) {
-#else
- if ((foutp = fopen(argv[2], "w")) == NULL) {
-#endif
- bu_exit(2, "bw-pix: can't open \"%s\"\n", argv[2]);
- }
- } else
- foutp = stdout;
+ /* check for output file */
+ if (argc > 2) {
+ if ((foutp = fopen(argv[2], "wb")) == NULL) {
+ bu_exit(2, "bw-pix: can't open \"%s\"\n", argv[2]);
+ }
+ } else
+ foutp = stdout;
- if (argc > 3 || isatty(fileno(finp)) || isatty(fileno(foutp))) {
- bu_exit(3, "Usage: bw-pix [in.bw] [out.pix]\n");
- }
+ if (argc > 3 || isatty(fileno(finp)) || isatty(fileno(foutp))) {
+ bu_exit(3, "Usage: bw-pix [in.bw] [out.pix]\n");
+ }
- while ((num = fread(ibuf, sizeof(char), 1024, finp)) > 0) {
- for (in = out = 0; in < num; in++, out += 3) {
- obuf[out] = ibuf[in];
- obuf[out+1] = ibuf[in];
- obuf[out+2] = ibuf[in];
- }
- fwrite(obuf, sizeof(char), 3*num, foutp);
- }
- return 0;
+ 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;
+ }
+ }
+ return 0;
+}
/*
* Local Variables:
Modified: brlcad/trunk/src/util/bw3-pix.c
===================================================================
--- brlcad/trunk/src/util/bw3-pix.c 2010-12-01 04:13:22 UTC (rev 41489)
+++ brlcad/trunk/src/util/bw3-pix.c 2010-12-01 06:19:37 UTC (rev 41490)
@@ -34,10 +34,6 @@
#include "bu.h"
-unsigned char obuf[3*1024];
-unsigned char red[1024], green[1024], blue[1024];
-
-
void
open_file(FILE **fp, char *name)
{
@@ -59,6 +55,9 @@
int
main(int argc, char **argv)
{
+ unsigned char obuf[3*1024];
+ unsigned char red[1024], green[1024], blue[1024];
+
int i;
int nr, ng, nb, num;
unsigned char *obufp;
@@ -95,7 +94,11 @@
*obufp++ = green[i];
*obufp++ = blue[i];
}
- fwrite(obuf, sizeof(char), num*3, stdout);
+ num = fwrite(obuf, sizeof(char), num*3, stdout);
+ if (num <= 0) {
+ perror("fwrite");
+ break;
+ }
}
return 0;
}
Modified: brlcad/trunk/src/util/bwcrop.c
===================================================================
--- brlcad/trunk/src/util/bwcrop.c 2010-12-01 04:13:22 UTC (rev 41489)
+++ brlcad/trunk/src/util/bwcrop.c 2010-12-01 06:19:37 UTC (rev 41490)
@@ -89,11 +89,15 @@
void
fill_buffer(int y)
{
+ size_t ret;
+
buf_start = y - buflines/2;
if (buf_start < 0) buf_start = 0;
fseek(ifp, buf_start * scanlen, 0);
- fread(buffer, scanlen, buflines, ifp);
+ ret = fread(buffer, scanlen, buflines, ifp);
+ if (ret == 0)
+ perror("fread");
}
@@ -103,6 +107,7 @@
float row, col, x1, y1, x2, y2, x, y;
size_t yindex;
char value;
+ size_t ret;
if (argc < 3) {
bu_exit(1, "%s", usage);
@@ -130,21 +135,37 @@
unsigned long len;
/* Get info */
printf("Scanline length in input file: ");
- scanf("%lu", &len);
+ ret = scanf("%lu", &len);
+ if (ret != 1)
+ perror("scanf");
scanlen = len;
if (scanlen <= 0) {
bu_exit(4, "bwcrop: scanlen = %d, don't be ridiculous\n", scanlen);
}
printf("Line Length and Number of scan lines (in new file)?: ");
- scanf("%f%f", &xnum, &ynum);
+ ret = scanf("%f%f", &xnum, &ynum);
+ if (ret != 1)
+ perror("scanf");
+
printf("Upper left corner in input file (x, y)?: ");
- scanf("%f%f", &ulx, &uly);
+ ret = scanf("%f%f", &ulx, &uly);
+ if (ret != 1)
+ perror("scanf");
+
printf("Upper right corner (x, y)?: ");
- scanf("%f%f", &urx, &ury);
+ ret = scanf("%f%f", &urx, &ury);
+ if (ret != 1)
+ perror("scanf");
+
printf("Lower right (x, y)?: ");
- scanf("%f%f", &lrx, &lry);
+ ret = scanf("%f%f", &lrx, &lry);
+ if (ret != 1)
+ perror("scanf");
+
printf("Lower left (x, y)?: ");
- scanf("%f%f", &llx, &lly);
+ ret = scanf("%f%f", &llx, &lly);
+ if (ret != 1)
+ perror("scanf");
}
/* See how many lines we can buffer */
@@ -180,7 +201,9 @@
}
value = buffer[ yindex * scanlen + round(x) ];
- fwrite(&value, sizeof(value), 1, ofp);
+ ret = fwrite(&value, sizeof(value), 1, ofp);
+ if (ret == 0)
+ perror("fwrite");
}
}
Modified: brlcad/trunk/src/util/bwdiff.c
===================================================================
--- brlcad/trunk/src/util/bwdiff.c 2010-12-01 04:13:22 UTC (rev 41489)
+++ brlcad/trunk/src/util/bwdiff.c 2010-12-01 06:19:37 UTC (rev 41490)
@@ -71,6 +71,7 @@
{
unsigned char *p1, *p2, *op;
int i, n, m;
+ size_t ret;
while (argc > 3) {
if (strcmp(argv[1], "-m") == 0) {
@@ -180,7 +181,11 @@
}
break;
}
- fwrite(&obuf[0], 1, n, stdout);
+ ret = fwrite(&obuf[0], 1, n, stdout);
+ if (ret == 0) {
+ perror("fwrite");
+ break;
+ }
}
return 0;
}
Modified: brlcad/trunk/src/util/bwfilter.c
===================================================================
--- brlcad/trunk/src/util/bwfilter.c 2010-12-01 04:13:22 UTC (rev 41489)
+++ brlcad/trunk/src/util/bwfilter.c 2010-12-01 06:19:37 UTC (rev 41490)
@@ -141,6 +141,7 @@
int x, y;
int value, r1, r2, r3;
int max, min;
+ size_t ret;
/* Select Default Filter (low pass) */
select_filter("low");
@@ -162,10 +163,18 @@
bottom = &line1[0];
middle = &line2[0];
top = &line3[0];
- fread(bottom, sizeof(char), width, infp);
- fread(middle, sizeof(char), width, infp);
- fwrite(bottom, sizeof(char), width, stdout);
+ 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]);
@@ -176,7 +185,10 @@
for (y = 1; y < height-1; y++) {
/* read in top line */
- fread(top, sizeof(char), width, infp);
+ 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++) {
@@ -198,7 +210,10 @@
obuf[x] = value;
}
obuf[width-1] = middle[width-1];
- fwrite(obuf, sizeof(char), width, stdout);
+ ret = fwrite(obuf, sizeof(char), width, stdout);
+ if (ret == 0)
+ perror("fwrite");
+
/* Adjust row pointers */
temp = bottom;
bottom = middle;
@@ -206,7 +221,9 @@
top = temp;
}
/* write out last line untouched */
- fwrite(top, sizeof(char), width, stdout);
+ ret = fwrite(top, sizeof(char), width, stdout);
+ if (ret == 0)
+ perror("fwrite");
/* Give advise on scaling factors */
if (verbose)
Modified: brlcad/trunk/src/util/bwrect.c
===================================================================
--- brlcad/trunk/src/util/bwrect.c 2010-12-01 04:13:22 UTC (rev 41489)
+++ brlcad/trunk/src/util/bwrect.c 2010-12-01 06:19:37 UTC (rev 41490)
@@ -43,6 +43,7 @@
FILE *ifp, *ofp;
int row;
long offset;
+ size_t ret;
if (argc < 3) {
bu_exit(1, "usage: bwrect infile outfile (I prompt!)\n");
@@ -56,11 +57,19 @@
/* Get info */
printf("Area to extract (x, y) in pixels ");
- scanf("%d%d", &xnum, &ynum);
+ ret = scanf("%d%d", &xnum, &ynum);
+ if (ret != 2)
+ perror("scanf");
+
printf("Origin to extract from (0, 0 is lower left) ");
- scanf("%d%d", &xorig, &yorig);
+ ret = scanf("%d%d", &xorig, &yorig);
+ if (ret != 2)
+ perror("scanf");
+
printf("Scan line length of input file ");
- scanf("%d", &linelen);
+ ret = scanf("%d", &linelen);
+ if (ret != 1) {
+ perror("scanf");
buf = (char *)bu_malloc(xnum, "buffer");
@@ -68,8 +77,17 @@
for (row = 0+yorig; row < ynum+yorig; row++) {
offset = row * linelen + xorig;
fseek(ifp, offset, 0);
- fread(buf, sizeof(*buf), xnum, ifp);
- fwrite(buf, sizeof(*buf), xnum, ofp);
+ 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");
Modified: brlcad/trunk/src/util/mac-pix.c
===================================================================
--- brlcad/trunk/src/util/mac-pix.c 2010-12-01 04:13:22 UTC (rev 41489)
+++ brlcad/trunk/src/util/mac-pix.c 2010-12-01 06:19:37 UTC (rev 41490)
@@ -219,6 +219,7 @@
int y1, y2, y3; /* y zone widths */
int first_x; /* x: first pixel to be output in pix[] */
int first_y; /* y: first pixel to be output in pix[] */
+ size_t ret;
if (!get_args(argc, argv) || isatty(fileno(stdout))) {
(void)fputs(usage, stderr);
@@ -231,7 +232,11 @@
if (scr_height == 0)
scr_height = file_height;
- fread((char *)&hdr, sizeof(hdr), 1, infp);
+ ret = fread((char *)&hdr, sizeof(hdr), 1, infp);
+ if (ret == 0) {
+ perror("fread");
+ break;
+ }
/* x and y are in terms of 1st quadrant coordinates */
/* Very first bit input is in upper right of screen */
@@ -296,34 +301,79 @@
x3 = scr_width - x1 - x2;
if (bwflag) {
- for (y = 0; y < y1; y++)
- fwrite(black, scr_width, 1, stdout);
+ for (y = 0; y < y1; y++) {
+ ret = fwrite(black, scr_width, 1, stdout);
+ if (ret == 0) {
+ perror("fwrite");
+ break;
+ }
+ }
for (y = 0; y < y2; y++) {
- fwrite(black, x1, 1, stdout);
- fwrite(&pix[(file_width*(y+first_y))+first_x],
- x2, 1, stdout);
- fwrite(black, x3, 1, stdout);
+ ret = fwrite(black, x1, 1, stdout);
+ if (ret == 0) {
+ perror("fwrite");
+ break;
+ }
+ ret = fwrite(&pix[(file_width*(y+first_y))+first_x], x2, 1, stdout);
+ if (ret == 0) {
+ perror("fwrite");
+ break;
+ }
+
+ ret = fwrite(black, x3, 1, stdout);
+ if (ret == 0) {
+ perror("fwrite");
+ break;
+ }
}
- for (y = 0; y < y3; y++)
- fwrite(black, scr_width, 1, stdout);
+ for (y = 0; y < y3; y++) {
+ ret = fwrite(black, scr_width, 1, stdout);
+ if (ret == 0) {
+ perror("fwrite");
+ break;
+ }
+ }
} else {
- for (y = 0; y < y1; y++)
- fwrite(black, scr_width, 3, stdout);
+ for (y = 0; y < y1; y++) {
+ ret = fwrite(black, scr_width, 3, stdout);
+ if (ret == 0) {
+ perror("fwrite");
+ break;
+ }
+ }
for (y = 0; y < y2; y++) {
unsigned char *cp;
- fwrite(black, x1, 3, stdout);
+ ret = fwrite(black, x1, 3, stdout);
+ if (ret == 0) {
+ perror("fwrite");
+ break;
+ }
cp = &pix[(file_width*(y+first_y))+first_x];
for (x = 0; x < x2; x++) {
if (*cp++)
- fwrite(color, 3, 1, stdout);
+ ret = fwrite(color, 3, 1, stdout);
else
- fwrite(black, 3, 1, stdout);
+ ret = fwrite(black, 3, 1, stdout);
+
+ if (ret == 0) {
+ perror("fwrite");
+ break;
+ }
}
- fwrite(black, x3, 3, stdout);
+ ret = fwrite(black, x3, 3, stdout);
+ if (ret == 0) {
+ perror("fwrite");
+ break;
+ }
}
- for (y = 0; y < y3; y++)
- fwrite(black, scr_width, 3, stdout);
+ for (y = 0; y < y3; y++) {
+ ret = fwrite(black, scr_width, 3, stdout);
+ if (ret == 0) {
+ perror("fwrite");
+ break;
+ }
+ }
}
return 0;
Modified: brlcad/trunk/src/util/pixborder.c
===================================================================
--- brlcad/trunk/src/util/pixborder.c 2010-12-01 04:13:22 UTC (rev 41489)
+++ brlcad/trunk/src/util/pixborder.c 2010-12-01 06:19:37 UTC (rev 41490)
@@ -564,7 +564,7 @@
|| (! read_row(inrow[next_row], file_width, infp)))
{
perror(file_name);
- (void) fprintf(stderr, "pixborder: fread() error\n");
+ fprintf(stderr, "pixborder: fread() error\n");
bu_exit (1, NULL);
}
Modified: brlcad/trunk/src/util/pixpaste.c
===================================================================
--- brlcad/trunk/src/util/pixpaste.c 2010-12-01 04:13:22 UTC (rev 41489)
+++ brlcad/trunk/src/util/pixpaste.c 2010-12-01 06:19:37 UTC (rev 41490)
@@ -295,7 +295,10 @@
result=fread(origbuf, num_bytes, org_width, orig);
if (result != org_width) {
(void)fprintf(stderr, "pixpaste: original image is short.\n");
- (void)fwrite(origbuf, num_bytes, result, stdout);
+ result = fwrite(origbuf, num_bytes, result, stdout);
+ if (result == 0) {
+ perror("fwrite");
+ }
bu_exit (0, NULL);
}
result = fwrite(origbuf, num_bytes, org_width, stdout);
@@ -326,7 +329,7 @@
result = fwrite(origbuf, num_bytes, org_width, stdout);
if (result != org_width) {
perror("pixpaste: fwrite3");
- bu_exit (3, NULL);
+ bu_exit(3, NULL);
}
row++;
}
@@ -345,7 +348,7 @@
result = fwrite(origbuf, num_bytes, org_width, stdout);
if (result != org_width) {
perror("pixpaste: fwrite4");
- bu_exit (3, NULL);
+ bu_exit(3, NULL);
}
row++;
}
Modified: brlcad/trunk/src/util/pixrot.c
===================================================================
--- brlcad/trunk/src/util/pixrot.c 2010-12-01 04:13:22 UTC (rev 41489)
+++ brlcad/trunk/src/util/pixrot.c 2010-12-01 06:19:37 UTC (rev 41490)
@@ -143,6 +143,7 @@
{
int x, y, j;
long outbyte, outplace;
+ size_t ret;
if (!get_args(argc, argv) || isatty(fileno(stdout))) {
bu_exit(1, "%s", usage);
@@ -194,7 +195,11 @@
}
outplace = outbyte;
}
- fwrite(obuf, pixbytes, buflines, ofp);
+ ret = fwrite(obuf, pixbytes, buflines, ofp);
+ if (ret == 0) {
+ perror("fwrite");
+ break;
+ }
outplace += (pixbytes * buflines);
}
} else if (minus90) {
@@ -215,7 +220,11 @@
}
outplace = outbyte;
}
- fwrite(obuf, pixbytes, buflines, ofp);
+ ret = fwrite(obuf, pixbytes, buflines, ofp);
+ if (ret == 0) {
+ perror("fwrite");
+ break;
+ }
outplace += (pixbytes * buflines);
}
} else if (invert) {
@@ -228,13 +237,21 @@
}
outplace = outbyte;
}
- fwrite(&buffer[(y-firsty)*scanbytes], 1, scanbytes, ofp);
+ ret = fwrite(&buffer[(y-firsty)*scanbytes], 1, scanbytes, ofp);
+ if (ret == 0) {
+ perror("fwrite");
+ break;
+ }
outplace += scanbytes;
}
} else {
/* Reverse only */
for (y = 0; y < buflines; y++) {
- fwrite(&buffer[y*scanbytes], 1, scanbytes, ofp);
+ ret = fwrite(&buffer[y*scanbytes], 1, scanbytes, ofp);
+ if (ret == 0) {
+ perror("fwrite");
+ break;
+ }
}
}
Modified: brlcad/trunk/src/util/pl-X.c
===================================================================
--- brlcad/trunk/src/util/pl-X.c 2010-12-01 04:13:22 UTC (rev 41489)
+++ brlcad/trunk/src/util/pl-X.c 2010-12-01 06:19:37 UTC (rev 41490)
@@ -174,8 +174,9 @@
{
unsigned char in[8];
double d;
+ size_t ret;
- fread(in, 8, 1, stdin);
+ ret = fread(in, 8, 1, stdin);
ntohd((unsigned char *)&d, in, 1);
return d;
}
Modified: brlcad/trunk/src/util/plgetframe.c
===================================================================
--- brlcad/trunk/src/util/plgetframe.c 2010-12-01 04:13:22 UTC (rev 41489)
+++ brlcad/trunk/src/util/plgetframe.c 2010-12-01 06:19:37 UTC (rev 41490)
@@ -166,16 +166,40 @@
case TNONE:
break;
case TCHAR:
- fread(buf, 1, up->narg, stdin);
- fwrite(buf, 1, up->narg, stdout);
+ ret = fread(buf, 1, up->narg, stdin);
+ if (ret == 0) {
+ perror("fread");
+ break;
+ }
+ ret = fwrite(buf, 1, up->narg, stdout);
+ if (ret == 0) {
+ perror("fwrite");
+ break;
+ }
break;
case TSHORT:
- fread(buf, 2, up->narg, stdin);
- fwrite(buf, 2, up->narg, stdout);
+ ret = fread(buf, 2, up->narg, stdin);
+ if (ret == 0) {
+ perror("fread");
+ break;
+ }
+ ret = fwrite(buf, 2, up->narg, stdout);
+ if (ret == 0) {
+ perror("fwrite");
+ break;
+ }
break;
case TIEEE:
- fread(buf, 8, up->narg, stdin);
- fwrite(buf, 8, up->narg, stdout);
+ ret = fread(buf, 8, up->narg, stdin);
+ if (ret == 0) {
+ perror("fread");
+ break;
+ }
+ ret = fwrite(buf, 8, up->narg, stdout);
+ if (ret == 0) {
+ perror("fwrite");
+ break;
+ }
break;
case TSTRING:
while ((c = getchar()) != '\n' && c != EOF)
@@ -191,13 +215,25 @@
case TNONE:
break;
case TCHAR:
- fread(buf, 1, up->narg, stdin);
+ ret = fread(buf, 1, up->narg, stdin);
+ if (ret == 0) {
+ perror("fread");
+ break;
+ }
break;
case TSHORT:
- fread(buf, 2, up->narg, stdin);
+ ret = fread(buf, 2, up->narg, stdin);
+ if (ret == 0) {
+ perror("fread");
+ break;
+ }
break;
case TIEEE:
- fread(buf, 8, up->narg, stdin);
+ ret = fread(buf, 8, up->narg, stdin);
+ if (ret == 0) {
+ perror("fread");
+ break;
+ }
break;
case TSTRING:
while ((c = getchar()) != '\n' && c != EOF)
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits