2003-01-20  James Antill  <james@and.org>

	* NEWS: Release 1.0.0

	* include/vstr-const.h (VSTR_FLAG_SECTS_FOREACH_BACKWARD): Renamed
	variable, to match english usage (ispell is your friend).

	* src/vstr_sc.c (vstr_sc_fmt_add_ipv6_vec_cidr): Massive rename
	cipe -> cidr, *sigh*.
	(vstr_sc_fmt_add_ipv4_vec_cidr): Massive rename cipe -> cidr, *sigh*.

	* src/vstr_add.c (vstr__cache_iovec_add_beg): Fixed bug for iovec cache,
	when adding data to the begining of the string.

2003-01-19  James Antill  <james@and.org>

	* src/vstr_split.c (vstr__split_hdl_null_end): Fixed return count on 
	POST_NULL split, fixes both split_buf and split_chrs.

2003-01-18  James Antill  <james@and.org>

	* src/vstr_add_fmt.c (vstr__add_fmt_usr_write_spec): Fixed bug, where
	not enough memory was allocated for specifications with entries over 8
	items ... also fixed memory leak for same if the code didn't crash.

2003-01-14  James Antill  <james@and.org>

	* include/vstr-const.h (VSTR_CNTL_CONF_GET_FLAG_ATOMIC_OPS): Renamed
	constant.
	(VSTR_CNTL_CONF_SET_FLAG_ATOMIC_OPS): Renamed constant.
	(VSTR_CNTL_CONF_GET_FLAG_ALLOC_CACHE): Renamed constant.
	(VSTR_CNTL_CONF_SET_FLAG_ALLOC_CACHE): Renamed constant.

2003-01-12  James Antill  <james@and.org>

	* NEWS: Release 0.9.21

2003-01-09  James Antill  <james@and.org>

	* src/vstr_add.c (vstr_add_vstr): Fixed bug when adding a vstr to 
	the end of itself.

2002-12-23  James Antill  <james@and.org>

	* src/vstr_sc.c (vstr_sc_fmt_add_ipv6_vec_cipe): Added function.
	(vstr_sc_fmt_add_ipv4_vec_cipe): Added function.
	(vstr_sc_fmt_add_ipv6_vec): Added function.
	(vstr_sc_fmt_add_ipv4_vec): Added function.

	* configure.in: Add extra []'s for the default values. 

2002-12-18  James Antill  <james@and.org>

	* include/vstr-inline.h (vstr_iter_fwd_beg): Add function.
	(vstr_iter_fwd_nxt): Add function.

2002-12-16  James Antill  <james@and.org>

	* src/vstr_ref.c (vstr_ref_make_memdup): Add function.

2002-12-14  James Antill  <james@and.org>

	* src/vstr_parse.c (vstr_parse_ipv6): Add function.

2002-12-13  James Antill  <james@and.org>

	* src/vstr_cntl.c (vstr_cntl_conf): Allowed NULL configuration to
	refer to global one.

	* src/vstr.c (vstr_free_spare_nodes): Allowed NULL configuration to
	refer to global one.
	(vstr_make_spare_nodes): Dito.

	* src/vstr_cache.c (vstr_cache_add): Allowed NULL configuration to
	refer to global one.
	(vstr_cache_srch): Dito.

	* src/vstr_fmt.c (vstr_fmt_add): Allowed NULL configuration to refer
	to global one.
	(vstr_fmt_del): Dito.
	(vstr_fmt_srch): Dito.

2002-12-12  James Antill  <james@and.org>

	* src/vstr_sc.c (vstr_sc_fmt_add_all): Added function.

	* src/vstr_add.c (vstr__convert_buf_ref): Cleanup code.

	* src/vstr_export.c (vstr_export_ref): Used chg_node to export data
	inside on _BUF node as a _REF without doing any copying.

	* src/vstr.c (vstr__chg_node_buf_ref): Added internal function, and
	cleaned code up in vstr_add_vstr().

2002-11-29  James Antill  <james@and.org>

	* src/vstr_dbl/glibc/sysdeps/generic/printf_fphex.c (__printf_fphex): 
	Update to latest glibc release.

2002-11-26  James Antill  <james@and.org>

	* Fixup references to vstr_nx_ in the ChangeLog.

	* src/vstr_sc_posix.c (vstr_sc_mmap_fd): Change MAP_SHARED to 
	MAP_PRIVATE, as we are doing PROT_READ anyway so it doesn't matter ...
	and MAP_SHARED fails if you have a writeable fd.

2002-11-21  James Antill  <james@and.org>

	* src/vstr_sc_posix.c (vstr_sc_write_fd): Limit vectors to UIO_MAXIOV.
	(vstr_sc_read_*): Limit vectors to UIO_MAXIOV.

	* tst/tst-main.c (PRNT_DEBUG_VSTR): Change %zu for %lu and cast ... 
	as that isn't always on the system.
	(PRNT_CSTR): Change %zu for %lu and cast ... as that isn't always on
	the system.
	(PRNT_VSTR): Change %zu for %lu and cast ... as that isn't always on
	the system.

	* configure.in: Build fixes for SunOS 5.8

2002-11-20  James Antill  <james@and.org>

	* src/vstr_add_fmt.c (vstr__add_fmt_free_conf): Remove global variables
	for vstr_add_*fmt specification allocation. All functions should now
	be mostly called reentrent, if using different configurations ... and
	no _BUF -> _REF data is shared bewteen them.

2002-11-18  James Antill  <james@and.org>

	* NEWS: Release 0.9.20

	* src/vstr_add_fmt.c (vstr__add_fmt_number): Fixed some corner cases.

	* tst/add_fmt/tst_num.c (tst): Added more tests for 
	field width + precision.

	* src/vstr_cache.c (vstr__free_cache): Fixed warning.

2002-11-16  James Antill  <james@and.org>

	* NEWS: Release 0.9.19

	* src/vstr_sect.c (vstr_sects_update_add): Add function, to auto
	update sections.
	(vstr_sects_update_del): Add function, to auto update sections.

	* src/vstr.c (vstr_free_base): Make dealoction faster, and don't 
	call cache cbs except to say free yourself.

2002-11-09  James Antill  <james@and.org>

	* Documentation/Makefile.am (confexec_DATA): Add comparison to
	installed documentation.

2002-10-16  James Antill  <james@and.org>

	* configure.in (HAVE_ATTRIB_PURE): Fixup configure.in test so it dies
	on the stupid dietlibc headers, run... 
	perl -pi -e 's/__pure__/__dietlibc_pure__/;' dietlibc/include/**/*.h
	...if you care.

2002-10-13  James Antill  <james@and.org>

	* src/vstr_dbl/glibc/sysdeps/generic/printf_fphex.c (__printf_fphex): 
	Fixed 2 formatting bugs for width accounting and 0 flag, in the glibc
	code ... forwarded the fixes.

2002-10-12  James Antill  <james@and.org>

	* NEWS: Release 0.9.18

