|
|
|
0.17:
|
|
|
|
add Linux SIGIO support to IO
|
|
|
|
expand IO api to be able to cope with edge triggered event
|
|
|
|
notification: introduce io_eagain
|
|
|
|
the integer scan routines should only write *dest if they actually
|
|
|
|
scanned something
|
|
|
|
io_sendfile and iob_send should return -1 to -3 just like io_trywrite
|
|
|
|
make io_waituntil actually take an "until", not a "how long"
|
|
|
|
turns out that BSD kqueue is actually Free/OpenBSD kqueue -- NetBSD
|
|
|
|
doesn't have it. That means I'll need some adaptive two-threads-
|
|
|
|
running-poll approach to get C10k type scalability on NetBSD :-(
|
|
|
|
turns out that BSD sendfile is actually FreeBSD sendfile -- neither
|
|
|
|
OpenBSD nor NetBSD have it (as of 3.4 and 1.6.1). That means I'll
|
|
|
|
need to try using mmap on OpenBSD and NetBSD to get zero-copy TCP.
|
|
|
|
guard against same event being signalled twice (confused our list
|
|
|
|
handling)
|
|
|
|
add support for Solaris /dev/poll
|
|
|
|
add lose32 support (broken, please don't use!)
|
|
|
|
|
|
|
|
0.16:
|
|
|
|
add buffer_fromsa (make buffer from stralloc)
|
|
|
|
add API for integer multiply with overflow detection
|
|
|
|
change length counters from int to long for 64-bit platforms
|
|
|
|
add array API from http://cr.yp.to/lib/array.html
|
|
|
|
oops, had a declaration and man page for taia_addsec but not the
|
|
|
|
function itself
|
|
|
|
add buffer functions to write strerror(errno)
|
|
|
|
add io API supporting poll, epoll and kqueue
|
|
|
|
remove obsolete "extern" from header files
|
|
|
|
add iob API to send several buffers and files in one batch
|
|
|
|
|
|
|
|
0.15:
|
|
|
|
man page update (document stralloc return values)
|
|
|
|
add stralloc_chop and stralloc_chomp
|
|
|
|
add buffer_putsa, buffer_get_token_sa and buffer_getline_sa
|
|
|
|
extended uudecode test. See comment at top for details.
|
|
|
|
fix #include in ndelay*.3 (Hynek Schlawack)
|
|
|
|
add stralloc_diff and stralloc_diffs (my invention)
|
|
|
|
scan_ip6 returned 1 for "::" (Uwe Ohse)
|
|
|
|
add el-cheapo MIME decoding to test/uudecode
|
|
|
|
make install forgot to install ndelay.h
|
|
|
|
fix typos in several man pages (Hynek Schlawack)
|
|
|
|
add stralloc versions of textcode API (Kai Ruemmler)
|
|
|
|
add html to textcode ('<' to '<' etc)
|
|
|
|
add fmt_human and fmt_humank (format numbers ala ls -H/-h)
|
|
|
|
add fmt_httpdate and scan_httpdate
|
|
|
|
fix typo breaking buffer_GETC in buffer (Marcus Winkler)
|
|
|
|
fix typo breaking fmt_long for dest==NULL
|
|
|
|
add fmt_*longlong()
|
|
|
|
add range check to scan_ulong, scan_ulonglong, scan_uint and
|
|
|
|
scan_ushort
|
|
|
|
extended socket API; you can now pass NULL for results you don't want
|
|
|
|
rename Makefile to GNUmakefile; create Makefile target
|
|
|
|
add buffer_get_token_pred and buffer_get_token_sa_pred
|
|
|
|
|
|
|
|
0.14:
|
|
|
|
avoid bus errors in byte_copy
|
|
|
|
byte_rchr was completely broken
|
|
|
|
add case, iopause, tai, taia, openreadclose and ipv6-enhanced dns
|
|
|
|
|
|
|
|
0.13:
|
|
|
|
fixed several bugs in test/uudecode.c
|
|
|
|
add uninstall target
|
|
|
|
add uint16_read API like the uint32_read one
|
|
|
|
add buffer_putnlflush
|
|
|
|
lots of general clean-ups from Jukka Zitting:
|
|
|
|
add FMT_LONG to fmt.h (FMT_ULONG plus 1 for sign)
|
|
|
|
fmt_strn did not work for out==NULL
|
|
|
|
fix inconsistencies in man pages
|
|
|
|
make scan_urlencode do the '+' -> ' ' transformation
|
|
|
|
|
|
|
|
0.12:
|
|
|
|
add textcode api for uuencode/uudecode, base64, quoted printable,
|
|
|
|
url-encoding and yenc.
|
|
|
|
|
|
|
|
0.11:
|
|
|
|
fix fmt_long (didn't count the '-'), which in turn broke
|
|
|
|
buffer_putlong
|
|
|
|
referenced wrong include file in stralloc_ready and stralloc_readyplus
|
|
|
|
man page.
|
|
|
|
|
|
|
|
0.10:
|
|
|
|
add comment to stralloc.h that explains the structure (Markus Brischke)
|
|
|
|
fix socket routines (two cut-and-paste errors)
|
|
|
|
|
|
|
|
0.9:
|
|
|
|
fmt_str did not check for out==NULL! Thanks, Uwe Ohse.
|
|
|
|
Updated to buffer to fix read buffers. Thanks, David Lichteblau.
|
|
|
|
Oops! byte_copy had a trivial and dumb typo in it that I'm unsure how
|
|
|
|
I could have missed it.
|
|
|
|
add mmap man pages.
|
|
|
|
update and add socket man pages.
|
|
|
|
don't include str.h from fmt.h
|
|
|
|
document error signalling for the mmap functions.
|
|
|
|
|
|
|
|
0.8:
|
|
|
|
BSD compatibility.
|
|
|
|
fix mmap_shared.
|
|
|
|
ranlib.
|
|
|
|
s/EPROTO/EPROTONOSUPPORT/.
|
|
|
|
|
|
|
|
0.7:
|
|
|
|
add buffer_putspace
|
|
|
|
fix b0read prototype in buffer/buffer_0*
|
|
|
|
scan_ip6 will not transparently scan IPv4 addresses and save them as
|
|
|
|
v4-mapped addresses (::ffff:127.0.0.1).
|
|
|
|
byte_copy was sped up (but made larger in the process)
|
|
|
|
|
|
|
|
0.6:
|
|
|
|
changed name to libowfat.
|
|
|
|
fixed fmt_ulong (did not output 0 correctly).
|
|
|
|
added buffer.
|
|
|
|
extended buffer API to include buffer_putulong() and friends.
|
|
|
|
oops, the read buffering was completely broken!
|
|
|
|
add mmap library (idea from Ingo Oeser)
|
|
|
|
|
|
|
|
0.5:
|
|
|
|
made subdirectories for the different libraries.
|
|
|
|
moved the sources into the corresponding subdirectory.
|
|
|
|
imported my man pages from libdjb.
|
|
|
|
removed fmt_int.c and fmt_uint.c (they are macros in fmt.h).
|
|
|
|
corrected comment in open.h for open_excl.
|
|
|
|
wrote new man pages for fmt_double, scan_double, the sign fmt_ and
|
|
|
|
scan_ routines, the whitespace and charset scan_ routines, and the
|
|
|
|
str and stralloc routines.
|
|
|
|
|
|
|
|
0.4:
|
|
|
|
implemented stralloc.
|
|
|
|
|
|
|
|
0.3:
|
|
|
|
implemented uint16, uint32 and uint64. The header files try to
|
|
|
|
define shortcut endianness conversion routines that do not convert
|
|
|
|
anything.
|
|
|
|
implemented open (I hope I got open_excl right, I couldn't find an
|
|
|
|
implementationen).
|
|
|
|
|
|
|
|
0.2:
|
|
|
|
implemented the scan, fmt and str interfaces.
|
|
|
|
added adapted fmt_double and scan_double from diet libc.
|
|
|
|
|
|
|
|
0.1:
|
|
|
|
initial release.
|
|
|
|
implemented the byte interface.
|