Implement max file size constant in libc/db/dbtest regression test.
Some /bin files read for testing are larger than SIZE_MAX causing tests
to fail. Also change error for file too large from E2BIG to EFBIG.
Feedback is very appreciated.
Index: dbtest.c
===================================================================
RCS file: /cvs/src/regress/lib/libc/db/dbtest.c,v
retrieving revision 1.13
diff -u -p -u -p -r1.13 dbtest.c
--- dbtest.c 6 Feb 2015 23:21:58 -0000 1.13
+++ dbtest.c 9 Oct 2015 03:34:48 -0000
@@ -45,6 +45,8 @@
#include <db.h>
+#define FILE_SIZE_MAX (512 * 1024)
+
enum S { COMMAND, COMPARE, GET, PUT, REMOVE, SEQ, SEQFLAG, KEY, DATA };
void compare(DBT *, DBT *);
@@ -685,8 +687,8 @@ rfile(name, lenp)
if ((fd = open(name, O_RDONLY, 0)) < 0 ||
fstat(fd, &sb))
dberr("%s: %s\n", name, strerror(errno));
- if (sb.st_size > (off_t)SIZE_MAX)
- dberr("%s: %s\n", name, strerror(E2BIG));
+ if (sb.st_size > FILE_SIZE_MAX)
+ dberr("%s: %s\n", name, strerror(EFBIG));
if ((p = (void *)malloc((u_int)sb.st_size)) == NULL)
dberr("%s", strerror(errno));
(void)read(fd, p, (int)sb.st_size);