12000-04-09  Bruce Guenter  <bguenter@bguenter.pointsnorth.com>
2
3	* count.cc (count): Added this routine to count the number of
4	instances of a single character in a string.
5
62000-04-06  Bruce Guenter  <bguenter@bguenter.pointsnorth.com>
7
8	* fdobuf.cc (operator<<): Moved this routine out of an inline
9	declaration.
10
11	* iter.h: Moved the mystring_iter declarations into this file.
12
13	* rep.h: Moved the mystringrep declarations into this file.
14
15	* join.h: Moved the mystringjoin declarations into this file.
16
17	* mystring.h (class mystring): Renamed the "find_first" and
18	"find_last" routines that scan for items in a set to
19	"find_first_of" and "find_last_of".
20
211999-08-15  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
22
23	* mystring.h (class mystring_iter): Changed the default seperator
24	for strings to '\0'
25	(class mystring): Added a NUL constant (single 0 byte string).
26
271999-07-26  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
28
29	* mystring.h (class mystring_iter): Added this new iterator class,
30	taken from code used in vmailmgr.  It is used to iterate over
31	essentially a token-delimited string.
32
331999-07-14  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
34
35	* Removed all vestiges of mystringtmp support from this library.
36
371999-07-13  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
38
39	* append.cc: Fixed same bug as below in append.
40
41	* assign.cc: Fixed bug in assign and dup where NULL pointers
42	caused a crash.
43
44	* append.cc, assign.cc: removed the mystringtmp versions of the
45	append, assign, and dup operations.  mystringtmp now only exists
46	in the cons[2-7].cc files and tmp.cc
47
48	* find.cc: Split this file into find_first, find_first_of,
49	find_last, and find_last_of.
50
511999-07-12  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
52
53	* join.cc (traverse): This routine traverses the linked list and
54	builds a mystringrep out of it.
55
56	* mystring.h: Renamed TRACE to MYSTRING_TRACE.
57	Added a new mystringjoin class.  This class is used to turn a list
58	of calls to "operator+" into a single constructor by building a
59	linked list on the stack.  This will replace mystringtmp.
60
61	* rep.cc (struct _rep_stats): Fixed the percentage function to not
62	do divide-by-zero; modified the "slack" reporting to report a
63	percentage of the requested length.
64
65	* assign.cc: Re-added dup and assign functions for "char*" type,
66	moving the constructors and assignment operators inline.
67
68	* append.cc: Re-added append functions for "char*" type.
69
701999-07-08  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
71
72	* mystring.h (class mystring): Eliminated the "mystring" return
73	value for the assign and append operators, since this return value
74	is never used and causes extra operations.
75
76	* operator_plus.cc: Created this new file containing the
77	"operator+" routine.
78
79	* operator_pleq.cc: Created this new file containing all the
80	"operator+=" routines.
81
82	* assign.cc: Created this new file containing all the assign and
83	dup primitives.
84
85	* mystring.h (class mystring): Removed the += operator taking
86	"mystringtmp" parameter, and replaced it with two routines, one
87	for "const mystring&", and one for "const char*".  This results in
88	a net code shrinkage.
89
90	* rep.cc (struct _rep_stats): Added this optional statistics
91	gathering class to determine the effectiveness of the slack space
92	and string appending.
93
94	* append.cc (append): Use the new rep->append routine.
95
96	* rep.cc (alloc): Allocate an amount of "slack" space when
97	allocating a string, to allow for later appends.
98	(append): This new routine appends a string to the current rep if
99	and only if the current rep has a single reference and the new
100	length of the string will fit within the current size.  If not, it
101	makes a dup of this+str and returns a pointer to it.
102
1031999-06-07  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
104
105	* tmp.cc: Removed the contents of checkstr, and moved the
106	necessary parts into the constructors.  This makes the code more
107	efficient, as the constructors are adequately specific to omit
108	some of the branches in the comparisons.  It also ensures that len
109	is always initialized, allowing many of the simple functions to be
110	moved inline to the header file.
111
1121999-04-01  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
113
114	* cons7.cc (mystring): Wrote this constructor to build a string
115	from 7 inputs.
116
117