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);

Reply via email to