2008-05-04  Valentin Hilbig  <tino@firebird.03.softkill.net>

	* alloc.h: added nameing convention

2008-01-18  Valentin Hilbig  <tino@firebird.03.softkill.net>

	* Makefile-diet.sh (TINODIETCC): added -Os to get smallest build
	on "make static"

2008-01-03  Valentin Hilbig  <tino@firebird.03.softkill.net>

	* C++ specific changes for cleaner compile, many datatypes
	promoted from signed to unsigned etc.

	* Makefile.proto: C++ function warning removed

2007-12-31  Valentin Hilbig  <tino@firebird.03.softkill.net>

	* sock.h (tino_sock_get_adrnameN, tino_sock_get_peernameN) 
	(tino_sock_get_socknameN): renamed from ...E to ...N

	* sock_tool.h (tino_sock_unix_kill_ifO): added

	* file.h (tino_file_unlinkO): added (has no sideffect on errno)

2007-12-30  Valentin Hilbig  <tino@firebird.03.softkill.net>

	* html_entities.h: &and; corrected, placed under the CLL

	* getopt.h (main): better commented

2007-12-22  Valentin Hilbig  <tino@firebird.03.softkill.net>

	* log.h: works again for filename '-'

2007-10-20  Valentin Hilbig  <tino@firebird.03.softkill.net>

	* getopt.h (tino_getopt_parse): removed PLUS_var warning, as this
	should (perhaps) start to work somehow ..
	
2007-10-05  Valentin Hilbig  <tino@firebird.03.softkill.net>

	* ex.h (tino_verr): oops, ifndef -> ifdef

2007-10-04  Valentin Hilbig  <tino@firebird.03.softkill.net>

	* proc.h (tino_wait_child_p): added to return the child PID
	(tino_wait_child): uses tino_wait_child_p
	(tino_wait_child_poll): added

	* log.h (tino_log_errorO): unused variable removed

2007-10-03  Valentin Hilbig  <tino@firebird.03.softkill.net>

	* Makefile-diet.sh (rundiet): now tries to autodetect where diet
	lives

2007-10-01  Valentin Hilbig  <tino@firebird.03.softkill.net>

	* Makefile.proto: -Wno-unused-function added as -O3 no more
	removes this.  However in future I want to add -Wextra, too.

	* ex.h (tino_verr): TINO_NEED_OLD_ERR_FN as a flag for utilities
	which are not tino_err() conformant nor aware.

	* filetool.h (tino_file_mkdirs_forfile): bugfix.  The parent
	upstream directories were not created (only a single level was).

	* Due to a catastrophic hard drive failure my RH7.3 development
	system was re-installed with Debian Etch.  Yes, I lost some data
	(like uncommitted states), as the last full backup was weeks old.
	Only important stuff (like the CVS archive) is permanently backed
	up.  If you ask why I have no more recent backups, it just takes
	too long to backup everything regularily.  I know that I have to
	change that for some years now ..  FYI the HD was from 2001, and
	thus only lasted short 6 years (with an MTBF of over 10 years).
	Apparently it was a magnetic failure as it lost it's OS, as it now
	reports 0 cylinders.
	
2007-09-29  Valentin Hilbig  <tino@firebird.03.softkill.net>

	* Makefile-diff.awk: "make diff" now works with Debian Etch (cvs
	version 1.12.13), too

2007-09-28    <tino@firebird.03.softkill.net>

	* file.h (tino_file_fd_copy): added

	* proc.h (tino_forkA): added

	* buf.h (tino_buf_write_all_1E): EAGAIN removed, as this would do
	a nonblocking loop.

2007-09-27    <tino@firebird.03.softkill.net>

	* sysfix_cygwin.h: According to documentation (and my tests)
	CygWin 1.5 always does 64 bit IO.  As some xxx64 prototypes are
	missing, CygWin can use the normal library routines.  This fixes
	all other problems I had before, too.  However there might be some
	things I am still missing, as "make test" still fails with CygWin.

2007-09-26    <tino@firebird.03.softkill.net>

	* proc.h (tino_daemonize_pidOb): typo fixes

	* Makefile.proto: CygWin fix: HERE was not quoted in all cases.
	Under CygWin sometimes (depends on the Windows version) there are
	spaces in the default paths.

	* sock.h: tino_sock_select now in separate file.

2007-09-21    <tino@firebird.03.softkill.net>

	* sleep.h: no more depends on alarm.h

	* file.h (tino_file_rmdirE, tino_file_unlinkE): added

	* proc.h (tino_daemonize_pidOb, tino_daemonizeOb): added

	* Makefile.proto (CXXFLAGS): added
	(CFLAGS): Typo corrected, it must be called DBG_CFLAGS and not
	DBG_FLAGS!  (For compat both can be used.)

	* Makefile.tino.dist (ADD_CCFLAGS): added flags for C++

	* Makefile.proto: Double colon list changed to single colon list,
	as this (with implicite rules) always compiled the target twice.
	However this perhaps makes it incompatible to other makes (I have
	in mind, from the 80s on Atari ST, as there you were allowed
	either *one* single colon rule or multiple double colon rules).
 
	* sock.h (tino_sock_error): calls to tino_sock_error improved.
	Now it shall be more reliable (longjmp case) and is more easy to
	use (default -1 return).

2007-09-20    <tino@firebird.03.softkill.net>

	* getopt.h (tino_getopt_usage): usage on TINO_GETOPT_MIN without
	TINO_GETOPT_MAX now better to understand

2007-09-19    <tino@firebird.03.softkill.net>

	* file.h (tino_file_blocking): new renamed to upd (C++)

2007-09-18    <tino@firebird.03.softkill.net>

	* sock.h (tino_sock_select_timeoutEn): BUGfix: if forepoll was
	called out of alarm functions, it did not work.  Also the loop
	returned after 1000 signals, which was a little bit wrong.
	(tino_sock_select_timeoutEn): longstanding BUG removed: If a
	socket is freed in select_loop, the next-iteration stopped.  This
	only had bad sideffects when a forcepoll was done, but this
	explains some "starvation" problems I saw.

	* sockbuf.h (tino_sockbuf_processN): poll function now gets passed
	the original default poll value to alter it.

	* alloc.h (tino_strdup): fatal builtin (as it seems I too often
	pass NULL values there).

	* sockbuf.h (tino_sockbuf_processN): read_hook and write_hook now
	can alter errno, it is restored to correct values.

	* file.h (tino_file_read_allE): Bugfix (OOPS): Error condition was
	no more detected - glitch in recent changes ..

	* data.h (tino_data_stream): disabled, as the stdlib routines
	fread/fwrite do not work reliably (they return plain crap in case
	of multiple SIGALRM while waiting for IO).

	* file.h (tino_file_clearerr): added

	* data.h (tino_data_stream_read, tino_data_stream_write): bugfix:
	fread() and fwrite() actually *can* do a short io and return
	EINTR!  I am really puzzled, as I always thought, that this
	functions can overcome alarm().

	* xd.h (tino_xd): hex address added

	* data.h (tino_data_writeA, tino_data_readA): intr function
	removed in favor of TINO_ALARM_RUN.

