The following listing is a verbatim inclusion of the ChangeLog. It is
included for reference purposes.
ChangeLog for the e-tunity utility library
------------------------------------------
4.38 [KK 2007-03-07] - Implemented ps_sortsnapshot()
4.37 [KK 2006-07-19] - Bugfix in ps_makesnapshot (related to Linux
kernels 2.6+)
- RPM creation & uploading disabled. This lib
will have to be made from source.
- Fix in rx_match(): when 2nd string argument
is 0, RX_NOMATCH is returned.
4.36 [KK 2006-05-15] - Installation defaults to /usr/local/* when
$EBASE isn't set.
[KK 2006-06-02] - Small update regarding Cygwin portability.
4.35 [KK 2005-10-27] - A topline 'make install' now hits getline's
'make install' too.
- A 'make install' in the C branch forces a
'make local' in a better way.
4.34 [KK 2005-09-28] - Added c-conf
4.33 [KK 2005-09-22] - Port to OSX, 'configure' utility added.
Dynamic build on Darwin implemented.
4.32 [RE 2005-07-14] - Added ­ to e-mlcode.txt
[KK 2005-07-11] - Added c/Makefile for e-lib onboarding in
other projects. Removed fcgi based compile.
Revamped make process.
[KK 2005-07-11] - Added c/Makefile for e-lib onboarding in
other projects.
[RE 2005-07-06] - Fixed compile errors in checksumadler32.c and
fchecksumadler32.c
4.31 [KK 2005-06-21] - Added make_socket(), checksum_adler(),
fchecksum_adler()
4.30 [KK 2005-05-10] - Rewired daemonize() to use better
IPC. Improved docs.
4.29 [KK 2005-04-07] - Small documentation (manppage) fixes.
[KK 2005-05-06] daemonize() added.
4.28 [KK 2005-04-05] - getline() renamed to gl_getline(), to avoid
conflicts with a new function of stdio.h
4.27 [RE 2005-02-04] - bugfix in logsetup.c
4.26 [KK 2005-01-06] - sha1() implemented
4.25 [KK 2004-12-20] - Library flag -lm added when testing C libs
4.24 [KK 2004-07-07] - tmp_fopen() and tmp_file() are more
robust. When the compiletime symbol ETMP is
missing, then "/tmp" gets substituted.
- Minor documentation fixes.
- "make installdoc" fixed; manpages for the
separate C functions would sometimes not be
installed.
4.23 [KK 2004-06-23] - random_ulong() implemented
4.22 [KK 2004-06-21] - rx_find() added
4.21 [KK 2004-06-21] - Renamed mm_*() to mmsg_*() to avoid name
collisions with a memory allocation lib,
that also holds mm_destroy().
4.20 [KK 2004-06-15] - Makefile.help added, RPM construction
improved
- mm_*() functions added for mail message
parsing
- Make target 'documentation' created.
- Make target 'test' now uses local libraries.
Previously, a 'make install' was neccessary.
4.19 [KK 2004-05-25] - Added RPM build.
- Installed manpages are now compressed (also
those of getline).
- Dropped version ID in installed library name,
RPM installs will handle that.
4.18 [KK 2004-04-27] - sf_sleep() added
4.17 [KK 2004-04-19] - Documentation updated (text on environment variables
during installation added).
- Docs on some C functions (rc_read and so on) updated.
4.16 [KK 2003-12-16] - Fixed /dev/syslog/*/* logging via
logmsg(). Services local0 thru local7 were
handled incorrectly.
4.15 [KK 2003-11-18] - ' encoding added to html_(un)escape()
4.14 [KK 2003-11-14] - ml_encode() / ml_decode() have a wider range
- html_escape() / html_unescape() now support
numeric codings as in {
4.13 [KK 2003-10-31] - get_log_setup() function implemented.
4.12 [KK 2003-10-09] - md5() function implemented.
4.11 [KK 2003-10-01] - /dev/syslog/FACILITY/LEVEL implemented for
log_setup() and family.
4.10 [KK 2003-09-09] - Small code changes in C/C++ sources to make GCC
3.3 cleanly compile.
- C++ libs don't get built any more for FastCGI
support. The C libs still do though, that's still
being used.
- logmsg() can now be called with 0 as the format
string, in that case, only log rotations will occur.
4.09 [KK 2003-06-17] - Bugfix in fgetline(). The old function wouldn't
properly handle extremely long lines that were
not \n-terminated (e.g., a very long last line
of a file).
- Bugfix in elib_require().
4.08 [KK 2003-06-16] - base64_encode() and base64_decode() rebuilt,
implemented and documented
- Top level Makefile changed: "make install" will
now just make the libs, a separate "make
install_doc" is needed to install the manpages
4.07 [HK 2003-05-13] - encode_base64 () added
- decode_base64 () added
4.06 [KK 2003-04-07] - ps_makesnapshot() and ps_freesnapshot() added:
/proc-based process table analyzers
4.05 [KK 2003-01-30] - rc_setval() implemented.
- Small fix in logmsg().
4.04 [KK 2003-01-29] - Documentation update in rc_read().
4.03 [KK 2003-01-09] - Makefile slightly changed.
- rc_clean() implemented.
- btn_*() and bth_*() implemented. Finally, some
generic binary tree / hash functions. Also hash()
and hashbuf() are here.
4.02 [KK 2003-01-09] - Added sig_catch() to C library.
4.01 [KK 2003-01-02] - Added INCLUDE depth testing to rc_read(). This
avoids endless nesting.
4.00 [KK 2002-12-04] - Conversion to shared object usage. The C functions
are installed as libe.so (or libefcgi.so, for
FastCGI), the C++ classes are installed as
libepp.so (no FastCGI version available). The libs
are installed with a version suffix, symlinks point
to the right version.
- Source tree restructured.
- elib_version() and elib_require() implemented.
- Test runs implemented. LD_LIBRARY_PATH gets set
during these runs, incase /etc/ld.so.conf isn't
active yet.
- Docs updated.
3.22 [KK 2002-11-27] - cmm_blocksize() implemented.
- Default tmpfile prefix changed to /tmp/e; this
was: /tmp/e- (note the hyphen).
3.21 [KK 2002-11-26] Makefile changed. The FastCGI versions are only
made when FastCGI is available on the system.
3.20 [KK 2002-11-20] - copyfile(): return value CP_DST_IS_NO_FILE
implemented
- movefile(): implemented
3.19 [KK 2002-11-19] - Zipping taken out of log_rotate(). We would probably
prefer more allocation of disk space, than load on
the CPU. (Previously the history files would be
gzipped.)
- Some embedded documentation in C sources fixed.
3.18 [KK 2002-11-18] - Environment checks implemented, the current
environment is checked during a make.
- tmp_fileprefix(): a / is appended to the prefix
if the argument name is a directory.
- tmp_fopen() implemented
3.17 [KK 2002-11-11] - Bugfix in filetype(): fclose() was missing...
3.16 [KK 2002-10-29] - Separate function log_rotate() implemented.
logmsg() now rotates via this one.
3.15 [KK 2002-10-28] - rc_read() expanded: INCLUDE directive added,
environment variable RC_NAME implemented to overrule
any filename to source
- All-in-one manpage e-lib(3) added.
3.14 [RE 2002-10-23] e_zip_threshold renamed to zip_threshold.
3.13 [KK 2002-10-23] "make upload" now also sends the version ID and the
ChangeLog.
3.12 [KK 2002-10-22] Updated docs for zip_threshold().
Makefile changed: "make upload" added, conforming
to the public area of e-tunity.com.
3.11 [KK 2002-10-11] "make clean" now removes stale document results
3.10 [KK 2002-10-07] lap_start() and family now also log the duration
(elapsed time), not only CPU ticks
3.09 [KK 2002-05-31] copyright() modified to show the right years
3.08 [KK 2002-05-27] Documentation: manpages are now named just like the
contained C function or the contained class.
3.07 [RE 2002-05-21] Documentation changed to man format.
3.06 [KK 2002-05-16] More accessors for eStr made (using an eStr*
argument).
3.05 [KK 2002-05-10] eStrArr changed again: (eStr const *) arguments
also supported.
3.04 [KK 2002-05-08] eStrArr class changed: push(), add(), unshift()
all support (char const *) arguments now
3.03 [KK 2002-05-01] Minor bugfix in the make process.
3.02 [KK 2002-04-25] The "make install_lib" doesn't invoke e-libman
anymore to install PMMP's. This is now done during
"make documentation".
3.01 [KK 2002-04-16] Added eStrArr::sort(), eStr::strip()
Bugfix in the wrapping during eProgram::msg().
3.00 [KK 2002-02-01] Merged e-lib (C-style) and epp-lib (C++ style)
into new e-lib. Both are in two tastes: plain and
FCGI.
Original C++-style epp-lib ChangeLog:
-------------------------------------
1.10 [KK 2002-01-23] eHttpRequest::empty() implemented
1.09 [KK 2002-01-21] eHttpRequest now also handles HTTP/1.0 type requests
with "close" connection. This is used by e.g. htdig.
1.08 [KK 2002-01-17] Classes eHttpHdr and eHttpRequest added.
"make clean" cannot really clean up, but touches
all cc and h files, so that a subsequent "make" is
forced to recompile.
1.07 [KK 2002-01-15] eProgram::cmdline(char *switches, char *cmd)
implemented
1.06 [KK 2002-01-14] eStrArr enhanced.
1.05 [KK 2002-01-02] ostream support for eStr added
1.04 [KK 2001-12-27] in eStrArr: proper includes added, const added
for the "get" accessor, as in eArray.
1.03 [KK 2001-12-20] in eProgram: wrapmsg() implemented, and wrapping
mechanism for msg() calls
1.02 [KK 2001-12-18] in eProgram::cmdline(): options that are specified
more than once result in an error.
1.01 [KK 2001-12-17] eStrArr added
1.00 [KK 2001-12-01] First version.
Original C-style e-lib ChangeLog:
---------------------------------
2.02 [KK 2002-01-23] Make target "install_lib" is new. The "install" also
makes and installs the HTML docs.
2.01 [KK 2002-01-23] html_unescape() implemented
2.00 [KK 2002-01-22] Public release. Also:
- HTML generation revisited
- tmp_file(): compilation symbol ETMP gets #defined if it wasn't
so already
1.44 - cmm_setlevel(-1) works again, that code somehow fell over. The
internal CMM_ELIB_LEVEL is now -2.
1.43 - Check for positive size implemented in cmm_malloc() and
cmm_realloc().
- Implemented: log_wrap().
1.42 - C++ wrapping of all C-functions implemented.
- e-mail adress of copyright() changed to e-tunity.com, years updated
1.41 - copyfile() changed: last 2 arguments can be NULL pointers, in which
case the counts of read/written bytes are not updated.
- Bugfix in tmp_file(): the temporary file prefix (directory) is now
stored under CMM level CMM_ELIB_LEVEL. This makes tmp_file() c.s.
re-entrant for programs that do garbage collection.
1.40 rc_*() functions now expand variables, in the format $(var). This
is done right after a file has been scanned in rc_read().
1.39 "Make check" now disregards *zip*.c from checking. This is because
the headers under minilzo/ don't grok in e-lint (unsupported typedef
syntax).
1.38 Message generation through msg() always results in flushing stderr.
1.37 ml_encode() and ml_decode() added
1.36 Bugfix in zip_decompress(). The compression/decompression would fail
when the exact same buffer lengths would be reached.
1.35 stricmp() rewired. Previously the compared buffers would be allocated
in memory, this is not necessary.
1.34 Added recognition for XML filetype (.xml)
1.33 Bugfix on 1.32.
1.32 Persistent CMM level for "e-lib internal usage" implemented. This
level is used in: log_setup(), set_progname(), tmp_fileprefix(),
fin_push() fin_read(), lap_start (), rc_read(), tmp_file(),
1.31 - Cosmetic change in cmm_realloc().
- Both normal and FCGI libs are created now.
1.30 Gigantic speedup in cmm*() achieved by using a hash table that
accesses linked lists of memory blocks.
1.29 - FCGI build is now optional, via a macro in the Makefile.
- Bugfixes in cmm*().
1.28 - Global macros C_DEBUGGING, C_OPTIMIZING etc. used in the
Makefile's CFLAGS settings for better portability
- Installation of the docs to $ELIBMANDIR first removes old *.pmmp's.
That ensures that old functions's docs are removed.
- dp_*() functions removed, since the datapool for say Dantras is now
in MySQL. Besides, these functions don't belong in e-lib anyway.
- cmm*() functions implemented.
1.27 - ANSIDATE and ANSITIME macros in the Makefile changed for better
system independence.
- MySQL functions removed from e-lib (meta*()).
1.26 In image_size(): the JPEG sizing now looks for the right frame
marker 0xc0 (previously: 0xc*); this means that we need the FIRST
frame to determine the image size. This supports, e.g., HyperSnap
jpegs.
1.25 log_dontflush() added
1.24 Double build implemented: once a single version, once a FCGI-enabled
library construction.
1.23 Filetypes .doc (Office document) and .rtf (Rich Text format) added.
1.22 - supply_ext() added
- suggest_ext() added
1.21 - tmp_fileprefix() added
- script "makehtml" enhanced
1.20 - copyright() notice changed: build-information now includes username
and hostname and build timestamp
- cgi_setpostfile() added
1.19 - skipline() function added
- multipart CGI processing added
1.18 equal() function renamed to str_equal(), and the semantics have
somewhat changed. The function now returns the number of matched
chars. To avoid problems, the old name no longer exists in the
library.
1.17 zip_*() functions and subdirectory minilzo/ added.
1.16 Makefile adapted to allow "make check".
1.15 Added: stab_popstr(): pops a string off a string table stack
1.14 Checks for __E_LINT__ added in e-lib.h. When detected, __GNUC__ gets
undefined so that GNU extensions are suppressed in the included
headers.
1.13 copyright_setoutput() added
1.12 stab_addsprintf() added
1.11 "Out of memory" handling added: xstrdup(), xmalloc(), xrealloc(), with
the auxiliary functions out_of_memory() and set_memerr().
1.10 stab_maxlen() added
1.09 Make html calls "e-libman -1" via the script makehtml. The pages are
now cleaner..
1.08 - Makefile enhanced.
- "make html" added as option for the make process; shell script
"makehtml" will produce the e-libman-like pages in a subdir html.
1.07 - Installation of *.pmmp now creates a TimeStamp file.
- Function cgi_getdata() "un-escapes" both the CGI variable name and
its value.
1.06 Textual information of some functions adapted (for e-libman).
1.05 Making order changed. The installation of pmmp files (poor-man's man
pages) occurs now during the install phase. NOTE THAT e-libman is
needed for that... so the "make install" in the e-libman directory
must occur before the "make install" here. The top-level Makefile
should take care of that.
1.04 msg_and_log() added
1.03 checksum() added
1.02 copyfile() added
1.01 log_setup() overrules its arguments via the environment ELOGFILE etc.,
see "e-libman log_setup"
1.00 First issued version number. Versioning is now implemented also
in the e-lib and displayed via copyright(). Previous e-lib versions
do not use an internal versioning.