Commit Graph

116 Commits

Author SHA1 Message Date
martin 9f96807631 When storing data size as 32bit int in an overflow page, copy the
length to a temporary u_int32_t variable and memmove from there to the
final destination - instead of copying the first four 0 bytes from a
64bit variable directly on big endian 64 bit platforms.

This makes sparc64 pass regress/lib/libc/db.
2003-12-30 21:20:16 +00:00
lukem 171d653219 Overhaul how `build.sh tools' are used:
*	Rename "config.h" to "nbtool_config.h" and
	HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
	This makes in more obvious in the source when we're using
	tools/compat/config.h versus "standard autoconf" config.h

    *	Consistently move the inclusion of nbtool_config.h to before
    	<sys/cdefs.h> so that the former can provide __RCSID() (et al),
    	and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
	#if HAVE_NBTOOL_CONFIG_H
	#include "nbtool_config.h"
	#endif
to the top of the source files (for the general case).
2003-10-27 00:12:41 +00:00
agc eb7c1594f1 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
2003-08-07 16:42:00 +00:00
wiz aeeb4fe3d0 Grammar, spelling, markup fixes from jmc@openbsd. 2003-06-06 13:42:49 +00:00
christos 5f8d1cd0cc PR/5996: ITOH Yasufumi: lib/libc/db/hash/* writes memory garbage to db file
Fixed by changing malloc's to calloc's where needed.
2003-04-20 20:41:14 +00:00
wiz 365962d31f Convert to mdoc. 2003-04-17 19:48:37 +00:00
wiz 335e44b3ef Convert to mdoc. 2003-04-17 19:35:03 +00:00
wiz 93ebe1c2f3 Punctuation nit. 2003-04-17 19:32:17 +00:00
wiz 7e06307f35 Convert to mdoc. 2003-04-17 19:18:01 +00:00
wiz 0a1b8c0e9c Increase width in a list. 2003-04-17 19:17:48 +00:00
wiz 6fa350b93d Convert to mdoc. 2003-04-17 18:48:28 +00:00
wiz f77fff8c0b Convert to mdoc. 2003-04-17 18:14:21 +00:00
simonb d7b879c6ec Grrr. So much for my ability to use grep(1) effectively. Pointed out
by Stephen Degler in private mail.
2003-01-20 07:12:12 +00:00
simonb 276fd1665c The Double-Semi-Colon Police. 2003-01-20 05:29:53 +00:00
wiz 1388941754 free's -> frees, from PR 19652. 2003-01-04 00:40:20 +00:00
christos 14c54c3327 Only allow BSIZE to 1^16 - 1:
- fix off by one error
    - limit the default from the filesystem
2002-12-11 21:20:15 +00:00
thorpej e5538ceafb Fix signed/unsigned comparison warnings. 2002-11-11 20:05:53 +00:00
thorpej 20b98814a9 Fix signed/unsigned comparison warnings. 2002-11-11 01:12:04 +00:00
itojun 35eb51aa09 use int32_t, instead of int, for on-disk data.
(so that we are safe in the future)
2002-05-30 14:55:47 +00:00
groo b8dcd239d9 Do not respect TMPDIR when s[ug]id.
from xs@kittenz.org
2002-04-16 19:00:45 +00:00
ross 814f296b77 Generate <>& symbolically. 2002-02-07 07:00:09 +00:00
thorpej 0f3aee340f Don't pull in <sys/param.h> if we don't have to. 2002-01-22 20:41:21 +00:00
tv c08a2cb7c2 Add hooks for reachover builds from src/tools/compat. 2002-01-21 21:33:42 +00:00
aymeric 51411b7d2b fix printf(3) warnings when defined(DEBUG) 2002-01-12 11:27:16 +00:00
aymeric 9e09072f0e use %p instead of %x when displaying a pointer 2002-01-12 11:26:13 +00:00
aymeric 238cdd6720 add missing prototype when defined(DEBUG) 2002-01-12 11:24:48 +00:00
thorpej e23f3d9104 Fix -Wshadow warnings (gcc 3.1). 2001-12-30 19:26:28 +00:00
thorpej 585dfd612c Rename the local variable "index" to "idx" to avoid shadowing a global
declaration.
2001-12-30 19:20:40 +00:00
thorpej 42a6d41394 __bt_search(): Rename the local variable "index" to "idx" to avoid
shadowing a global declaration.
2001-12-30 19:18:23 +00:00
lukem 50f5afd52e fix WARNS=2 (-Wshadow) warnings 2001-11-04 13:57:29 +00:00
aymeric b39251c6b2 indx_t can be a 16 bit type, and is thus not suited to hold a difference
between two pointers in the general case. Replace it by ptrdiff_t.

-> recno databases can now handle records of more than 64KB
-> nvi can now handle files with lines bigger than 64KB

Problem and fix suggested by FreeBSD PR#9350
2001-09-30 21:12:00 +00:00
wiz 260d59cdbe Boring whitespace fixes. 2001-09-16 02:57:26 +00:00
wiz 40ac848024 Fix various misspellings of compatible/compatibility. 2001-06-11 01:50:48 +00:00
cgd 579369d368 build new hsearch() code 2001-02-14 05:44:29 +00:00
cgd 603bfd4ff7 nuke old, unredeemably broken DB-based version of hsearch() et al. 2001-02-14 05:41:46 +00:00
cgd 66678fd1bb move db/man/hcreate.3 to stdlib/hcreate.3 2001-02-14 05:41:01 +00:00
christos f0c45fdbc9 protect against multiple inclusions. 2000-12-20 20:54:01 +00:00
msaitoh f9b799b651 check LIBC_SCCS 2000-09-13 22:32:25 +00:00
mycroft 8102096d08 Delint. 2000-01-23 00:49:41 +00:00
mycroft 605490369c Delint.
Remove trailing ; from uses of __weak_alias().  The macro inserts this if
needed.
2000-01-22 22:19:07 +00:00
scw 2a8d425699 After writing a page out to disk, run the page back through the user's
input filter to ensure we don't end up with a cached copy of the page
in the wrong byte-order for the host cpu.

This fixes a fatal bug which bites when the DB 'lorder' is different
to the cpu's, and a cached page is accessed soon after it was flushed
to disk.
2000-01-09 19:56:15 +00:00
mycroft 648d6d9529 Only squeeze a short key/value pair onto a page with other complete key/value
pairs, not onto a page containing the end of a big pair.
1999-07-29 08:58:46 +00:00
mycroft 72a2509e35 When deleting a big key, the offset of an empty page should be bsize, not
bsize-1; otherwise an insertion into the empty page will cause the new key to
be elongated by 1 byte.
1999-07-29 07:48:03 +00:00
mycroft 3bf07e90f3 Fix a condition where the hole would be inserted in the wrong place during a
split.
1999-07-29 04:07:27 +00:00
mycroft 462e381edd Previous bug fix was slightly wrong. In this case, the data must start on a
new page, or we will mistakenly think the first page is the end of the data.
1999-07-29 01:12:57 +00:00
mycroft 8458b947ac Document EFBIG as a valid error. 1999-07-29 00:22:29 +00:00
mycroft 343c90058f Return a useful errno value in the overflow case.
Also, print a message to stderr in one more case.
1999-07-29 00:19:43 +00:00
mycroft 14f4149717 Make the packing more dense in a couple of cases. 1999-07-28 19:41:36 +00:00
mycroft ec7d7ed5ec If (keysize+datasize)%(bsize=14)==0, insertion of a `big key' would cause an
invariant (actually, an ugly hack) to fail, and all Hell would break loose.
1999-07-28 19:33:03 +00:00
christos dc1c2ccb47 don't compare non-pointer values against NULL. 1999-07-10 17:48:54 +00:00