SCCS-vsn: lib/libc/db/recno/rec_seq.c 5.3
-static char sccsid[] = "@(#)rec_seq.c 5.2 (Berkeley) %G%";
+static char sccsid[] = "@(#)rec_seq.c 5.3 (Berkeley) %G%";
#endif /* not lint */
#include <sys/types.h>
#endif /* not lint */
#include <sys/types.h>
- if (nrec > t->bt_nrecs) {
+ if (t->bt_nrecs == 0 || nrec > t->bt_nrecs) {
if ((status = t->bt_irec(t, nrec)) != RET_SUCCESS)
return (status);
if ((status = t->bt_irec(t, nrec)) != RET_SUCCESS)
return (status);
- if (nrec > t->bt_nrecs)
+ if (t->bt_nrecs == 0 || nrec > t->bt_nrecs)
return (RET_ERROR);
if ((status = __rec_ret(t, e, data)) == RET_SUCCESS) {
return (RET_ERROR);
if ((status = __rec_ret(t, e, data)) == RET_SUCCESS) {
+ key->size = sizeof(recno_t);
+ bcopy(&nrec, key->data, sizeof(recno_t));
t->bt_rcursor = nrec;
SET(t, BTF_SEQINIT);
UNSET(t, BTF_DELCRSR);
t->bt_rcursor = nrec;
SET(t, BTF_SEQINIT);
UNSET(t, BTF_DELCRSR);