2007-09-17    <tino@firebird.03.softkill.net>

	* alarm.h (tino_alarm_set): 4th argument (runtime) to alarm
	function added.

	* getopt.h: TINO_GETOPT_STRINGOPTS usage comment improved (As I
	could not understand it myself before *eg*).
	(tino_getopt_init): bugfix: A NULL DEFAULT_PTR does work now as
	expected (before you had to decide on compile time if it was NULL
	nor not).
	(tino_getopt_flag_val): added, as TINO_GETOPT_FLAG became
	complicated with TINO_GETOPT_PLUS support ;)

2007-09-14    <tino@firebird.03.softkill.net>

	* data.h (tino_data_file_readI, tino_data_file_writeI): bug fixed

	* file.h (tino_file_read): alarm processing added
	(tino_file_read_allE): bug fixed

	* buf.h (tino_buf_write_away_all): TINO_ALARM_RUN added

	* sockbuf.h: poll_hook added

2007-08-26    <tino@firebird.03.softkill.net>

	* alarm.h (tino_alarm): added, wrapper to alarm()

2007-08-25    <tino@firebird.03.softkill.net>

	* sock.h (tino_sock_select_timeoutEn): routine prototype changed
	(alarm_fn now implicite and changed to a timeout_fn with a user
	pointer).  Routine now returns 0 only if there was a timeout (and
	no timeout_fn set) or there is no work to do (no timeout and no
	socket to select).  The changed timeout_fn is called with first
	parameter non-NULL to alter the timeout structure (which is a
	pointer there) and NULL if there was a timeout (the timeout
	structure value is undefined according to POSIX, so to pass it
	makes no sense anyway).
	(tino_sock_select_loop1A, tino_sock_select_loop2A) 
	(tino_sock_select_loop3A): added for convenience
	(tino_sock_select_loopA): prototype changed for convenience

2007-08-24    <tino@firebird.03.softkill.net>

	* sock.h (tino_sock_select_loop): comment improved

2007-08-19    <tino@firebird.03.softkill.net>

	* buf.h (tino_buf_reset_off): added

	* sockbuf.h (tino_sockbuf_process): ACCEPT works now

	* buf.h (tino_buf_write_away): bug removed, routine works now

2007-08-17    <tino@firebird.03.softkill.net>

	* sock.h (tino_sock_udp): better error handling

	* sockbuf.h (tino_sockbuf_process): accept function now gives the
	accepted socket (fileno) as second parameter.

	* sock_tool.h (tino_gethostname): added

	* str.h (tino_str_ltrim_const, tino_str_ltrim, tino_str_rtrim):
	added
	(tino_str_trim): renamed from tino_trim
	(tino_str_slice): added
	(tino_str_issep_const, tino_str_issep): added

2007-08-15    <tino@firebird.03.softkill.net>

	* file.h (tino_file_lstat_diff): 000 replaced by TINO_XXX

	* filetool.h (tino_file_gets): added

	* file.h (tino_file_fread, tino_file_fwrite, tino_file_fread)
	(tino_file_fgets, tino_file_ferror, tino_file_feof): added

	* md5.h (tino_md5_hex): reversed args
	(tino_md5_ctx, ...) made all lowercase.  Define
	TINO_NEED_MD5_COMPAT to create old (compat) defines.
	(tino_md5_byterev): renamed from tino_byteReverse
	(main): now uses tino_md5_hex
	(tino_md5_bin, tino_md5_buf, tino_md5_str): moved out-argument
	from first to last argument.  More compliant to my "standard".

2007-08-08    <tino@firebird.03.softkill.net>

	* xd.h (tino_xd): speedup

	* file.h (tino_file_lseek): added

	* data.h (tino_data_stream): FILE * version added (now memory
	buffers, int-file and FILE * can be handled equally)
	(tino_data_puts): added

	* xd.h (tino_xd): modified to use data.h

2007-08-07    <tino@firebird.03.softkill.net>

	* arg.h: Argument string added to tino_varg object (convenience)

2007-08-06    <tino@firebird.03.softkill.net>

	* alloc.h (tino_free_nullUb): changed prototype

2007-06-23    <tino@firebird.03.softkill.net>

	* auxbuf.h (tino_auxbuf_get_nrOn, tino_auxbuf_get_nr_filledOn) 
	(tino_auxbuf_freeOn): added

2007-08-06    <tino@firebird.03.softkill.net>

	* getopt.h (tino_getopt_var_set_arg_imp): Now flag actions (like
	set etc.) are printed on debug again.
	(tino_getopt_print_option_name): added
	(tino_getopt_usage): tino_getopt_print_option_name now used
	(tino_getopt_init): DEFAULT_ENV implemented
	(tino_getopt_usage): help corrected

2007-05-12    <tino@firebird.03.softkill.net>

	* sock.h (tino_sock_freeOn): now uses tino_file_close

2007-06-13    <tino@firebird.03.softkill.net>

	* alloc.h (TINO_REALLOC0, TINO_REALLOC0_INC): added

2007-05-31    <tino@firebird.03.softkill.net>

	* getopt.h (TINO_GETOPT_MAXOPTS): TINO_MAXOPTS renamed
	(TINO_GETOPT_STRINGFLAG): added
	(tino_getopt_init): BUGFIX: If TINO_GETOPT_DEFAULT and
	TINO_GETOPT_NODEFAULT present, skip the default value and issue a
	warning.

2007-05-20    <tino@firebird.03.softkill.net>

	* alarm.h (tino_alarm_set_watchdog): watchdog now waits the given
	time before looping each seconds, this doubles the watchdog time.
	Now you can use the watchdog even for long running things (like
	connect).
	(tino_alarm_run, tino_alarm_handler): tino_alarm_running to skip
	some kernel calls.

