test, provide regression tests for dconv's multiple occurrence sedding

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, support reading zone differences in std parser

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
cosmetics, don't leave #if-0'd code in headers

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, introduce %Z zone difference specifier

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, introduce %Z zone difference specifier

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
fix, PEBKAC, always return a proper result in try_zone()

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
fix, PEBKAC, only try to parse zone diff specs in dt mode

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, actually fix up the zone diff in strpdt parsers yielding UTC time stamps all the time

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
test, PEBKAC, reflect reality with new multi-sed regressions

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
fix, allow demotion of zone-specified files into UTC with flag `znfxd'

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, refactor dtz_enrichz() and dtz_forgetz() to use dt_dtadd() for the core work (addition of zdiff)

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, use pointers in dtz_forgetz() and dtz_enrichz() and return the difference applied

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, extend dt_strfdt() to take a zdiff parameter, ...

Actually, this should be considered a hack, as the actual d/t data is decoupled
from this argument and completely inconsistent states are possible.
However, struct dt_dt_s as it stands has no space for an extra 11 bits
(minute-resolution, signed) to represent the tz difference as printable
by %Z.

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
fix, PEBKAC, don't pass uninitialised args to dt_strfdt()

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
Merge branch 'feat/multi-sed' into next

* feat/multi-sed:
  fix, PEBKAC, don't pass uninitialised args to dt_strfdt()
  minor, extend dt_strfdt() to take a zdiff parameter, ...
  minor, use pointers in dtz_forgetz() and dtz_enrichz() and return the difference applied
  minor, refactor dtz_enrichz() and dtz_forgetz() to use dt_dtadd() for the core work (addition of zdiff)
  fix, allow demotion of zone-specified files into UTC with flag `znfxd'
  test, PEBKAC, reflect reality with new multi-sed regressions
  minor, actually fix up the zone diff in strpdt parsers yielding UTC time stamps all the time
  fix, PEBKAC, only try to parse zone diff specs in dt mode
  fix, PEBKAC, always return a proper result in try_zone()
  minor, introduce %Z zone difference specifier
  minor, introduce %Z zone difference specifier
  cosmetics, don't leave #if-0'd code in headers
  minor, support reading zone differences in std parser
  test, provide regression tests for dconv's multiple occurrence sedding