Skip to content

libxo-0.4.0

Compare
Choose a tag to compare
@philshafer philshafer released this 21 Aug 19:16

Big features:

  • syslog: xo_syslog makes syslog-ng (SD-Params) content using xo_emit format strings
  • i18n: {G:}, {g:} and {p:} add support for gettext() to libxo formats
  • custom encoded API allows external encoders to be created; a CBOR example is provided
  • new _p variants of libxo functions enable printf-like warnings

Minor notes:

  • xo_simplify_format() generates simplified messages (for .po files)
  • Add "%m" (prep for syslog)
  • fix issue when mbrtowc() fails
  • Add "add.man"
  • Add xo_encoder_op_name and xo_encoder_setup
  • Add xo_finish_atexit
  • make {p:} work without requiring {g:}
  • Add --disable-gettext
  • Add check for __isthreaded
  • Add checks for sysctlbyname, getprogname, and sun_len
  • Add code for testing thread-local variable support (THREAD_LOCAL)
  • Add xopo utility (for manging .po files)
  • Add {G:}, {g:}, and {p:}. Need to invent a .man backend for oxtradoc so this isn't manual.
  • Fail gracefully if oxtradoc (from libslax) is not installed)
  • Force copy of non-value-role fields; not a great solution, but best available
  • Incorporate Markus Kuhn's wcwidth() (as xo_wcwidth)
  • Linux hates (void)ing writev with -Werror=unused-result
  • Make PRINTFLIKE versions of all printf-like functions.
  • Make gettext checks smarter
  • Move internal flags from XOF_* into libxo.c (XOIF_*)
  • Move to XOF_SET() etc;
  • Add field number parsing
  • New XOF_UTF8 flag forces UTF-8
  • Nuke iswprint() test; many fancy unicode characters are marking !print but they are
  • add --with-gettext option to configure
  • add unistd.h for unlink(2)
  • add xo_wcwidth.h; move xo_humanize.h to noinst_HEADERS
  • add {{escaping}} braces info
  • document {G:} {g:} {p:}. Add howtos.
  • fix silly bug w/ end-of-sd-params handling; add BOM since we're UTF-8; use UTF-8 flag to force UTF-8
  • fix truncated output (gettext); use "__warning" consistently
  • move xo_message to it's own man page
  • no c99 in-for declarations. Sigh....
  • pull xo_buf* code into xo_buf.h
  • remove xo_version.h
  • rename xo_.h to xo__.h for conssitency
  • use XO_INFO_NULL to end arrays
  • xo_destroy now calls xo_flush