2007-05-08    <tino@firebird.03.softkill.net>

	* auxbuf.h: added

2007-04-25    <tino@firebird.03.softkill.net>

	* file.h (tino_file_close_ign): added

2007-04-20    <tino@firebird.03.softkill.net>

	* err.h (tino_verr): corrected and comment optimized

2007-04-18    <tino@firebird.03.softkill.net>

	* signals.h (tino_sighandler_dummy, tino_sigdummy): added

2007-04-16    <tino@firebird.03.softkill.net>

	* signals.h (tino_sigsuspend): added

2007-04-15    <tino@firebird.03.softkill.net>

	* alloc.h (tino_free_null): added

	* sock.h (tino_sock_error): now this routine is allowed to return
	(as I needed this feature.  Not returning was a miscalculation).
	Also several routines now permit tino_sock_error to return.  (The
	default behavior was not to return, so there shall be no problem
	with old tools of me even if this error function was hooked).
	Note that there is no such thing as a global indicator (like
	errno).  I consider such a thing to be bad (non-threadsafe), and
	therefor you can implement it yourself (by hooking).  Also note
	that tino_sock_error will vanish soon when err.h starts to work.
	
2007-04-14    <tino@firebird.03.softkill.net>

	* arg.h (tino_va_init): added

2007-04-11    <tino@firebird.03.softkill.net>

	* Makefile-test.sh (bugs): added "make bugs" to UNIT_TEST/Makefile
	which is created by "make test".  Also minor output improvements.

	* strprintf.h (tino_str_vprintf_null): now uses functions from
	alloc.h

	* alloc.h (tino_realloc_null, tino_realloc_downsize_null): added
	as there are too many broken things out there: realloc might alter
	pointers even if downsizing.  And be sure that if it fails on
	downsizing the old unharmed buffer is returned.  (Yes, I'm
	paraniod.)
	(tino_malloc): added for hooks

	* sock.h (tino_sock_accept_addr_intr, tino_sock_accept_intr):
	added

	* alarm.h (tino_alarm_is_pending): added as clean interface to
	tino_alarm_pending

2007-04-10    <tino@firebird.03.softkill.net>

	* hup.h: Now uses signals.h, too (and better commented)
	(tino_hup_check, tino_hup_check_if): added
	(tino_hup_handler): prototype changed such that lazy people like
	me cannot forget to enable HUP processing.  Also improved
	usability: The handler now can ignore the default action.  Changes
	to existing programs are small: tino_hup_handler(fn) now becomes
	tino_hup_handler(-1, fn, NULL), ignore the additional parameter on
	the handler function and let it return 1.

	* alarm.h: now uses new signal.h, as it's much too complicated to
	use signals directly

	* signals.h: added for signal handling.  For some reason I found
	an old Linux distro where alarm.h was failing as signals were
	blocked there.  As this must be explicitely fixed, there is now
	is this new include.

2007-04-07    <tino@firebird.03.softkill.net>

	* str.h (tino_str_unescape_single, tino_str_unescape): added

	* data.h (tino_data_write_escape, tino_data_printf): added

	* buf_line.h (tino_buf_line_scan): comments improved

	* getopt.h (tino_getopt_hook): too many args added

2007-04-04    <tino@firebird.03.softkill.net>

	* getopt.h (tino_getopt_var_set_arg_imp): time calculation
	corrected

	* alarm.h (tino_alarm_run): funny bug: now delta is calculated
	correctly.

2007-04-03    <tino@firebird.03.softkill.net>

	* sleep.h (tino_nanosleep, tino_sleep, tino_msleep, tino_usleep) 
	(tino_yield, tino_halt, tino_relax): added

2007-04-02    <tino@firebird.03.softkill.net>

	* getopt.h (TINO_GETOPT_SUFFIX, TINO_GETOPT_IGNERR)
	(TINO_GETOPT_TIMESPEC): added
	(tino_getopt_var_set_arg_imp): added suffix, timespec and ignore
	numeric error

	* alarm.h (tino_alarm_handler): buglet: Always re-issue alarms
	after one second again.  This is because alarms can go off before
	syscalls, in which case no EINTR is issued, such that the syscall
	would not be interrupted by SIGALRM.
	(tino_alarm_set): Special case: If callback is NULL, the
	user-pointer is defining if the alarm is a one shot (not NULL) or
	continously running (user=NULL).  This can be used to generate
	regular EINTR events.  (Actually implemented in tino_alarm_run())
	(tino_alarm_sort): improved sorting
	(tino_alarm_run): improvment when time warps backward
	(tino_alarm_stop_all): added
	(tino_alarm_stop, tino_alarm_set): changed to better suit needs

2007-03-26    <tino@firebird.03.softkill.net>

	* log.h (tino_log_file): corrected to use tino_file_realpath()

	* filetool.h (tino_file_dirfileoffset): descriptive comment added
	(tino_file_is_rooted): added
	(tino_file_getcwd_buf, tino_file_getcwd): added.  This is in
	filetool.h as it need tino_alloc().  Peraps it will be moved into
	file.h later (which is compatible to old includes, as filetool.h
	includes file.h).
	(tino_file_realpath_buf): formerly known as tino_file_realpath
	(tino_file_realpath): added
	(tino_file_realpath_cwd): my own realpath() evaluation added.

2007-03-03    <tino@firebird.03.softkill.net>

	* getopt.h (tino_getopt_var_set_arg_imp): MIN and MAX handling for
	TINO_GETOPT_FLAG added
	(tino_getopt_parse): structural changes (direct return instead
	setting pos=-1), now returns below -1, too.
	(tino_getopt_var_print): removed as it already was commented out
	and of no use
	(tino_getopt_usage): min-max printing added, usage only printed if
	HELP option present
	(tino_getopt_parse): bugfix: First option was never tested since
	the bigger rewrite.  As I always have HELP as the first option,
	this was not noticed by me.

2007-01-28    <tino@firebird.03.softkill.net>

	* Makefile.proto (static): diet fixes (still not complete)

	* syscap.h: added for conditional compiles

	* sock.h: sysfix.h added and TINO_F_ protoypes

	* sock_tool.h (tino_sock_wrap): moved from sock.h as it needs
	file.h

	* file.h (tino_file_stat, tino_file_lstat, tino_file_stat_fd):
	System Fixes for CYGWIN: uses new TINO_F_ and TINO_T_ defines

	* sysfix.h: sysfix_cygwin.h now included

	* sysfix_cygwin.h: added