2002-10-11  James Antill  <james@and.org>

	* src/vstr_sect.c (vstr_sects_srch): Fixed off by one bug.

	* src/vstr_dbl/glibc/sysdeps/generic/printf_fphex.c (__printf_fphex): 
	Fixed an amazingly subtle bug in the glibc implementation of %a/%A ...
	forwarded the fix to the glibc maintainers.

2002-10-10  James Antill  <james@and.org>

	* src/vstr_add.c (vstr__convert_buf_ref): Fixed data bug when adding 
	vstr to a vstr with VSTR_TYPE_ADD_BUF_REF.
	(vstr__convert_buf_ref): Fixup VSTR_TYPE_ADD_BUF_REF so it relinks the
	node instead of free'ing it.

	* src/vstr_ref.c (vstr_ref_make_ptr): Renamed API.
	(vstr_ref_make_malloc): Renamed API.

2002-10-06  James Antill  <james@and.org>

	* src/vstr_srch.c (vstr__srch_chr_rev_slow): Fix bug where the last
	character could be missed.
	(vstr__srch_buf_rev_slow): Same bug as for _chr_rev_slow.
	(vstr__srch_vstr_rev_slow): Same bug as for _chr_rev_slow.

	* src/vstr_sc.c (vstr_sc_basename): Added function.
	(vstr_sc_dirname): Added function.

	* src/vstr_cstr.c (vstr__export_cstr_cache): Fast path was never reached
	for export_ref/export_cstr etc. when you moved forward and exported.

	* src/vstr_export.c (vstr_export_ref): Fixed bugs where the wrong data 
	would be exported.

2002-10-05  James Antill  <james@and.org>

	* include/vstr-extern.h (VSTR_CMP_EQ): Fix bug where the positions had 
	to be the same in both Vstr strings, as only the first was used.

	* src/vstr_dup.c (vstr_dup_rep_chr): Added function.

	* scripts/tst_diff.sh: Added function to test "make check" coverage of
	functions.

	* src/vstr_dbl/vstr_add_fmt_dbl_glibc.c: Resync with latest glibc,
	include endian.h and ieee754 locally ... hopefully can build on non
	glibc platforms now. Also fixed signbit().

2002-10-03  James Antill  <james@and.org>

	* NEWS: Released 0.9.17

2002-10-02  James Antill  <james@and.org>

	* src/vstr_cache.c (vstr_cache_set): Changed API.
	(vstr_cache_add): Changed API.
	(vstr_cache_cb_sub): Changed API.

	* include/vstr-inline.h (vstr_cache_get): Changed API.

2002-10-01  James Antill  <james@and.org>

	* include/vstr-switch.h (VSTR__COMPILE_ATTR_PURE): Added attribute to
	some functions.
	(VSTR__COMPILE_ATTR_MALLOC): Added attribute to	some functions.

	* src/vstr_cstr.c (vstr_export_cstr_malloc): Added function.

2002-09-30  James Antill  <james@and.org>

	* tst/tst-main.c: Changes to allow vstr to be built in a sub directory.

2002-09-28  James Antill  <james@and.org>

	* examples/ex_mon_cp.c (main): Fix bkmg functions to be the final API.

2002-09-28  James Antill  <james@and.org>

	* NEWS: Relase 0.9.16

2002-09-25  James Antill  <james@and.org>

	* include/vstr-inline.h: Fixup uses of typedef's.

	* src/vstr_sc.c (vstr_sc_fmt_add_bkmg_bit_uint_buf): Added function.
	(vstr_sc_fmt_add_bkmg_bits_uint_buf): Added function.

	* src/vstr_mov.c (vstr__mov_single_node): Add optimisation for moving
	a small ammount of data in a single node.

2002-09-24  James Antill  <james@and.org>

	* examples/ex_mon_cp.c (main): Added example for monitoring copies.

	* src/vstr_mov.c (vstr_mov): Fix move, when moving data in the vstr down
	inside a single node.

	* src/vstr_sc.c (vstr_sc_fmt_add_bkmg_Byte_uint_buf): Added function.
	(vstr_sc_fmt_add_bkmg_Bytes_uint_buf): Added function.

2002-09-22  James Antill  <james@and.org>

	* src/vstr_version.c (vstr_version_func): Added compiler version of gcc
	to the about output when you run the library.

	* include/vstr-extern.h (VSTR_SRCH_CSTR_CHRS_FWD): Added macro function.
	(VSTR_SRCH_CSTR_CHRS_REV): Added macro function.
	(VSTR_CSRCH_CSTR_CHRS_FWD): Added macro function.
	(VSTR_CSRCH_CSTR_CHRS_REV): Added macro function.
	(VSTR_SRCH_CASE_CSTR_BUF_FWD): Added macro function.
	(VSTR_SRCH_CASE_CSTR_BUF_REV): Added macro function.

	* src/vstr_srch_case.c (vstr_srch_case_chr_fwd): Added function.
	(vstr_srch_case_chr_rev): Added function.
	(vstr_srch_case_buf_fwd): Added function.
	(vstr_srch_case_buf_rev): Added function.
	(vstr_srch_case_vstr_fwd): Added function.
	(vstr_srch_case_vstr_rev): Added function.

	* src/vstr_add_fmt.c (vstr_add_vfmt): Added "%m" formatter as standard.

	* include/vstr-const.h (VSTR_TYPE_FMT_ERRNO): Added constant.

2002-09-21  James Antill  <james@and.org>

	* include/vstr-extern.h (VSTR_CMP_VERS_BUF_EQ): Changed macro to call
	vstr_cmp() as that's faster.
	(VSTR_CMP_VERS_EQ): Changed macro to call vstr_cmp() as that's faster.

2002-09-21  James Antill  <james@and.org>

	* NEWS: Release 0.9.15

	* scripts/rpms-create-james.sh: Added script to create rpms.

	* src/vstr_srch.c (vstr__srch_buf_rev_fast): Fixed bugs.
	(vstr__srch_chr_rev_fast): Fixed bugs.

	* src/vstr_spn.c (vstr__spn_chrs_rev_fast): Fixed bugs.
	(vstr__cspn_chrs_rev_fast): Fixed bugs.

	* src/vstr.c (vstr__base_scan_rev_beg): Fixed major bug for all reverse
	function fast paths.

