2011-10-17 Valentin Hilbig * sysfix.h (_LARGEFILE64_SOURCE, _FILE_OFFSET_BITS): added to support larger files again (I am sure it worked previously) 2011-10-15 Valentin Hilbig * Makefile-tests.sh: cmp and CMP test targets added 2011-09-17 Valentin Hilbig * put.h (tino_put_ansi_start, tino_put_ansi_end): added 2011-07-29 Valentin Hilbig * ex.h (tino_vpexit): fixing a tail recoursion (endless loop) on certain errors. 2011-05-08 Valentin Hilbig * slist.h (tino_glist_clear, tino_slist_clear): added 2011-04-20 Valentin Hilbig * fatal.h (tino_pvfatal): if tino_exit_default_code is not set, then return -2 (as before), else tino_exit_default_code. * ex.h (TINO_EXIT_DEFAULT_CODE): added 2011-04-12 Valentin Hilbig * put.h (tino_put_ansi_c): added (from tino_put_ansi_buf) 2011-04-12 Valentin Hilbig * log.h (tino_log_debug_match): et al. added, this here is not yet ready to be used. * sock.h (tino_sock_corkE, tino_sock_corkA): added * put.h (tino_put_ansi_if): added 2011-03-06 Valentin Hilbig * scale.h (tino_scale_number_helper): renamed from tino_scale_number (tino_scale_number): added * log.h (tino_log_errO): added (tino_log_vprintfO): prefix support added * sock.h (tino_sock_nodelayE, tino_sock_nodelayA): added 2011-02-13 Valentin Hilbig * proc.h (tino_wait_child_status): added * file.h (tino_file_pipeE): added * sysfix.h (TINO_F_pipe): added * signals.h (tino_sigset): added * main_getopt.h (tino_main_g0): passing of arg0 added, so program can access it's name. 2011-02-11 Valentin Hilbig * data.h (struct tino_data, tino_data_newO, tino_data_freeA): fix GCC 4.4.5 spurious warning bug 2010-10-21 Valentin Hilbig * proc.h (tino_fork_execE): added to not cache error on the parent side. (tino_fork_execE): child now returns 127 (like bash) in case of fork fails. * ex.h (tino_exit_n, tino_vexit_n, tino_vpexit_n): added 2010-06-02 Valentin Hilbig * io.h (tino_io_flush_write): added 2010-01-25 Valentin Hilbig * str.h (tino_str_arg): bugfix: similar quotes like '' now work. * proc.h (tino_fd_move): debug now corrected * sock.h (tino_sock_get_adrnameN): this is better now, but still incorrect. How to get the sockname() of a socketpair() without rubbish? * debug.h (TINO_DP_str): added * strargs.h: added * procsock.h: added 2009-08-13 Valentin Hilbig * put.h (tino_put_ansi_buf): added * io.h (tino_io_verr): implemented * hash.h (tino_hash_imp_store_key): now NUL is added to key, just in case it should be used as a string. * alloc.h (tino_memdup_moreO, tino_memdup_more0O, tino_memdup0O): added * io.h (tino_io_std_read): implemented (tino_io_ctl, tino_io_vctl, tino_io_pctl): added 2009-08-12 Valentin Hilbig * filetool.h (tino_file_path_appendO): added * bob_jenkins.h: added * fileerr.h (tino_file_mmapA, tino_file_munmapA): added 2009-08-01 Valentin Hilbig * buf_line.h (tino_buf_line_read): errno=0 if OK. On error errno!=0. * main_file.h (tino_put_ansi): as the name now is in put.h, renamed to tino_main_put_ansi * put.h: added 2009-07-31 Valentin Hilbig * err.h (tino_verr_new): corrected * fileerr.h (tino_file_open_readA, tino_file_open_rwA): added (tino_file_closeA): added 2009-07-30 Valentin Hilbig * err.h (tino_verr_new): added last letter support ('C' to 'F') and ignore errno support (hopefully this does not break things which depend on the new error handler). 2009-07-28 Valentin Hilbig * file.h (tino_file_open_createI, tino_file_openI): added (tino_file_open_createE, tino_file_openE): corrected 2009-07-13 Valentin Hilbig * fileerr.h (tino_file_seek_startA, tino_file_open_readA) (tino_file_flush_fdA): added 2009-07-02 Valentin Hilbig * Makefile.awk: fixed to take correct count, as "for (k in a)" now iterates in an arbitrary sequence. * fileerr.h (tino_file_open_createA): and many others added 2009-06-24 Valentin Hilbig * main_file.h (tino_main_file): Prototype changed to support future flags and options. Also usage now is mostly implicite, making it even more easy to write wrappers quickly. (Note that SHIT support is planend, too, for the future.) 2009-05-27 Valentin Hilbig * num.h (tino_num_secondsA): added 2009-05-26 Valentin Hilbig * aux.h (tino_aux_timestampOn): added (and many other routines in this module) * arg.h (tino_snprintf_ret): added * dirty.h (tino_strxcpy): added * data_tool.h (tino_data_timestampO): added 2009-05-21 Valentin Hilbig * sysfix_cygwin.h: sighandler_t added for CygWin which does not define it. 2009-04-09 Valentin Hilbig * slist.h (tino_slist_add): now uses tino_glist_add_ptr() (tino_glist_add_ptr): added * alloc.h (TINO_FREE_NULL): now no more modifies errno 2009-03-31 Valentin Hilbig * strprintf.h (tino_str_printf_buf, tino_str_vprintf_buf): added 2009-03-24 Valentin Hilbig * scale.h (tino_scale_slew_avg): added (TINO_SCALE_SLEW_HISTORY): define this to the history length if needed * arg.h (tino_snprintf): now compiles again 2009-03-17 Valentin Hilbig * auxbuf.h (tino_auxbuf_clearOn): this now does work (tino_auxbufOn): added length support and AUXBUF nulling if first initialized * scale.h (tino_scale_number): no scaling if at 0, so 0 stays 0. Anything not zero (very small) becomes 0.0 2009-03-02 Valentin Hilbig * sockbuf.h (tino_sockbuf_processN): exceptions now are really handled if the exception function is set. (tino_sockbuf_processN, tino_sockbuf_new_userO): added allocated user buffer 2009-03-02 Valentin Hilbig * proc.h (tino_wait_child_p): spurious compile time warning removed 2009-02-12 Valentin Hilbig * arg.h (tino_fprintf, tino_snprintf): added 2009-02-12 Valentin Hilbig * data.h (tino_data_fileO): naming standard corrected (tino_data_file_closeA): now handles EINTR correctly. 2009-02-04 Valentin Hilbig * privilege.h (tino_privilege_end_elevationE): errors added and naming convention * hup.h: Naming convention * hup.h (struct tino_hup_global): global variables moved into hidden struct 2009-02-01 Valentin Hilbig * data.h (tino_data_write_xmlA): added (tino_data_write_c_escapeA): added 2009-01-31 Valentin Hilbig * data.h (tino_data_puts_escapeA): tino_data_write_escapeA renamed 2009-01-27 Valentin Hilbig * shit.h (shit_mode): Only one single argument for IO fd, usually keeps stdout/stderr free to use. 2009-01-12 Valentin Hilbig * buf.h (tino_buf_resetO): now returns pointer to buffer for easy chaining. 2009-01-10 Valentin Hilbig * type.h: changed to stdint (C99), as this shall be easily supported even on C89 compilers 2009-01-06 Valentin Hilbig * xd.h (tino_xd_init, tino_xd_flush, tino_xd_do, tino_xd_exit): added 2008-11-04 Valentin Hilbig * alloc.h (tino_alloc_align_size_n): added 2008-11-03 Valentin Hilbig * sock_tool.h (tino_sock_wrapO): Bugfix on dupping wrapped fd to /dev/null. 2008-11-02 Valentin Hilbig * scale.h (tino_scale_number): bugfix in number scaling: In certain (most common) situations one digit too much was rendered. * getopt.h (tino_getopt_usage): TINO_GETOPT_TYPE_IGNORE now no more output on help 2008-10-30 Valentin Hilbig * buf.h (TINO_BUF_INC): added 2008-10-29 Valentin Hilbig * scale.h (tino_scale_number): corrected 2008-10-28 Valentin Hilbig * sock.h (tino_sock_accept_addrI): argument now tino_sockaddr_t, which unifies all the other calls. * sock_tool.h (tino_sock_wrap): corrected * scale.h (tino_scale_number): bugfix, terminating NUL was missing * file.h (tino_file_readE, tino_file_writeE): As read/write can return without EINTR on an alarm(), always run TINO_ALARM_RUN(). * alarm.h (tino_alarm_run): removed possible errno sideffect to have more easy use of TINO_ALARM_RUN(). 2008-10-21 Valentin Hilbig * auxbuf.h (tino_auxbufOn): Bugfix, I got wrong the call to tino_realloc0obO(). Apparently the latter function has a too complex and confusing parameter set (as I mixed it myself). Shall redesign that sometimes. 2008-10-20 Valentin Hilbig * alloc.h (TINO_ALLOC_ALIGN_PAGE, tino_alloc_align_size): added 2008-10-19 Valentin Hilbig * scale.h (tino_scale_max, tino_scale_buf, tino_scale_ret) (tino_scale_seconds, tino_scale_bytes, tino_scale_throughput): added * auxbuf.h (tino_auxbufOn): commented 2008-10-16 Valentin Hilbig * err.h (TINO_ERR): changed to only take one string parameter (TINO_ERR0): etc., macros changed for TINO_ERR() (tino_err_new, tino_verr_new): renamed for better compatibility 2008-10-12 Valentin Hilbig * alloc.h (tino_alloc_alignedO): added * err.h (tino_verr): extended for other types than ExxxNNNc 2008-10-03 Valentin Hilbig * file.h (tino_file_openE, tino_file_open_createE) (tino_file_create_truncateE): O_LARGEFILE added, just to be safe 2008-09-28 Valentin Hilbig * data.h (tino_data_syncA, tino_data_file_syncA): added * getopt.h (tino_getopt_var_set_arg_imp): added single suffixes 'd'eka [10], 'h'ecto [100], 'S'ector [512], 'C'D-Size [4096] and dual 'P/p'eta [2^50,10^15], 'E/e'xa [2^60,10^18], 'Z/z'etta [2^70,10^21] and 'Y/y'otta [2^80,10^24] (tino_getopt_var_set_arg_imp): Overflow detection corrected 2008-09-27 Valentin Hilbig * Makefile-tar.sh (exists): GAT fixes * Makefile (diff): GAT fixes 2008-09-21 Valentin Hilbig * alarm.h (tino_alarm_run): watchdog now bites, too, when alarm processing takes too long. (tino_alarm_run, tino_alarm_stop, tino_alarm_set): Reentrancy and stopping while executed now supported. (Note that multithreading still is not supported.) 2008-09-20 Valentin Hilbig * fileerr.h (tino_file_readA): added (tino_file_lockA): fixed 2008-09-02 Valentin Hilbig * ex.h (tino_verror_std, tino_verror): full prefix support (tino_verror_vext): added from tino_verror_ext * fileerr.h: created (mostly file locking routines) * file.h (tino_file_lockI, tino_file_lockE) (tino_file_lock_exclusiveE, tino_file_lock_sharedE) (tino_file_unlockI, tino_file_unlockE): added 2008-09-01 Valentin Hilbig * alarm.h, alloc.h, arg.h, array.h, array_slist.h, auxbuf.h, bitfield.h block.h, buf.h, buf_line.h, buf_printf.h, codec.h, curl.h, data.h debug.h, dev.h, dir.h, dirty.h, err.h, exception.h, fatal.h, file.h file_aio.h, filetool.h, getini.h, getopt.h, hash.h, hasher.h, helpers.h hup.h, idea-vdl.h, iow.h, iow_all.h, iow_socket.h, iow_ssl.h, log.h longmath.h, main.h, main_file.h, main_getini.h, main_getopt.h memwild.h, misc_selectcopyloop.h, ob.h, privilege.h, proc.h, sc-lib.h sched.h, setproctitle.h, shit.h, signals.h, sleep.h, slist.h sock_tool.h, sockact.h, sockgen.h, strprintf.h, strwild.h, syscap.h sysfix.h, sysfix_cygwin.h, term.h, threads.h, type.h, wild.h, xd.h, xml.h: COPYLEFT fixed 2008-08-19 Valentin Hilbig * getopt.h: improved help for TINO_GETOPT_COUNT 2008-08-17 Valentin Hilbig * getopt.h (tino_getopt_var_set_arg_imp, tino_getopt_arg): TINO_GETOPT_COUNT added 2008-05-30 Valentin Hilbig * keypressed.h: added 2008-05-29 Valentin Hilbig * Makefile-tests.sh (cmd-run): command execution fixed * getopt.h (TINO_GETOPT_IGNORE): added (tino_getopt_var_set_arg): no more print full usage if TINO_GETOPT_FN returns error 2008-05-27 Valentin Hilbig * file.h (tino_file_rename_unlinkEbs): added * printf.h: added * file.h (tino_file_read_allE): pointer changed to void * 2008-05-23 Valentin Hilbig * filetool.h: Naming convention (tino_file_glue_path): changed such, that the length now is calculated, name changed to tino_file_glue_pathOi (i acts as a warning that some internals have changed, will be removed in future again). (tino_file_rename_with_empty_helperEs): added (tino_file_backupnameNi): memory leak resolved 2008-05-20 Valentin Hilbig * Makefile.proto (test): added "make test" * Makefile-tests.sh: added, needs file "Tests" * ex.h (tino_verror_ext): forgot output of ": " sequence 2008-05-15 Valentin Hilbig * make test now successful again * Makefile-test.sh (CFLAGS): -I- is deprecated, now uses -iquote * sockbuf.h (tino_sockbuf_newOn): memory leak resolved 2008-05-14 Valentin Hilbig * ex.h (tino_verror_ext): added to be able to augment the prefix 2008-05-07 Valentin Hilbig * err.h: TINO_ERR macro now works for GCC past 3.3 as expected * main_getini.h (tino_main_if): Case of "no arg functions" added, in this case there is a NULL call to the main. 2008-05-04 Valentin Hilbig * alloc.h: added nameing convention 2008-01-18 Valentin Hilbig * Makefile-diet.sh (TINODIETCC): added -Os to get smallest build on "make static" 2008-01-03 Valentin Hilbig * 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 * 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 * html_entities.h: ∧ corrected, placed under the CLL * getopt.h (main): better commented 2007-12-22 Valentin Hilbig * log.h: works again for filename '-' 2007-10-20 Valentin Hilbig * getopt.h (tino_getopt_parse): removed PLUS_var warning, as this should (perhaps) start to work somehow .. 2007-10-05 Valentin Hilbig * ex.h (tino_verr): oops, ifndef -> ifdef 2007-10-04 Valentin Hilbig * 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 * Makefile-diet.sh (rundiet): now tries to autodetect where diet lives 2007-10-01 Valentin Hilbig * 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 * Makefile-diff.awk: "make diff" now works with Debian Etch (cvs version 1.12.13), too 2007-09-28 * 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 * 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 * 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 * 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 * getopt.h (tino_getopt_usage): usage on TINO_GETOPT_MIN without TINO_GETOPT_MAX now better to understand 2007-09-19 * file.h (tino_file_blocking): new renamed to upd (C++) 2007-09-18 * 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 * 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 * 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 * alarm.h (tino_alarm): added, wrapper to alarm() 2007-08-25 * 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 * sock.h (tino_sock_select_loop): comment improved 2007-08-19 * 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 * 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 * 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 * 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 * arg.h: Argument string added to tino_varg object (convenience) 2007-08-06 * alloc.h (tino_free_nullUb): changed prototype 2007-06-23 * auxbuf.h (tino_auxbuf_get_nrOn, tino_auxbuf_get_nr_filledOn) (tino_auxbuf_freeOn): added 2007-08-06 * 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 * sock.h (tino_sock_freeOn): now uses tino_file_close 2007-06-13 * alloc.h (TINO_REALLOC0, TINO_REALLOC0_INC): added 2007-05-31 * 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 * 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 * auxbuf.h: added 2007-04-25 * file.h (tino_file_close_ign): added 2007-04-20 * err.h (tino_verr): corrected and comment optimized 2007-04-18 * signals.h (tino_sighandler_dummy, tino_sigdummy): added 2007-04-16 * signals.h (tino_sigsuspend): added 2007-04-15 * 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 * arg.h (tino_va_init): added 2007-04-11 * 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 * 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 * 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 * 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 * sleep.h (tino_nanosleep, tino_sleep, tino_msleep, tino_usleep) (tino_yield, tino_halt, tino_relax): added 2007-04-02 * 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 * 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 * 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 * 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 * 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 * 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 * setuptino.sh:"cvs add" wasn't called on the "tino" directory 2007-01-22 * 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 * sock.h: include sys/select.h, sys/time.h and sys/types.h 2006-12-16 * debug.h (TINO_DP_array): added * array.h, array_slist.h: added * slist.h (tino_glist_first): typo corrected 2006-12-12 * main_getopt.h: added * proc.h (tino_wait_child_exact): now uses tino_wait_child_status_string 2006-11-15 * 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 * filetool.h (TINO_DRIVE_SEP_CHAR, TINO_PATH_SEP_CHAR): prefixed with TINO_ 2006-11-10 * 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 * md5.h (tino_md5_bin): added * data.h: pos, size, seek and intr added (tino_data_read_all): added 2006-10-15 * 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 * filetool.h (tino_file_gluebuffer): max now can be NULL (tino_file_realpath): added 2006-10-04 * 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 * 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 * 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 * proc.h (tino_wait_child_status_string): added from tino_wait_child_exact 2006-09-08 U-KOSH\Administrator * proc.h (tino_fork_exec): named stdin into std_in, as the fist one is #defined under CygWin. 2006-08-25 * getopt.h (tino_getopt_var_set_arg_imp): splitted in two (tino_getopt_var_set_arg): TINO_GETOPT_FN implemented 2006-08-24 * 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 * strwild.h: Unit-Tests and test-main added * Makefile-test.sh (unit): bugfix, stderr was not captured 2006-08-16 * proc.h (tino_wait_child_exact): little bugfix 2006-08-15 * 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 * 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 * filetool.h (tino_file_filenameptr) renamed to tino_file_filenameptr_const (tino_file_filenameptr): added as nonconst version 2006-08-11 * proc.h (tino_wait_child_exact): added 2006-08-07 * term.h: added 2006-08-06 * 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 * 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 * 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 * file.h (tino_file_notsocket, tino_file_notfile): added 2006-07-25 * 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 * filetool.h (tino_file_pathchar): added (tino_file_backupname): As I found some DoS possibility added a desparate mode. 2006-07-22 * 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 * setuptino.sh: Thou shalt test thee! sigh .. the checkout process now works as expected. 2006-07-19 * buf.h (tino_buf_get_s_nonconst, tino_buf_get_nonconst): added 2006-07-17 * 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 * 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 * Makefile.proto (install): typo corrected 2006-06-11 * 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 * 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 * 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 * str.h (tino_strnprefixcmp2_const, tino_strnprefixcmp2): added 2006-03-17 * 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 * html_entities.h: added (tino_html_entities): sigh .. never CI before the first compile 2006-02-11 * 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 * proc.h (tino_fork_exec): added closing of other file descriptors 2006-01-30 * 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 * sock.h (tino_sock_keepalive_err): added 2006-01-28 * 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 * 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 * misc_selectcopyloop.h: added into CVS 2005-12-19 * getopt.h (IFxxx macros): unified, to allow compile under old (broken) GCCs (like in SuSE 7.2). 2005-12-08 * 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 * 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 * 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 * str.h (tino_strprefixicmp): added 2005-12-03 * sockbuf.h: now became useable 2005-12-02 * str.h (tino_strprefixcmp2_const): renamed as there now is a non-const-version 2005-12-01 * 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 * 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 * 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 * 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 * proc.h (tino_fork_exec): environment option added 2005-09-26 * setuptino.sh: autoguessing project name implemented 2005-09-07 * setuptino.sh: extended to create directory or softlink, commandline args are optional (needed if you create files). 2005-09-05 * file.h (tino_file_read_line_x): added 2005-08-22 * Makefile.proto (install): made rule more generic (more easy to edit) 2005-08-19 * proc.h: tino_wait_child corrected for socklinger release 2005-08-14 * setuptino.sh (DIET): diet option added, just create directory diet 2005-08-08 * crypthash.hh: generic structures and templates: md5 and sha 2005-08-02 * 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 * Makefile.proto, Makefile.d.proto, Makefile-tino.sh: started to support .cc/.hh files. * filetool.h (tino_file_filenameptr): added 2005-07-31 * setuptino.sh (TARG): added directory copy capability 2005-07-30 * 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 * 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 * proc.h (tino_wait_child): fixed delta calculation. 2005-06-04 * 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 * filetool.h (tino_file_dirname, tino_file_filename): added * file.h (tino_file_notexists): added 2005-04-24 * file.h: tino_file_notdir added * Makefile-test.sh (genit, runit): New TEST case: TESTCMP for filetool.h * filetool.h: added 2005-04-16 * Makefile.proto (all): No more dependency of Makefile: all 2005-04-15 * 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 * fatal.h (TINO_FATAL_IF): added 2005-03-15 * xd.h: include fixes, does not need fatal.h 2005-03-04 * 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 * 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 * getopt.h (tino_getopt): DD otion added (main): integer now active in unit_test 2005-01-26 * 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 * 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 * 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 * setproctitle.h: added 2004-11-03 * 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 * getopt.h: added for ptybuffer. Strings and flags work, rest untested. 2004-10-16 * dev.h: enabled * str.h (tino_trim), dirty.h: added 2004-10-10 * 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 * Makefile.tino.dist, Makefile.awk: changed "stop" rule from error prone "##END##" to more easy portable "Makefile::". 2004-10-02 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * sysfix.h: added TINO_VA_COPY for va_copy compatibility 2004-07-03 * Makefile-tar.sh: created for "make dist" and "make tar" purpose * Makefile (tar): added 2004-06-13 * 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 * 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 * 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 * 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