2007-01-25    <tino@firebird.03.softkill.net>

	* alarm.h: added time_t to callback to reduce syscalls

	* sock.h (tino_sock_select_timeout): alarm_fn added
	(tino_sock_udp, tino_sock_new_pair, tino_sock_wrap): added

	* alarm.h (tino_alarm_run_pending): added

	* file.h (tino_file_dup2, tino_file_null): added

	* Makefile-test.sh: UNIT_TEST now works for C++, too (somehow)

2007-01-24    <tino@firebird.03.softkill.net>

	* getopt.h (tino_getopt_var_set_varg): made more generic (min, max)

	* main_file.h (tino_main_file): errflag added and moved into
	separate include

	* main.h (tino_main_set_error, tino_main_get_error): added

2007-01-23    <tino@firebird.03.softkill.net>

	* setuptino.sh:"cvs add" wasn't called on the "tino" directory

2007-01-22    <tino@firebird.03.softkill.net>

	* main_getini.h (tino_main_if): added

	* getini.h (tino_getini_varg): added

	* getopt.h (tino_getopt_hook): user parameter to hook added

	* .cvsignore.dist: added *.cvsigore* as I need this nearly quite
	too often =8-/

2007-01-18    <tino@firebird.03.softkill.net>

	* sock.h: include sys/select.h, sys/time.h and sys/types.h

2006-12-16    <tino@firebird.03.softkill.net>

	* debug.h (TINO_DP_array): added

	* array.h, array_slist.h: added

	* slist.h (tino_glist_first): typo corrected

2006-12-12    <tino@firebird.03.softkill.net>

	* main_getopt.h: added

	* proc.h (tino_wait_child_exact): now uses
	tino_wait_child_status_string

2006-11-15    <tino@firebird.03.softkill.net>

	* slist.h (tino_glist_destroy, tino_slist_free)
	(tino_slist_iterate, tino_slist_iterate_0, tino_glist_count)
	(tino_glist_first, tino_glist_first, tino_glist_free): NULL
	pointers to lists or entries do no more SEGV
	(tino_glist_add, tino_glist_fetchfree, tino_glist_next) 
	(tino_glist_data): FATALs added in case of NULL pointer

2006-11-13    <tino@firebird.03.softkill.net>

	* filetool.h (TINO_DRIVE_SEP_CHAR, TINO_PATH_SEP_CHAR): prefixed
	with TINO_

2006-11-10    <tino@firebird.03.softkill.net>

	* Makefile.proto (Makefile): added to replace - in filenames by _

	* strprintf.h (tino_str_vprintf_null): bug fixed due to new
	TINO_VA_LIST

	* arg.h: need stdio to compile for some reason

2006-10-28    <tino@geht.net>

	* md5.h (tino_md5_bin): added

	* data.h: pos, size, seek and intr added
	(tino_data_read_all): added

2006-10-15    <tino@firebird.03.softkill.net>

	* md5.h (tino_md5_hex, tino_md5_buf, tino_md5_string): added

	* file.h (tino_file_chdir): added

	* buf_printf.h (tino_buf_add_vsprintf): now uses tino_vsnprintf

	* strprintf.h (tino_str_vprintf_null): now uses tino_vsnprintf

	* ex.h (tino_verror_std): now uses tino_vprintf

	* arg.h (tino_vfprintf, tino_vsnprintf): added

2006-10-14    <tino@firebird.03.softkill.net>

	* filetool.h (tino_file_gluebuffer): max now can be NULL
	(tino_file_realpath): added