2002-09-20  James Antill  <james@and.org>

	* tst/spn/tst_c_chrs.c (tst): Check fast, as well as slow paths, for
	reverse	functions.

	* tst/spn/tst_chrs.c (tst): Check fast, as well as slow paths, for
	reverse	functions.

	* tst/srch/tst_vstr.c (tst): Check fast, as well as slow paths, for
	reverse	functions (although they aren't implemented atm.).

	* tst/srch/tst_chr.c (tst): Check fast, as well as slow paths, for
	reverse	functions.

	* tst/srch/tst_buf.c (tst): Check fast, as well as slow paths, for
	reverse	functions.

	* src/vstr_export.c (vstr_export_iovec_ptr_all): Allow NULL
	parameters.

2002-09-19  James Antill  <james@and.org>

	* include/vstr-const.h (VSTR_TYPE_FMT_PTR_CHAR): Added constant.
	(VSTR_TYPE_FMT_PTR_WCHAR_T): Added constant.

2002-09-18  James Antill  <james@and.org>

	* include/vstr-extern.h (VSTR_FMT_CB_ARG_VAL): Added macro function.
	(VSTR_FMT_CB_ARG_PTR): Added macro function.

	* src/vstr_sc.c (vstr_sc_fmt_add_buf): Added function.
	(vstr_sc_fmt_add_ptr): Added function.
	(vstr_sc_fmt_add_non): Added function.
	(vstr_sc_fmt_add_ref): Added function.

	* src/vstr_parse_netstr.c (vstr__parse_netstr): Always set the returned
	position and data length to zero, so we can test for found but not
	available easily.

2002-09-17  James Antill  <james@and.org>

	* src/vstr_cmp.c (vstr_cmp_vers_buf): Added function.

2002-09-11  James Antill  <james@and.org>

	* NEWS: Release 0.9.14

	* src/vstr_add_fmt.c (vstr__add_vfmt): Fixed bug when the user specifier
	escape was %.

2002-09-10  James Antill  <james@and.org>

	* src/vstr_add_fmt.c (VSTR__ADD_FMT_STRTOL): Fix bug with 3 or more 
	digit static field widths and precisions.

	* src/vstr_spn.c (vstr_cspn_chrs_fwd): Add fast path for single char
	spanning.

	* src/vstr_sc.c (vstr_sc_fmt_add_ipv6_ptr): Added function.
	(vstr_sc_fmt_add_ipv4_ptr): Added function.
	(vstr_sc_fmt_cb_beg): Added function.
	(vstr_sc_fmt_cb_end): Added function.

2002-09-02  James Antill  <james@and.org>

	* src/vstr_sc_posix.c (vstr_sc_mmap_fd): Add checks for mmap()
	counts, when in debugging mode.

	* src/vstr.c (vstr_exit): Add checks for mmap() counts, when in 
	debugging mode.

	* NEWS: Release 0.9.13

	* include/vstr-const.h (VSTR_CNTL_CONF_GET_FMT_CHAR_ESC): Add constant.
	(VSTR_CNTL_CONF_SET_FMT_CHAR_ESC): Add constant.
	(VSTR_CNTL_CONF_GET_NUM_SPARE_BUF): Add constant.
	(VSTR_CNTL_CONF_SET_NUM_SPARE_BUF): Add constant.
	(VSTR_CNTL_CONF_GET_NUM_SPARE_NON): Add constant.
	(VSTR_CNTL_CONF_SET_NUM_SPARE_NON): Add constant.
	(VSTR_CNTL_CONF_GET_NUM_SPARE_PTR): Add constant.
	(VSTR_CNTL_CONF_SET_NUM_SPARE_PTR): Add constant.
	(VSTR_CNTL_CONF_GET_NUM_SPARE_REF): Add constant.
	(VSTR_CNTL_CONF_SET_NUM_SPARE_REF): Add constant.

	* src/vstr_add_fmt_dbl_asm.S: Finish the glibc format double work, now
	Vstr can be ported to output double's the same way on all platforms.

	* src/vstr_join.c (vstr_join_buf): Remove undocumented function.

2002-09-01  James Antill  <james@and.org>

	* include/vstr.h (_LARGEFILE64_SOURCE): Allow external program to
	compile on Linux that don't #define _GNU_SOURCE or anything which
	brings in off64_t.

2002-08-27  James Antill  <james@and.org>

	* NEWS: Release 0.9.12

	* src/vstr_sc_posix.c (vstr_sc_mmap_fd): Now directly returns ENOSYS
	as a mmap() error if mmap() didn't exist at compile time.

	* src/vstr_conv.c (vstr_conv_encode_uri): Made the conversion walk
	forwards through the Vstr string, for speed.
	(vstr_conv_decode_uri): Made the conversion walk forwards through
	the Vstr string, for speed.
	(VSTR__BUF_NEEDED): Fast path when buf/non nodes are the only ones
	in the Vstr string.

	* src/vstr_add_fmt_dbl_none.c (vstr__add_fmt_dbl): Fixed conformance
	issues.

	* src/vstr_sc.c (vstr_sc_fmt_add_vstr): Added function.

	* src/vstr_sub.c (vstr_sub_rep_chr): Added function.

	* src/vstr_add.c (vstr_add_rep_chr): Added function.

	* src/vstr.c (vstr_swap_conf): Added function, needed for other
	libraries.

	* src/vstr_add_fmt.c (vstr_fmt_del): Added function.
	(vstr_fmt_srch): Added function.
	(vstr_add_sysfmt): Added function, ignores custom specifiers.
	(vstr_add_vsysfmt): Added function, ignores custom specifiers.

	* src/vstr_sub.c (vstr__sub_buf_fast): Added fast path when substitution
	is the length and buffers are the only nodes in the vstr.

2002-08-21  James Antill  <james@and.org>

	* src/vstr_add_fmt.c (vstr__fmt_fillin_spec): Handle negative precisions
	according to the std.

2002-08-20  James Antill  <james@and.org>

	* src/vstr_cntl.c (vstr_cntl_base): Changed VSTR_CNTL_BASE_GET_CONF
	so you have to call vstr_free_conf() when you have finished with
	the Vstr_conf.

	* src/vstr_srch.c (vstr__srch_buf_rev_fast): Added function, speeded up
	reverse buf search.

	* src/vstr_add_fmt.c (vstr_fmt_add): Add function for custom specifiers.

2002-08-18  James Antill  <james@and.org>

	* src/vstr_srch.c (vstr_srch_buf_fwd): Fixed a bug when last element
	of a node was the start of the srch.

2002-08-16  James Antill  <james@and.org>

	* src/vstr_srch.c (vstr_srch_vstr_fwd): Major bug fix.
	(vstr__srch_chr_rev_fast): Added function, speeded up reverse character
	search.

2002-08-15  James Antill  <james@and.org>

	* include/vstr-const.h (VSTR_CNTL_CONF_GET_FLAG_NO_ALLOC_CACHE): Added
	constant.
	(VSTR_CNTL_CONF_SET_FLAG_NO_ALLOC_CACHE): Added constant.

2002-08-13  James Antill  <james@and.org>

	* src/vstr_sc_posix.c (vstr_sc_mmap_fd): Changed name, changed off_t 
	to off64_t.
	(vstr_sc_mmap_file): Changed name, added offset and len parameters.
	(vstr_sc_read_iov_fd): Changed name.
	(vstr_sc_read_len_fd): Added function.
	(vstr_sc_read_iov_file): Added function.
	(vstr_sc_read_len_file): Added function.
	(vstr_sc_write_file): Added offset parameter, change mode parameter to
	mode_t.

2002-08-12  James Antill  <james@and.org>

	* scripts/check.sh: Rewrote large parts of script ... much hacky code,
	now requires zsh :(.

	* examples/ex_hexdump.c (EX_HEXDUMP_X2X2): Make hexdump much faster.

	* NEWS: Release 0.9.11

	* examples/ex_hexdump.c (main): Made example better.

	* tst/conv/tst_uppercase.c (tst): Added test.

	* tst/conv/tst_lowercase.c (tst): Added test.

	* src/vstr_add.c (vstr_add_ptr): Allow zero lengths.
	(vstr_add_non): Allow zero lengths.
	(vstr_add_ref): Allow zero lengths.
	
	* include/vstr-inline.h (vstr_add_buf: Allow zero lengths.

2002-08-11  James Antill  <james@and.org>

	* include/vstr-internal.h (VSTR__ATTR_D): Fix definition of macro,
	worked anyway for std. compliant compilers.

	* src/vstr_version.c.in: Cleanup version printing function.

	* Documentation/txt2html.pl (convert_index()): Added functions to the 
	index.

2002-08-10  James Antill  <james@and.org>

	* Fixup references to vstr_nx_ in the ChangeLog.

	* NEWS: Release 0.9.10

2002-08-09  James Antill  <james@and.org>

	* src/vstr_ref.c (vstr_make_ref_malloc): Added function.
	(vstr_make_ref_ptr): Added function.

	* src/vstr_split.c (vstr_split_chrs): Fixed infinite loop when REMAIN
	wasn't specified and you had a null addition as your last section.
	(vstr_split_buf): Fixed infinite loop when REMAIN wasn't specified 
	and you had a null addition as your last section.
	(vstr_split_buf): Fixed meaning of the NO_RET flage, as it was
	reversed.
	(vstr_split_chrs): Fixed meaning of the NO_RET flage, as it was
	reversed.

	* src/vstr_parse_netstr.c (vstr__parse_netstr): Fix the return position
	from the netstr functions from pointing to the ':' to the first piece
	of data.

	* include/vstr-extern.h (VSTR_SPLIT_CSTR_BUF): Added macro function.
	(VSTR_SPLIT_CSTR_CHRS): Added macro function.

	* src/vstr_mov.c (vstr_mov): Fixed bug, internal state got corrupted if
	you tried to move the last node of a Vstr_base to another node, and it
	could be done fast.

2002-08-08  James Antill  <james@and.org>

	* src/vstr_sub.c (VSTR__SUB_BUF): Add small copy calls outside of
	memcpy() for speed.

	* src/vstr_srch.c (vstr_srch_buf_fwd): Fix return value when
	searching for _NON data.
	(vstr_srch_buf_fwd): Fix test for is there enough room left.

	* include/vstr-const.h (VSTR_FLAG01): Added macro function.
	(VSTR_FLAG02): Added macro function.
	(VSTR_FLAG03): Added macro function.
	(VSTR_FLAG04): Added macro function.
	(VSTR_FLAG05): Added macro function.
	(VSTR_FLAG06): Added macro function.
	(VSTR_FLAG07): Added macro function.
	(VSTR_FLAG08): Added macro function.
	(VSTR_FLAG09): Added macro function.
	(VSTR_FLAG10): Added macro function.
	(VSTR_FLAG_CONV_UNPRINTABLE_ALLOW_SP): Allow space.
	(VSTR_FLAG_CONV_UNPRINTABLE_ALLOW_COMMA): Allow commas.
	(VSTR_FLAG_CONV_UNPRINTABLE_ALLOW_DOT): Allow full stops.
	(VSTR_FLAG_CONV_UNPRINTABLE_ALLOW__): Allow Underbar.
	(VSTR_FLAG_CONV_UNPRINTABLE_ALLOW_HSP): Allow space with high bit set.
	(VSTR_FLAG_CONV_UNPRINTABLE_ALLOW_NONE): Allow nothing.
	(VSTR_FLAG_CONV_UNPRINTABLE_DEF): Due to above additions changed
	default to be what most people would expect.

	* src/vstr_del.c (vstr_extern_inline_del): Fix non decrement of 
	reference for ref nodes at the begining of a deleteion.

2002-08-07  James Antill  <james@and.org>

	* src/vstr_spn.c (vstr_spn_chrs_fwd): Rename function from
	buf to chrs, as the parameter isn't treated as a buf.
	(vstr_spn_chrs_rev): Rename function from buf to chrs, as the
	parameter isn't treated as a buf.
	(vstr_cspn_chrs_fwd): Rename function from buf to chrs, as the
	parameter isn't treated as a buf.
	(vstr_cspn_chrs_rev): Rename function from buf to chrs, as the
	parameter isn't treated as a buf.

2002-08-04  James Antill  <james@and.org>

	* src/vstr_sub.c (vstr_sub_buf): Allowed Vstr to be empty.
	(vstr_sub_ptr): Allowed Vstr to be empty.
	(vstr_sub_non): Allowed Vstr to be empty.
	(vstr_sub_ref): Allowed Vstr to be empty.
	(vstr_sub_vstr): Allowed both Vstrs to be empty.

	* src/vstr_dup.c (vstr_dup_ref): Added function.

	* include/vstr-extern.h.pre (VSTR_ADD_CSTR_REF): Added macro function.
	(VSTR_DUP_CSTR_REF): Added macro function.
	(VSTR_SUB_CSTR_REF): Added macro function.

2002-07-30  James Antill  <james@and.org>

	* examples/ex_hexdump.c (main): Fixed a couple of semi-bugs.

	* src/vstr_conv.c (vstr_conv_unprintable_del): Fixed bugs found by
	test.

	* tst/conv/tst_unprintable.c (tst): Added test.

	* include/vstr-inline.h.pre (vstr_add_buf): Add small copy calls 
	outside memcpy() so for speed.

	* src/vstr_add_fmt.c (VSTR__ADD_FMT_STRTOL): Add small length nums
	inline.

	* src/vstr_add_fmt.c (VSTR__ADD_FMT_ISDIGIT): Stop being so paranoid
	about digits, digits are always next to each other ... just alphas
	that are weird.

	* examples/ex_hexdump.c (ex_hexdump_process): Fixup the 
	vstr_export_buf() calls.

	* src/vstr_add_fmt_dbl_glibc.c (PRINT_FPHEX_LONG_DOUBLE): Add long
	double support for dbl-fmt=glibc (still only %a style works though).

	* NEWS: Release 0.9.9

	* tst/add_fmt/tst_double.c (tst): Remove ' flag from formats that
	can't use it.

	* tst/add_fmt/tst_long_double.c (tst): Remove ' flag from formats that
	can't use it.

	* README: Add text about inline helper functions.

	* include/vstr-extern.h.pre: Always include helper functions are you
	can't compile without inline support.

2002-07-29  James Antill  <james@and.org>

	* scripts/autocheck.sh (conf): Change valgrind to only output stuff on
	error (and then into the err log).

	* README: Document how to add functions.

	* configure.in (AC_ARG_ENABLE(tst-noline)): Added option for testing.
	(AC_ARG_ENABLE(tst-noattr-alias)): Added option for testing.
	(AC_ARG_ENABLE(tst-noattr-visibility)): Added option for testing.

	* src/vstr_export.c (vstr_export_buf): Added a size limiter for the
	data ... probably not needed most of the time, but it's better than
	having people get it wrong.
	(vstr_export_iovec_cpy_buf): Fixed return value to be correct.
	(vstr_export_iovec_cpy_buf): Fixed major bug of using the wrong
	int causing an infinite loop.

2002-07-26  James Antill  <james@and.org>

	* Documentation/constants.txt (Constant): Added documentation for
	VSTR_COMPILE_ constants.

2002-07-23  James Antill  <james@and.org>

	* src/vstr_sc_posix.c (vstr__sc_read_slow_fd): Added code so that
	vstr_sc_read_fd() won't just fail if a cache isn't available on the
	Vstr.

	* src/vstr_conv.c (vstr_conv_encode_uri): Remove sprintf() call so we
	don't drag half of libc in.

2002-07-22  James Antill  <james@and.org>

	* src/assert_loop.c (vstr__assert_loop): Only compile function is
	NDEBUG isn't set.

	* include/main.h (FIX_NAMESPACE_SYMBOL): Make the autoconf functions
	internal (linker script will now make them inaccessible).

2002-07-18  James Antill  <james@and.org>

	* include/vstr-internal.h (VSTR__I): Add internal attribute for symbols
	not called directly from outside the module.

	* include/vstr-inline.h (vstr_ref_del): Made inline.
	(vstr_ref_add): Made inline.

2002-07-17  James Antill  <james@and.org>

	* NEWS: Release 0.9.8

	* include/Makefile.am: Install the vstr-inline.h header. *sigh*

2002-07-16  James Antill  <james@and.org>

	* include/vstr-internal.h (VSTR__H): Add visibility hidden attribute to
	internal variables that are above file scope.
	(VSTR__AH): Add alias and visibility hidden attributes to exported
	functions when used with the internal API of vstr_nx_*.

2002-07-15  James Antill  <james@and.org>

	* NEWS: Release 0.9.7

	* src/vstr_cache.c (vstr__cache_cbs): Allow cache_internal to be enabled
	again.

	* src/vstr.c (vstr_free_conf): Make vstr_free_conf() have the std. free
	semantics.

2002-07-09  James Antill  <james@and.org>

	* include/vstr-inline.h (vstr_del): Add inline vstr_del() for deleting
	from the begining of Vstrs.

	* src/vstr_ref.c (vstr_ref_del): Make vstr_ref_del() have the std. free
	semantics.

2002-07-07  James Antill  <james@and.org>

	* src/vstr.c (vstr_free_base): Must free conf last, as it might be the
	last reference.

2002-07-05  James Antill  <james@and.org>

	* src/vstr_srch.c (vstr_srch_buf_fwd): Speed up search buf fwd.

	* src/vstr_inline.c: Include out of line inlines.

2002-07-04  James Antill  <james@and.org>

	* src/vstr_add_fmt_dbl_host.c (vstr__add_fmt_dbl): Do thousand
	seperation on 'g' in 'f' style as well as 'f' itself.

	* include/vstr-switch.h (VSTR_COMPILE_INLINE): Added runtime compile
	switch to turn off inline'ing.

	* src/vstr_cache.c (vstr_cache_set_data): Turn cache_internal off if a 
	cache data value is set that isn't internal to the library. This is
	speeds up the vstr_add_buf() inline.

	* Documentation/functions.txt: Added doco. for vstr_exit(), vstr_num(),
	VSTR_SRCH_CSTR_BUF_FWD(), VSTR_SRCH_CSTR_BUF_REV(), 
	VSTR_SPN_CSTR_BUF_FWD(), VSTR_SPN_CSTR_BUF_REV(), 
	VSTR_CSPN_CSTR_BUF_FWD(), VSTR_CSPN_CSTR_BUF_REV(), and vstr_cache_sub()

2002-07-03  James Antill  <james@and.org>

	* src/vstr_parse.c (vstr_parse_ipv4): Only increment the length for the
	'/' if we are looking for more than just the ip.

	* src/vstr_add_fmt.c (vstr__add_number): Only always show octal zero 
	when # flag is on.

	* tst/tst-main.c (main): Added "make check"

	* src/vstr.c (vstr__make_conf_loc_def_numeric): Setup decimal point 
	properly.

2002-06-24  James Antill  <james@and.org>

	* include/vstr-inline.h (vstr_add_buf): Add inline function.
	(vstr_sects_add): Add inline function.

	* NEWS: Release 0.9.6

2002-06-24  James Antill  <james@and.org>

	* configure.in (enable-nonposix-host): Added option to remove all
	dependancies on POSIX, so the library can be compiled just using C89.

2002-06-20  James Antill  <james@and.org>

	* include/vstr-extern.h (VSTR_SRCH_CSTR_BUF_FWD): Added function macro.
	(VSTR_SRCH_CSTR_BUF_REV): Added function macro.
	(VSTR_SRCH_SECTS_ADD_CSTR_BUF_FWD): Added function macro.
	(VSTR_SPN_CSTR_BUF_FWD): Added function macro.
	(VSTR_SPN_CSTR_BUF_REV): Added function macro.
	(VSTR_CSPN_CSTR_BUF_FWD): Added function macro.
	(VSTR_CSPN_CSTR_BUF_REV): Added function macro.

	* src/vstr.c (vstr_num): Added function.

2002-06-19  James Antill  <james@and.org>

	* src/vstr_add.c (vstr_add_vstr): Allow a vstr_add_vstr() to be used
	with a single vstr.

	* src/vstr_mov.c (vstr_mov): Allow a vstr_mov() to be used
	with a single vstr.
	(vstr_mov): Add code for "quick" move operations between compatible
	vstrs.

	* src/vstr_sub.c (vstr_sub_vstr): Allow a vstr_sub_vstr() to be used
	with a single vstr.

	* src/vstr_del.c (vstr__del_beg): Only use ->used for _BUF type nodes.
	(vstr_del): Fix accounting of nodes on delete.

2002-06-18  James Antill  <james@and.org>

	* src/vstr.c (vstr__make_conf_loc_numeric): Minor memory leak if 
	deciaml_point_str allocation failed.

2002-06-13  James Antill  <james@and.org>

	* src/vstr.c (vstr_make_conf): Change behavour of vstr_make_conf() and
	hence vstr_init() so that they both default to the C locale.

2002-06-04  James Antill  <james@and.org>

	* NEWS: Release 0.9.5

2002-05-22  James Antill  <james@and.org>

	* src/vstr_version.c.in (vstr_version_func): Rewrite function in inline
	asm so it always works in x86 Linux.

2002-05-21  James Antill  <james@and.org>

	* src/vstr_add_fmt.c (vstr_add_vfmt): Fix stupid for loop error.

2002-05-20  James Antill  <james@and.org>

	* src/vstr_add_fmt_dbl_none.c (vstr__add_fmt_dbl): Added generic switch
	for float printing, can currently do host and none. glibc support
	comming soonish.

2002-05-07  James Antill  <james@and.org>

	* NEWS: Release 0.9.4

2002-05-03  James Antill  <james@and.org>

	* src/vstr.c (vstr_exit): Added vstr_exit() function which will cleanup
	memory used by vstr, the only function that's valid to call after this
	is vstr_init().

	* src/vstr_add_fmt.c (vstr__fmt_init_spec): Fixed memory leak in fmt
	spec allocation.

2002-04-17  James Antill  <james@and.org>

	* NEWS: Release 0.9.3

2002-04-16  James Antill  <james@and.org>

	* src/vstr.c (vstr__cache_iovec_valid): Move upto date assignment for
	the iovec cache.

	* src/vstr_cache.c (vstr__cache_iovec_alloc): Don't memmove() iovec
	cache if it isn't valid ... Duh!

2002-04-05  James Antill  <james@and.org>

	* NEWS: Release 0.9.2

	* src/vstr_add.c (vstr_add_iovec_buf_end): Fixup base->end.
	(vstr__cache_iovec_add_node_end): Take into account the offset when
	adding to the end.

	* src/vstr_sc.c (vstr_sc_read_fd): Fix doing a read into a non end part
	of the Vstr string.

	* src/vstr_add.c (vstr_add_iovec_buf_end): Fix premature adding of 
	base->len as that confuses find.

2002-04-03  James Antill  <james@and.org>

	* src/vstr.c (vstr__base_scan_fwd_beg): Allow a whole bunch of stuff to
	access the entire string even if it's empty.

2002-03-21  James Antill  <james@and.org>

	* NEWS: Release 0.9.1

2002-03-12  James Antill  <james@and.org>

	* src/vstr_dup.c (vstr_dup_vstr): Allow len to be zero.
	(vstr_dup_non): Allow len to be zero.
	(vstr_dup_ptr): Allow len to be zero.
	(vstr_dup_buf): Allow len to be zero.

2002-03-02  James Antill  <james@and.org>

	* src/vstr.c (vstr_make_spare_nodes): Renamed function from
	vstr_add_space_nodes() -- consistancy.
	(vstr_free_spare_nodes): Renamed function from
	vstr_del_space_nodes() -- consistancy.

	* include/vstr-const.h (VSTR_FLAG_PARSE_NUM_NO_BEG_ZERO): Added
	constant, so that you can specify that no zeros should precede the
	number.	

	* include/vstr-extern.h (VSTR_SECTS_NUM): Returned object is now a
	pointer to a Section node, instead of a section node.

	* include/vstr-const.h (VSTR_FLAG_SPLIT_REMAIN): Added constant, so you
	can not have non perl style stuff.

2002-02-26  James Antill  <james@and.org>

	* Makefile.am (pkgconfigdir): Changed to pkg-config from gnome-config

	* src/vstr_add.c (vstr__add_setup_pos): Allow updates to the end of a
	node without deleteing the iovec cache.
	(VSTR__ADD_MID): Fix corruption when you delete some of the first node,
	and then add data to the begining of the Vstr string.

2002-02-22  James Antill  <james@and.org>

	* src/vstr_cache.c (vstr__cache_iovec_free): Fix memory leak.

2002-02-21  James Antill  <james@and.org>

	* src/vstr_parse.c (vstr_parse_int): Use right type.
	(vstr_parse_short): Use right type.

2002-02-20  James Antill  <james@and.org>

	* src/vstr_sub.c (vstr_sub_buf): Fixes.

	* include/vstr-extern.h (VSTR_CMP_EQ): Added macro function.
	(VSTR_CMP_BUF_EQ): Added macro function.
	(VSTR_CMP_CASE_EQ): Added macro function.
	(VSTR_CMP_CASE_BUF_EQ): Added macro function.

2002-02-19  James Antill  <james@and.org>

	* src/vstr.c (vstr_make_conf): Make locale malloc() right size.
	(vstr_make_conf): Add cache initialisation.

2002-02-18  James Antill  <james@and.org>

	* src/vstr_cache.c (vstr_cache_add_cb): Added function.
	(vstr_cache_get_data): Added function.
	(vstr_cache_set_data): Added function.
	(vstr_cache_srch): Added function.

2002-02-17  James Antill  <james@and.org>

	* src/vstr_sect.c (vstr_sects_foreach): Fixed the return value.

2002-02-15  James Antill  <james@and.org>

	* src/vstr_parse_netstr.c (vstr_parse_netstr): Added function.
	(vstr_parse_netstr2): Added function.

	* src/vstr_srch_netstr.c (vstr_srch_netstr_fwd): Deleted function.
	(vstr_srch_netstr2_fwd): Deleted function.

2002-02-11  James Antill  <james@and.org>

	* src/vstr_cmp.c (vstr_cmp_case_buf): Added function.

	* src/vstr.c (vstr_init): Allow it to be called myultiple times without
	doing anything bad.

2002-02-10  James Antill  <james@and.org>

	* src/vstr_split.c (vstr_split_chrs): Added function.

	* src/vstr_srch.c (vstr_srch_chrs_fwd): Added function.
	(vstr_srch_chrs_rev): Added function.

	* src/vstr_ref.c (vstr__ref_cb_free_buf_ref): Added debug function.

	* src/vstr_cstr.c (vstr_export_cstr_ref): Altered prototype so an
	offset is passed back as well.

	* src/vstr_conv.c (VSTR__BUF_NEEDED): Fixed major bug, in common code
	for uppercase, lowercase and unprintable_chr()
	(vstr_conv_unprintable_chr): Renamed function from 
	vstr_conv_unprintable().
	(vstr_conv_unprintable_del): Added function.

2002-02-08  James Antill  <james@and.org>

	* src/vstr_export.c (vstr_export_ref): Added function.

2002-02-03  James Antill  <james@and.org>

	* NEWS: Release 0.7.3

2002-02-03  James Antill  <james@and.org>

	* include/vstr-extern.h (VSTR_SECTS_DECL): Changed macro function, it's
	now a single declaration and ISO C89 compliant.
	(VSTR_SECTS_INIT): Added macro function.
	(VSTR_SECTS_DECL_INIT): Added macro function, must be called as well as 
	VSTR_SECTS_DECL.
	(VSTR_SECTS_EXTERN_DECL): Added macro function, so you can have
	global static sects.

	* src/vstr_sect.c (vstr_sects_make): Moved function to be inside the 
	vstr_sect namespace.
	(vstr_sects_free): Dito.

	* configure.in (--enable-ansi):  Added enable-ansi argument.

	* src/vstr_sc.c (vstr_sc_write_fd): Made errno a usable value for all
	error cases.
	(vstr_sc_read_fd): Dito.
	(vstr_sc_add_fd): Dito.

2002-02-01  James Antill  <james@and.org>

	* src/vstr_sc.c (vstr_sc_write_file): Save and restore errno when an 
	error occurs before close().
	(vstr_sc_add_file): Save and restore errno when an error occurs before
	close().

2002-02-01  James Antill  <james@and.org>

	* NEWS: Release 0.7.2

2002-02-01  James Antill  <james@and.org>

	* include/vstr-switch.h (VSTR_COMPILE_INCLUDE): Added compile switch
	function, so to automatic includes.

	* src/vstr_cstr.c (vstr_export_cstr_buf): Added function.

	* src/vstr_ref.c (vstr_ref_add): Changed function name.
	(vstr_ref_del): Changed function name.

	* include/vstr-extern.h (VSTR_DECL_INIT_SECTS): Added macro function.
	(VSTR_DECL_SECTS): Added macro function.
	(VSTR_SECTS_NUM): Added macro function.

	* include/vstr-def.h (struct Vstr_base): Saved some space.
	(struct Vstr_node): Saved some space.

	* src/vstr_sc.c (vstr_sc_add_fd): 
	(vstr_sc_add_file): Added function.
	(vstr_sc_read_fd): Added function.
	(vstr_sc_write_file): Added function.

	* src/vstr_sect.c (vstr_make_sects): Added function.
	(vstr_free_sects): Added function.
	(vstr_sects_add): Added function.
	(vstr_sects_del): Added function.
	(vstr_sects_srch): Added function.
	(vstr_sects_foreach): Added function.

	* src/vstr_split.c (vstr_split_buf): Added function.

	* src/vstr_parse.c (vstr_parse_short): Added function.
	(vstr_parse_ushort): Added function.
	(vstr_parse_int): Added function.
	(vstr_parse_uint): Added function.
	(vstr_parse_long): Added function.
	(vstr_parse_ulong): Added function.
	(vstr_parse_intmax): Added function.
	(vstr_parse_uintmax): Added function.

	* src/vstr_add.c (vstr_add_vstr): Added _ALL_BUF type.

2002-01-12  James Antill  <james@and.org>

	* src/vstr_fmt.c (vstr__add_number): Bunch of fixes for 
	field widths on ints, moved thousands_sep printing to use 
	vstr__grouping_add_num as that's cleaner.

2002-01-07  James Antill  <james@and.org>

	* src/vstr_srch_netstr.c (vstr__srch_netstr): Make ASCII everywhere.

	* src/vstr.c (vstr__base_scan_rev_beg): Add type information.
	(vstr__base_scan_rev_nxt): Add type information.

	* src/vstr_fmt.c (vstr__add_number): Use the Vstr locale for ints.
	(vstr__fmt_write_spec): Use the Vstr locale for floats/doubles.

	* src/vstr.c (vstr_make_conf): Add vstr locale.

	* src/vstr_cmp.c (vstr_cmp_vers): Make ASCII everywhere.

	* src/vstr_add_netstr.c (vstr_add_netstr2_beg): Make ASCII everywhere.
	(vstr_add_netstr2_end): Make ASCII everywhere.

	* include/vstr-def.h (Vstr_base): Saved some space.

	* src/vstr_fmt.c 

	* src/vstr_conv.c (vstr_conv_unprintable): Added function (not atomic
	atm.)
	(vstr_conv_lowercase): Added function (not atomic atm.)
	(vstr_conv_uppercase): Added function (not atomic atm.)

2002-01-05  James Antill  <james@and.org>

	* src/vstr.c (vstr_make_conf): Bookkeep when a non Vstr_base has a
	reference to a conf.

2001-12-30  James Antill  <james@and.org>

	* src/vstr.c (vstr_make_conf): Change default buf_sz, given size_cmp
	documentation.

2001-12-27  James Antill  <james@and.org>

	* src/vstr_cmp.c (vstr__cmp_memcasecmp): Make ASCII everywhere.

2001-12-07  James Antill  <james@and.org>

	* src/vstr.c (vstr_free_base): Remove test on vstr_del() for all of
	the Vstr.

	* src/vstr_cstr.c (vstr__export_cstr): Allow len == 0, when Vstr_base
	is empty. This is so you can always do 
	vstr_export_vstr_*(a, 1, a->len); and not get assert() fails.


	* src/vstr_del.c (vstr_del): Allow len == 0, when Vstr_base is empty.
	This is so you can always do vstr_del(a, 1, a->len); and not get
	assert() fails.

	* src/vstr_fmt.c (vstr__fmt_write_spec): Fix use of thousands sep. in
	asprintf call.

2001-12-06  James Antill  <james@and.org>

	* examples/ex1.c (main): Print double values, so we know they at least
	sort of work.

	* src/vstr_fmt.c (vstr__fmt_write_spec): Fix printing of double values.

2001-12-05  James Antill  <james@and.org>

	* src/vstr_sub.c (vstr_sub_buf): Add validity checks when running in
	debugging mode.

	* src/vstr_add.c (vstr_add_vstr): Add validity checks when running in
	debugging mode.

	* src/vstr.c (vstr_free_base): Don't delete if there is no data in the
	VStr.
	(vstr__check_spare_nodes): Check that the nodes are the right type for
	the list they are on.
	(vstr__base_scan_fwd_beg): Insist len > 0.
	(vstr__base_scan_rev_beg): Insist len > 0.

	* src/vstr_add.c (vstr__convert_buf_ref): Decrement count of available
	ref nodes when you convert a _buf to a ref.
	(vstr__convert_buf_ref): Fix positioning code.
	(vstr__convert_buf_ref): Change the position cache to point to the
	_ref node if it points to a _buf node we are changing.

	* src/vstr.c (vstr_add_spare_nodes): Added checks.
	(vstr_del_spare_nodes): Added checks.

2001-12-04  James Antill  <james@and.org>

	* src/vstr_spn.c (vstr__spn_buf_rev_fast): Added function to speed up
	reverse traversal.
	(vstr__cspn_buf_rev_fast): Added function to speed up reverse traversal.

	* src/vstr_add.c (vstr__add_setup_pos): Make sure we aren't called with
	pos == 0.
	(vstr_add_buf): Make work for pos == 0, when we already have data.
	(vstr_add_ptr): Make work for pos == 0, when we already have data.
	(vstr_add_non): Make work for pos == 0, when we already have data.
	(vstr_add_ref): Make work for pos == 0, when we already have data.
	(vstr_add_iovec_buf_beg): Added pos argument.
	(vstr_add_iovec_buf_end): Added pos argument.

2001-12-03  James Antill  <james@and.org>

	* src/vstr.c (vstr__base_iovec_reset_node): Fix vector usage when 
	offset is used.
	(vstr__base_scan_rev_nxt): Fix vector usage when offset is used.
	(vstr__base_split_node): Fix ->end ptr on a split.

2001-12-02  James Antill  <james@and.org>

	* src/vstr_mov.c (vstr_mov): Added function.

	* src/vstr_sub.c (vstr_sub_buf): Make function atomic.

	* src/vstr_srch.c (vstr_srch_chr_fwd): Changed char to char type.
	(vstr_srch_chr_rev): Changed char to char type.

	* src/vstr.c (vstr_init_base): Switched arguments aroudn to match other
	functions.

	* examples/ex3.c: Made the file test non typedef compile mode.

	* src/vstr_add_netstr.c (vstr_add_netstr2_beg): Added pos argument.
	(vstr_add_netstr_beg): Added pos argument.
	(vstr_add_netstr2_end): Added end pos argument.
	(vstr_add_netstr_end): Added end pos argument.

2001-11-29  James Antill  <james@and.org>

	* src/vstr_export.c (vstr_export_iovec_cpy_buf): Added function.
	(vstr_export_iovec_cpy_ptr): Added function.

2001-11-21  James Antill  <james@and.org>

	* src/vstr_add.c (vstr__add_all_ref): Add de-ref for the 
	export_cstr_ref.

	* src/vstr_sub.c (vstr_sub_buf): Added function.
	(vstr_sub_ptr): Added function.
	(vstr_sub_non): Added function.
	(vstr_sub_ref): Added function.
	(vstr_sub_vstr): Added function.

2001-11-19  James Antill  <james@and.org>

	* src/vstr_srch.c (vstr_srch_buf_fwd): Fixup for the no below API 
	change.

	* src/vstr_cmp.c (vstr_cmp_vers): 
	(vstr_cmp_case): 
	(vstr_cmp_buf): 
	(vstr_cmp): Don't special case the second cmp being zero to mean
	use the length of the first string, as that means you can't cmp against
	the empty string.

	* src/vstr_srch.c (vstr__srch_chr_rev_slow): Made the function much 
	simpler by just calling vstr_srch_chr_fwd.
	(vstr_srch_buf_rev): Added function.

2001-05-02  James Antill  <james@and.org>

	* src/vstr_add.c (vstr__convert_buf_ref): Add code for 
	VSTR_ADD_TYPE_BUF_REF.

	* src/vstr_del.c (vstr_del): Add code so that we split buf's instead
	of moving memory about in the node itself.

2001-03-29  James Antill  <james@and.org>

	* src/vstr_fmt.c (vstr_add_vfmt): Add support for explicitly specified
	arguments (needed for l12n), _fmt is now almost a complete C99 printf
	like function.

	* TODO: Added TODO file.

2001-03-27  James Antill  <james@and.org>

	* src/vstr_fmt.c (vstr_add_vfmt): Add support for: size_t, long long, 
	intmax_t, ptrdiff_t, char int's ... also fixed some bugs by accident.

	* src/vstr_fmt.c (vstr_add_vfmt): Make NULL string look like 
	glibc/dietlibc.

2001-03-25  James Antill  <james@and.org>

	* src/vstr_srch_netstr.c (vstr__srch_netstr): Don't skip a netstr that
	starts valid but the end would be out of bounds.

2001-03-24  James Antill  <james@and.org>

	* src/vstr_del.c (vstr__base_iovec_del_beg): Another bug in bug 
	checking code.

	* src/vstr.c (vstr__base_iovec_check): Bug in bug checking code :).

	* src/vstr_add.c (vstr_add_iovec_buf_beg): s/||/&&/; in if.
	(vstr_add_iovec_buf_end): Fixed bug in iovs[] start.
	(vstr_add_iovec_buf_beg): Fixed bug in iovs[] start.
	(vstr_add_iovec_buf_end): Reset iovs.len to correct length when it
	isn't full.

2001-03-23  James Antill  <james@and.org>

	* src/vstr_fmt.c (vstr_add_vfmt): Fix bug when passing NULL as %s.

	* src/vstr_ref.c (vstr_ref_del_ref): Stupid bug assuming you can free
	the reference, that's done in the function call.

2001-03-22  James Antill  <james@and.org>

	* src/vstr_cstr.c (vstr_export_cstr_ptr): Added ability to export a 
	"C string" to try and minimise integration pain.

	* src/vstr_add.c (vstr_add_ref): Added offset parameter to add_ref().

	* include/vstr-def.h (VSTR__DECL_TYPEDEF1): Added cache struct to cache
	searches for a position and cstr exports.

	* src/vstr_add.c (vstr_add_vstr): Add ability to add the vstr as a 
	reference to one chunk of memory.

	* src/vstr.c (vstr_del_beg): Fixed bug, when deleting inside the first 
	node.

	* src/vstr_cntl.c (vstr__del_conf): Get rid of vstr__destory_conf, and
	use this.

2001-03-20  James Antill  <james@and.org>

	* src/vstr_ref.c (vstr_ref_cb_free_nothing): Changed name, and moved
	all the vstr_ref_* subsystem into a seperate file.

	* src/vstr.c (vstr_add_ref): Added offset paramter to add_ref.

2001-03-19  James Antill  <james@and.org>

	* src/vstr_spn.c (vstr_spn_buf_rev): Added function.
	(vstr_cspn_buf_rev): Added function.

	* src/vstr_cmp.c (vstr__cmp_memcasecmp): Use local memcasecmp(), as
	we don't want locale specific one.
	(vstr_cmp_case): Move the scan streings along in the non _non node case.
	(vstr_cmp): Move the scan streings along in the non _non node case.

	* src/vstr_spn.c (vstr_spn_buf_fwd): Changed from _str_ to _buf_.
	(vstr_cspn_buf_fwd):  Changed from _str_ to _buf_.

2001-03-16  James Antill  <james@and.org>

	* examples/ex4.c (main): Added example of vstr_srch_netstr().

	* src/vstr_cmp.c (vstr_cmp_buf): Allow cmp's against non, by passing
	NULL as the buf.

	* src/vstr_add_netstr.c (vstr__netstr_end_start): Make the add_buff 
	parameter autodetecting (do it the last node is a _buf).

	* src/vstr_srch_netstr.c (vstr__srch_netstr): Added code to search out 
	netstr/netstr2 data from a vstr.

	* src/vstr_srch.c (vstr_srch_spn_fwd): Allow span counts for "non"
	nodes, by passing NULL as the span string.
	(vstr_srch_cspn_fwd): Allow compliment span counts for "non" nodes, 
	by passing NULL as the compliment span string.
	(vstr_srch_buf_fwd):  Allow searches for a length of "non" nodes, by
	passing NULL as the buf.
	(vstr_srch_buf_fwd): the len param. now applies to the first character 
	in the buffer.

2001-03-15  James Antill  <james@and.org>

	* src/vstr.c (VSTR_C): Initial non me release.

