2006-10-03 * 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-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