2006-10-04    <tino@firebird.03.softkill.net>

	* main.h, hup.h, sock.h: tino_va_* routines instead of va_*

	* fatal.h, ex.h: changed to tino_va_* routines instead of va_*
	routines

	* Makefile (distclean), Makefile.proto (distclean): cleaning of
	old versioned files (.#*), too

	* arg.h: replacement for stdarg.h, as this is not compatible
	between some different implementations

	* sysfix.h: now in arg.h

2006-10-03    <tino@firebird.03.softkill.net>

	* md5.h (tino_MD5Update): function prototype make more compatible

	* getopt.h (tino_getopt_var_set_arg_imp): warning about possibly
	uninitialized variable removed.
	(tino_getopt_arg): cast of ptrdiff_t to int needed
	
	* codec.h (tino_dec_hex): GCC in Ubuntu is a little bit picky
	about casts in lvalues.

	* setuptino.sh, Makefile.proto, Makefile-tino.sh, Makefile (GAWK):
	gawk replaced by gawk, as Ubuntu has no gawk under awk

2006-09-27    <tino@firebird.03.softkill.net>

	* main.h (tino_main_file): added

	* filetool.h (tino_file_mkdirs_forfile): first argument may be
	NULL, and return values optimized, and bugfix (the routine did not
	work previously, unsigned never is <0, compiler did not issue a
	warning).

2006-09-09  U-KOSH\Administrator  <Administrator@KOSH>

	* proc.h (tino_wait_child_status_string): added from
	tino_wait_child_exact

2006-09-08  U-KOSH\Administrator  <Administrator@KOSH>

	* proc.h (tino_fork_exec): named stdin into std_in, as the fist
	one is #defined under CygWin.

2006-08-25    <tino@firebird.03.softkill.net>

	* getopt.h (tino_getopt_var_set_arg_imp): splitted in two
	(tino_getopt_var_set_arg): TINO_GETOPT_FN implemented

2006-08-24    <tino@firebird.03.softkill.net>

	* getopt.h: min/max commented away for now
	(tino_getopt_arg): FN and VALID_STR commented away

	* data.h (tino_data_handler): create TINO_DATA * if NULL is given
	(tino_data_write): changed such that generic routines are more
	easy (can leave out the error processing).
	(tino_data_buf2, tino_data_buf): added

	* getopt.h: reduced a lot of internal variables, also started to
	cut the oversized and far too big routine tino_getopt_hook
	(previously tino_getopt) into smaller pieces.

2006-08-23    <tino@firebird.03.softkill.net>

	* strwild.h: Unit-Tests and test-main added

	* Makefile-test.sh (unit): bugfix, stderr was not captured

2006-08-16    <tino@firebird.03.softkill.net>

	* proc.h (tino_wait_child_exact): little bugfix

2006-08-15    <tino@firebird.03.softkill.net>

	* getopt.h (tino_getopt_var_set_arg): changed if sequence to
	support arg==0
	(tino_getopt_hook): hook added
	(tino_getopt): created to call tino_getopt_hook

2006-08-14    <tino@firebird.03.softkill.net>

	* ex.h (tino_vpexit): added

	* curl.h: added

	* data.h: added

	* buf.h (tino_buf_fetch): added

	* debug.h: TINO_DP_data and TINO_DP_curl added

2006-08-12    <tino@firebird.03.softkill.net>

	* filetool.h (tino_file_filenameptr) renamed to tino_file_filenameptr_const
	(tino_file_filenameptr): added as nonconst version

2006-08-11    <tino@firebird.03.softkill.net>

	* proc.h (tino_wait_child_exact): added

2006-08-07    <tino@firebird.03.softkill.net>

	* term.h: added

2006-08-06    <tino@firebird.03.softkill.net>

	* slist.h (tino_glist_first, tino_glist_next, tino_slist_data)
	(tino_glist_step, tino_glist_add_data): added

	* sock.h (tino_sock_select): timeout_ms added
	(tino_sock_select_timeout): is now the routine with timeout

2006-08-01    <tino@firebird.03.softkill.net>

	* Makefile-tar.sh (tagcvs): Bug in checking of "make dist" fixed

	* md5.h (main): corrected, printed 1 byte to few digest!

	* longmath.h: added

	* xml.h: added

2006-07-30    <tino@firebird.03.softkill.net>

	* dir.h (tino_dir_read_err, tino_dir_read_imp): added

	* buf.h (tino_buf_add_buf): added

	* Makefile.tino.dist: VERSIONFILE and VERSIONNAME added

	* Makefile.proto (VERSIONFILE, VERSIONNAME): Rule for versioning
	changed, such that I can create names not based on $(PROG1)

2006-07-26    <tino@firebird.03.softkill.net>

	* file.h (tino_file_notsocket, tino_file_notfile): added

2006-07-25    <tino@firebird.03.softkill.net>

	* buf_line.h (tino_buf_line_read): fixed
	(tino_buf_line_scan): comment corrected

	* getopt.h (tino_getopt_var_set_arg): added extended character
	support in getopt.  If a 'character' is longer than 0 character
	such like \n or a number (>=10, 0oct, 0xHEX) it is calculated from
	this sequence.

2006-07-23    <tino@firebird.03.softkill.net>

	* filetool.h (tino_file_pathchar): added
	(tino_file_backupname): As I found some DoS possibility added a
	desparate mode.

2006-07-22    <tino@firebird.03.softkill.net>

	* filetool.h (tino_file_skip_root, tino_file_skip_root_const):
	added

	* file.h (tino_file_mkdir): added

	* ex.h (tino_verr): added
	(tino_err): changed to tino_verr
	(tino_verror): flushing added, such that errors are in sequence.
	(tino_verror_std): added
	(tino_verror): now uses tino_verror_std

	* getopt.h (tino_getopt_tab): '\n' as second natural delimiter
	(tino_getopt): Multiline usage will be printer between Version and
	Options.

	* filetool.h (tino_file_gluebuffer): added
	(tino_file_glue_path, tino_file_dirname, tino_file_filename): now
	uses tino_file_gluebuffer
	(tino_file_dirname, tino_file_filename): bugs removed by
	tino_file_gluebuffer
	(tino_file_backupname): added

	* sockbuf.h (tino_sockbuf_get, tino_sockbuf_fd): added

	* file.h (tino_file_blocking, tino_file_nonblock) 
	(tino_file_block): added

2006-07-21    <tino@firebird.03.softkill.net>

	* setuptino.sh: Thou shalt test thee! sigh .. the checkout process
	now works as expected.

2006-07-19    <tino@firebird.03.softkill.net>

	* buf.h (tino_buf_get_s_nonconst, tino_buf_get_nonconst): added

2006-07-17    <tino@firebird.03.softkill.net>

	* setuptino.sh: add tino/ directory to CVS

	* getopt.h (tino_getopt_var_to_str): added ' to character output

	* setuptino.sh: Checkout instead of copy, it gets tedious to
	cleanup after the copy always .. ;)

2006-06-17    <tino@firebird.03.softkill.net>

	* sock.h (tino_sock_get_adrname): IPv6 IPs are written in brackets
	like [aaaa:bbb::cc:d]:PORT for better compatibility

	* proc.h (tino_wait_child): Only use alarm(0) if timeout is set

	* sock.h (tino_sock_get_adrname, tino_sock_get_sockname): added

	* Makefile.proto (static): "make static" failed switching into
	static mode the first time

2006-06-16    <tino@firebird.03.softkill.net>

	* Makefile.proto (install): typo corrected

2006-06-11    <tino@firebird.03.softkill.net>

	* Makefile.awk (#S): Added variable prefix

	* Makefile.proto (install): Rule added to process additional
	INSTALL* targets, also preset the PATHs

	* Makefile.tino.dist (INSTALL*): added

	* Makefile-diff.awk (END): 3 more cvs tag lines (doubled)

	* Makefile-tar.sh (exists): As preparation to public CVS access
	added general "dist-TOOL" tag.

2006-06-10    <tino@firebird.03.softkill.net>

	* getopt.h (tino_getopt_var_to_str): Buglet: If flag was inited to
	negative value its exceptional value was not explicitely printed.

2006-04-11    <tino@firebird.03.softkill.net>

	* buf.h (tino_buf_write_out): added

	* proc.h (tino_fd_keep): added
	(tino_fd_move): flipped args, be sure to look at the warnings!
	(tino_fork_exec): tino_fd_keep used now instead implicite loop.

2006-03-18    <tino@firebird.03.softkill.net>

	* str.h (tino_strnprefixcmp2_const, tino_strnprefixcmp2): added

2006-03-17    <tino@firebird.03.softkill.net>

	* md5.h (main): implemented

	* Makefile-test.sh, Makefile (test, $(UNITTEST)/Makefile): New
	method for "make test".  Do a "make clean test" to recreate it in
	case something bigger has changed.

2006-02-12    <tino@firebird.03.softkill.net>

	* html_entities.h: added
	(tino_html_entities): sigh .. never CI before the first compile

2006-02-11    <tino@firebird.03.softkill.net>

	* debug.h, dirty.h, getopt.h, sock.h: "TINO_XXX;" instead of
	"000;" to suppress annoying warnings about missing code.  However
	I can reactivate them by #define TINO_XXX 000 -> make missing?

2006-02-09    <tino@firebird.03.softkill.net>

	* proc.h (tino_fork_exec): added closing of other file descriptors

2006-01-30    <tino@firebird.03.softkill.net>

	* getopt.h (tino_getopt_arg): oops, long time no see: forgot
	DEFAULT/NODEFAULT options (I forgot to set the flags, that's all)
	(main): examples for DEFAULT/NODEFAULT added
	(tino_getopt_var_set_arg): signed types now do strtol instead of
	strtoul
	(tino_getopt_var_set_arg): reset DEFAULT so it does not show up in
	HELP if arg already processed.
	(tino_getopt_var_to_str): added

2006-01-29    <tino@firebird.03.softkill.net>

	* sock.h (tino_sock_keepalive_err): added

2006-01-28    <tino@firebird.03.softkill.net>

	* Makefile.proto: cleaned up revision log
	(distclean): Makefile.md5 no more distcleaned,
	keep it, it does not hurt, but it helps in case you alter
	something.

	* misc_selectcopyloop.h (selectcopyloop): sotsockopt removed.
	This is from an old version (ghost of cut&paste), and mainly
	contra productive.

2006-01-24    <tino@firebird.03.softkill.net>

	* sock.h (tino_sock_linger_err, tino_sock_linger)
	(tino_sock_reuse_err, tino_sock_reuse, tino_sock_rcvbuf_err)
	(tino_sock_rcvbuf, tino_sock_sndbuf_err, tino_sock_sndbuf): added

	* hup.h: added simple HUP handler

	* fatal.h (tino_vfatal): moved TINO_ABORT to the right position

	* misc_selectcopyloop.h (selectcopyloop): total number of bytes
	read (bi-directional) added as output parameter.

2006-01-21    <tino@firebird.03.softkill.net>

	* misc_selectcopyloop.h: added into CVS

2005-12-19    <tino@firebird.03.softkill.net>

	* getopt.h (IFxxx macros): unified, to allow compile under old
	(broken) GCCs (like in SuSE 7.2).

2005-12-08    <tino@firebird.03.softkill.net>

	* sock.h (tino_sock_error), ex.h: TINO_VEXIT changed

	* exception.h (tino_throw_vstr): added to satisfy 'make test'

	* sock.h: sockaddr_gen renamed to tino_sockaddr
	(tino_sock_recv): added

2005-12-07    <tino@firebird.03.softkill.net>

	* sockbuf.h (tino_sockbuf_process): uses tino_buf_write_away

	* buf.h (tino_buf_write_away): now returns more natural result:
	the write return value.  If buffer is empty EAGAIN is set.

2005-12-05    <tino@firebird.03.softkill.net>

	* helpers.h (tino_readcmp): renamed from readcmp

	* *: started to add COPYLEFT to files

	* sockbuf.h (tino_sockbuf_name, tino_sockbuf_process,
	tino_sockbuf_new): name added

2005-12-04    <tino@firebird.03.softkill.net>

	* str.h (tino_strprefixicmp): added

2005-12-03    <tino@firebird.03.softkill.net>

	* sockbuf.h: now became useable

2005-12-02    <tino@firebird.03.softkill.net>

	* str.h (tino_strprefixcmp2_const): renamed as there now is a
	non-const-version

2005-12-01    <tino@firebird.03.softkill.net>

	* buf.h (tino_buf_write_all_1): fixed (and name), as on EOF a
	return 0 is a wrong answer. name change _1 to reflect the new
	behavior.

2005-11-30    <tino@firebird.03.softkill.net>

	* sock.h (tino_sock_new_connect, tino_sock_new_accept,
	tino_sock_select_loop): added
	(tino_sock_select): updated for new forcepoll directive

2005-10-30    <tino@firebird.03.softkill.net>

	* sock.h (tino_sock_get_peername): added (names peer by IP)

	* proc.h: global debugging added

	* debug.h: started with individual debug option for modules

	* str.h (tino_str_printf): added

2005-10-16    <tino@firebird.03.softkill.net>

	* getopt.h (tino_getopt_arg): missing options DEFAULT and
	NODEFAULT added

	* Makefile.proto (Makefile.md5): Now depends on VERSIONFILE, such
	that endless make loops hopefully are no more seen.

2005-10-09    <tino@firebird.03.softkill.net>

	* proc.h (tino_fork_exec): environment option added

2005-09-26    <tino@firebird.03.softkill.net>

	* setuptino.sh: autoguessing project name implemented

2005-09-07    <tino@firebird.03.softkill.net>

	* setuptino.sh: extended to create directory or softlink,
	commandline args are optional (needed if you create files).

2005-09-05    <tino@firebird.03.softkill.net>

	* file.h (tino_file_read_line_x): added

2005-08-22    <tino@firebird.03.softkill.net>

	* Makefile.proto (install): made rule more generic (more easy to
	edit)

2005-08-19    <tino@firebird.03.softkill.net>

	* proc.h: tino_wait_child corrected for socklinger release

2005-08-14    <tino@firebird.03.softkill.net>

	* setuptino.sh (DIET): diet option added, just create directory
	diet

2005-08-08    <tino@firebird.03.softkill.net>

	* crypthash.hh: generic structures and templates: md5 and sha

2005-08-02    <tino@firebird.03.softkill.net>

	* file.h, filetool.h, getopt.h, str.h: now compiles under C++

	* Makefile.awk: added _ and + to the allowed characters, such that
	-lstdc++ can be recognized in STD_LDLIBS

	* Makefile.tino.dist: comment "CXX=diet/tinodiet.sh ++" added

2005-08-01    <tino@firebird.03.softkill.net>

	* Makefile.proto, Makefile.d.proto, Makefile-tino.sh: started to
	support .cc/.hh files.

	* filetool.h (tino_file_filenameptr): added

2005-07-31    <tino@firebird.03.softkill.net>

	* setuptino.sh (TARG): added directory copy capability

2005-07-30    <tino@firebird.03.softkill.net>

	* Makefile-tar.sh (VERS): Added test if file created by
	setuptino.sh are still unchanged on 'make dist' or 'make tar'

	* setuptino.sh, COPYING.dist, VERSION.dist, DESCRIPTION.dist,
	ANNOUNCE.dist: added

2005-06-28    <tino@firebird.03.softkill.net>

	* iow.h, iow_socket.h: added

	* threads.h: started minimal thread support

	* sock.h (tino_sock_getaddr): IPv6 now supported (hopefully) and
	shall be thread safe (see threads.h)
	(tino_sock_error, tino_sock_error_unlock, tino_sock_error_lock):
	added error workaround

	* file.h (tino_file_close): added (ignores EINTR on close)

2005-06-22    <tino@firebird.03.softkill.net>

	* proc.h (tino_wait_child): fixed delta calculation.

2005-06-04    <tino@firebird.03.softkill.net>

	* Makefile.proto (diet): added

	* filetool.h (tino_file_dirname): bug fixed
	(tino_file_dirfileoffset): FATAL added if buf==NULL

	* Makefile-test.sh (testcc): Debugging options added.  -lrt added,
	too, to support -O0 for better debugging with gdb.

	* idea-vdl.h, io.h, ob.h, Makefile-test.sh (LDLIBS): UNIT TEST
	FAILS added to notify that this parts cannot pass the unit tests
	yet.

	* hasher.h (hasher): parantheses added for more clarity, include
	reference fixed.

	* proc.h (tino_wait_child): stupid typo corrected: alarm

2005-04-26    <tino@firebird.03.softkill.net>

	* filetool.h (tino_file_dirname, tino_file_filename): added

	* file.h (tino_file_notexists): added

2005-04-24    <tino@firebird.03.softkill.net>

	* file.h: tino_file_notdir added

	* Makefile-test.sh (genit, runit): New TEST case: TESTCMP for filetool.h

	* filetool.h: added

2005-04-16    <tino@firebird.03.softkill.net>

	* Makefile.proto (all): No more dependency of Makefile: all

2005-04-15    <tino@firebird.03.softkill.net>

	* Makefile-tar.sh, Makefile (GAT): startet to add gat support

	* Makefile.proto (tino/lib.h): removed
	(install): now, strip is only called if cp is successful

	* Makefile (lib.h): lib.h now is a pure dummy

2005-04-10    <tino@firebird.03.softkill.net>

	* fatal.h (TINO_FATAL_IF): added

2005-03-15    <tino@firebird.03.softkill.net>

	* xd.h: include fixes, does not need fatal.h

2005-03-04    <tino@firebird.03.softkill.net>

	* hasher.h (hasher): The old hash band functions were poor, so
	reverted back to slower but mathematically correct solution using
	a polynomial: hash[n]=f[x[i]](n)=sum[i=0..len](x[i]*n^i) where
	x[i] is the data (actually, it's calculated backwards).  Hopefully
	modern processors will sometimes become able to calculate the
	mul+add in one cpu cycle.

	* file.h (tino_file_mmap_anon): added

	* ex.h (tino_verror): support of tino_verror_fn added

	* dir.h (tino_dir_read): created

	* slist.h (tino_slist_destroy, tino_glist_destroy): added

2005-02-06    <tino@firebird.03.softkill.net>

	* Makefile-tar.sh (ANNOUNCE DESCRIPTION COOPYING): make dist did
	not work any more, oops ;)

	* getopt.h (tino_getopt): -- is made ARG in certain situations

2005-01-27    <tino@firebird.03.softkill.net>

	* getopt.h (tino_getopt): DD otion added
	(main): integer now active in unit_test

2005-01-26    <tino@firebird.03.softkill.net>

	* xd.h (main, xd): added
	(tino_xd): improved for better formatting

	* sock.h (tino_sock_getaddr, tino_sock_tcp_listen): added from
	accept.c/socklinger.c

	* setproctitle.h (tino_setproctitle): superfluous variable removed.

	* str.h (tino_str_vprintf): better FATAL text

	* getopt.h (main): debug output corrected

	* Makefile.tino.dist (ADD_CFLAGS): warning added.

	* Makefile-test.sh (CFLAGS): -I- added, as this is needed for unit
	tests.  Note that you *must* include tino/NAME.h and *must*not*
	use -Itino, as this interferes with includes of the standard
	system headers (some names are redefined, -Itino then grabs the
	wrong include for <...> includes).  Also please be very carful in
	case you have -I., as this may break similar ways.  So if you use
	-I, be sure to use -I- appropriately.
	
2005-01-25    <tino@firebird.03.softkill.net>

	* Makefile-test.sh (genit): TINO_FILE_EXCEPTION added to allow
	"make test" to work again.

	* exception.h (tino_throw_str): corrected, and other changes to
	make this file include.  IT IS STILL NOT USABLE!
	
	* file.h: minor clarifications

	* ex.h (TINO_EXIT): added for exception overwrite
	
	* fatal.h (TINO_FATAL): added for exception overwrite

	* str.h (tino_str_vprintf_null, tino_str_vprintf): added

2005-01-04    <tino@firebird.03.softkill.net>

	* exception.h, io.h: continued to write, still not ready

	* memwild.h: Unit test added

	* setproctitle.h (main): improved for make test

	* dev.h: include fix for make test

	* Makefile-test.sh: added for unit tests

	* Makefile: make test

2004-12-07    <tino@firebird.03.softkill.net>

	* setproctitle.h: added

2004-11-03    <tino@firebird.03.softkill.net>

	* slist.h (tino_slist_add): allocated buffer returned to be able
	to change the contents a little bit afterwards.
	(tino_slist_iterate_0): iteration with abort option added.  Well,
	not needed with exceptions in future, but I do not have this yet.

2004-10-22    <tino@firebird.03.softkill.net>

	* getopt.h: added for ptybuffer.  Strings and flags work, rest
	untested.

2004-10-16    <tino@firebird.03.softkill.net>

	* dev.h: enabled

	* str.h (tino_trim), dirty.h: added

2004-10-10    <tino@firebird.03.softkill.net>

	* sock.h (tino_sock_free, tino_sock_new): usage count (number of
	open sockets) added

	* file.h, exception.h: interaction of these two defined, however
	this is ugly.  exception.h not yet usable, too.

2004-10-04    <tino@firebird.03.softkill.net>

	* Makefile.tino.dist, Makefile.awk: changed "stop" rule from error
	prone "##END##" to more easy portable "Makefile::".

2004-10-02    <tino@firebird.03.softkill.net>

	* file.h (tino_file_read_intr, tino_file_read, tino_file_read_all,
	tino_file_write_intr, tino_file_write, tino_file_write_all,
	tino_file_flush, tino_file_flush_fd): added
	(tino_file_open): flags corrected - they shall be dummies, anyway.
	(tino_file_create, tino_file_open_create, tino_file_open_read):
	added
	(tino_file_stat_fd, tino_file_open_fd, tino_file_truncate_fd):
	renamed the functions which operate on a file descriptor to
	FUNC_fd instead of fFUNC.  There are convenience defines (which I
	perhaps might drop in future).

	* slist.h (tino_glist_count): added

2004-09-30    <tino@firebird.03.softkill.net>

	* Makefile.d.proto: ADD_CFLAGS added, such that Generation of .d
	files has a chance to find all includes.

	* Makefile.awk: Ignore the absolute filename paths, too, as those
	change if transported to another platform.

2004-09-29    <tino@firebird.03.softkill.net>

	* Makefile.proto (install), Makefile.tino.dist (INSTALLPATH):
	install now honors the INSTALLPATH variable, and if missing,
	everything is installed in $HOME (currently only $INSTALLPATH/bin/
	is supported).

	* Makefile (dist): Now 'make dist' makes sure no debugging defines
	are still present.

	* Makefile.proto (tar): added

2004-09-04    <tino@firebird.03.softkill.net>

	* Makefile.awk, Makefile.tino.dist, Makefile.proto: changes for
	better override support.

	* Makefile-tino.sh, Makefile.awk, Makefile.proto,
	Makefile.d.proto: automatic creation of dependencies added (new
	#include(...) method Makefile.d.proto).

2004-08-25    <tino@firebird.03.softkill.net>

	* Makefile.awk, Makefile-tino.sh: Lines which contain @MD5TINOIGN@
	will be escaped from MD5 sum safety check.  This is needed to be
	able to add date information in generated files (which always
	changes if re-generated).  Needs the new version of md5copy (which
	only compares by MD5 sum) in Makefile-tino.sh

	* Makefile.proto: Usage clarified, new distfiles noted.

	* Makefile.tino.dist, .cvsignore.dist: added

2004-08-22  U-KOSH\Administrator  <Administrator@KOSH>

	* Makefile, Makefile-tino.sh, Makefile.awk, Makefile.proto: New
	variable TINOCOPY (to copy files from elsewhere) and slight
	improvements of auto-dependencies.

2004-08-18  U-KOSH\Administrator  <Administrator@KOSH>

	* file.h: AIO routines moved in file_aio.h, this is not present in
	CygWin.

	* file_aio.h: added in favor of file.h

	* strwild.h (tino_strwild): BUGfix in case no allquantor was used.

2004-08-17  U-KOSH\Administrator  <Administrator@KOSH>

	* buf.h (tino_buf_get_c): added
	(TINO_BUF_ADD_C): oops, bug found.  Did I ever use this?
	(TINO_BUF_PREPEND_C, tino_buf_prepend, tino_buf_prepend_c,
	tino_buf_prepend_ptr, tino_buf_prepend_n, tino_buf_prepend_s):
	added

	* helpers.h (tino_read_step, tino_read, tino_write_step,
	tino_write): added

2004-08-16  U-KOSH\Administrator  <Administrator@KOSH>

	* buf.h (tino_buf_write): Old implementation of tino_buf_write was
	bullshit.
	(tino_buf_write_ok): added as replacement for tino_buf_write()
	(tino_buf_write_all): added
	(tino_buf_read_all): added, with optimizations

2004-08-15  U-KOSH\Administrator  <Administrator@KOSH>

	* Makefile.proto (install): Forgot to double $ in AWK script rule

	* Makefile.proto (clean): Cygwin uses .exe as filename extension.

	* Makefile (tino): Cygwin has some minor differences in how make
	propagates environment variables. Some of the GNU tools miss some
	options under Cygwin, too.

2004-07-25    <tino@firebird.03.softkill.net>

	* file.h: Added all the large file support things.
	(tino_file_lstat_diff): now uses tino_file_stat() instead of
	stat(), such that it works for large files, too.

2004-07-18    <tino@firebird.03.softkill.net>

	* buf.h (tino_buf_write_eof): usage of max corrected .. (never
	used this function yet)

	* sockbuf.h (tino_sockbuf_process): started to implement

	* sock.h (tino_sock_select): Exceptions added and processing
	optimized a little bit.

	* sock.h (tino_sock_udp): added (not ready yet)

2004-07-06    <tino@firebird.03.softkill.net>

	* sysfix.h: added TINO_VA_COPY for va_copy compatibility

2004-07-03    <tino@firebird.03.softkill.net>

	* Makefile-tar.sh: created for "make dist" and "make tar" purpose

	* Makefile (tar): added

2004-06-13    <tino@firebird.03.softkill.net>

	* sock.h (tino_sock_new): There is a major implementation bug in
	sock.h with tino_sock_imp.  When we realloc() the old pointers get
	possibly invalidated.  Thus this is not the correct way to do it.
	Rewrote the complete allocation stuff.  Perhaps move such
	allocations into it's own module in future, as this is generic.

2004-06-12    <tino@firebird.03.softkill.net>

	* file.h: created new file as I needed file_lstat_diff.

	* Makefile-diff.awk: added for "make diff"
	(state=3): now "No Tags Exist" will be recognized, too
	(END): used "sticky" instead of "stickycount", "untagged files"
	not printed if there are none
	(finish): list of files with warning added.  Sigh .. "Needs Patch"
	added, too, there are just too many different states to recognize.
	Therefor all those CI/CO runs here and now. List of sticky files
	added to count, too.

	* Makefile (diff): added, this function shows a comprehensive list
	of differences to the HEAD revision of CVS.  i.E. this is what you
	get when you do a close look at "cvs status -v"

	* buf.h (tino_buf_read, tino_buf_write): now return int as they
	should

2004-05-23    <tino@firebird.03.softkill.net>

	* sock.h (tino_sock_free): filedescriptor is always destroyed
	after process(.., TINO_SOCK_CLOSE), stupid to leave this to the
	routine sometimes.

2004-05-21    <tino@firebird.03.softkill.net>

	* sock.h (tino_sock_new): Well, one little star makes a big
	difference.  A serious memory corruption occured because there was
	too few memory allocated.  Thanks to -lefence
