libnathandbag
Timeline
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins

2010-04-29
19:15
date: fix of UTC offset correction in time_from_apache() Leaf check-in: a0feae37a6 user: nat tags: trunk
2010-03-29
20:58
date: const qualification of date formatter's input struct tm check-in: 3efe5d35b9 user: nat tags: trunk
2010-03-23
18:13
array: removal of the bogus *_ITEM macroes check-in: 37e314b8c3 user: nat tags: trunk
2010-03-22
18:21
array: new function of insertion binary search in arrays

bsearch_ligt() returns the index of the Least Item Greater Than the given key, which is also the insertion index for such a key. check-in: a8c454c1b5 user: nat tags: trunk

18:05
sxprint: Printing of a S-expression structure dump check-in: 784390e55b user: nat tags: trunk
2010-03-05
18:45
csexp: improved const-correctness check-in: 610ca52202 user: nat tags: trunk
2010-03-02
18:36
sxprint: pretty print without info falls back on canonical print check-in: 2d078f88fb user: nat tags: trunk
18:34
sxprint: new function for braced-encoded S-expression printing check-in: 778edf51a3 user: nat tags: trunk
2010-03-01
20:51
sxprint: adaptation to the new writer components

sx_put callbacks have been replaced by calls to 'writer' facilities check-in: dd1948c5c7 user: nat tags: trunk

19:39
writer: addition of a base-64 encoding filter check-in: 06e0be2a34 user: nat tags: trunk
2010-02-28
17:21
writer: addition of a formated-print to raw-put helper function check-in: ca679c235d user: nat tags: trunk
2010-02-27
20:41
date: support of partial-time date human format check-in: 54ec5c47b6 user: nat tags: trunk
19:04
date: bugfix in date_from_human()

The order of read numbers was not preserved by year detection code. check-in: 7b07fe4a0a user: nat tags: trunk

2010-02-25
18:35
date: addition of date writing functions
  • basic writers to epoch, RFC-1123 and RFC-3339 formats
  • a writer interpreting a given S-expression
check-in: d3759a19d2 user: nat tags: trunk
2010-02-22
20:10
writer: signature change of 'put' functions

Now void buffers are but instead for char. check-in: 3510e0534a user: nat tags: trunk

2010-02-21
17:32
writer: new component for data output abstraction check-in: f176fd5819 user: nat tags: trunk
16:33
pdata: addition of a few macroes check-in: 436f38281f user: nat tags: trunk
16:32
pdata: new module for P-data (explainations in header comments) check-in: 6eac8f2056 user: nat tags: trunk
15:39
csexp: copyright year update check-in: 6b4391cb28 user: nat tags: trunk
2010-02-18
17:56
config.h: addition of date knobs check-in: fc13935e3a user: nat tags: trunk
17:56
array,sxprint: addition of the missing conditional inclusion of config.h check-in: f153175c4e user: nat tags: trunk
2010-02-15
22:14
date: new component for date/time handling

For now it contains a unified UTC-based mktime() and parsers from various textual date representations to time_t. check-in: 24a190750a user: nat tags: trunk

18:37
csexp: new macro for command interpretation

In the usual case of interpreting the following S-expression style: (command1 arg1 arg2 ...) (command2 arg3) (argless-cmd) another-argless-cmd the macroes SX_CMD and SX_ARG expand respectively to the command and to the first argument node, expecting a non-null node. SX_SET_CMD_ARG allows assignment of these to local variables. check-in: 4a42c9e28c user: nat tags: trunk

18:30
sxprint: bugfix of token/verbatim pretty printing

When printing a verbatim atom right after a token atom, there was no whitespace printed to end the token. Now a newline is insert before verbatim following a token. check-in: affb2e2bd5 user: nat tags: trunk

2010-02-02
10:49
sxprint: sx_put typedef change

sx_put is no longer typedef'ed as a function pointer, but as a regular function This improuves readability by making explicit the pointer nature of declared variables, i.e. "sx_put *put" rather than "sx_put put". check-in: 6660e613dd user: nat tags: trunk

2010-01-31
11:24
log: new component for unified logging

Currently supports logging to a file, to a pipe or to syslog. check-in: 8a4e09e0d3 user: nat tags: trunk

2010-01-27
17:52
config.h: comprehensive list of compile-time module knobs added check-in: d4eab3c801 user: nat tags: trunk
17:42
array: new stand-alone dynamic array module check-in: 23dd19c4ad user: nat tags: trunk
2010-01-26
15:05
csexp: Support of brace-encoded S-expressions

The defines the brace notation as the representation of S-expression encoded in base-64 and surrounded by braces. This is different from previously-supported base-64 atom encoding (denoted by bars '|') in that the decoded content is not an atom, but data to be recursively parsed into a full-fledged S-expression.

Please note that nothing is no state isolation between recursive instances of the parser, i.e. it behaves exactly as if the braces and its contents was replaced by the decoded data. So a list opened before the opening brace may be closed inside the decoded data, and a list may be opened insode the coded data and be closed after the closing brace (or even in another brace-block, or even past any number of such blocks). check-in: bb3edbb009 user: nat tags: trunk

15:03
sxprint: addition of a primitive to print brace-encoded S-expressions

A new primitives wraps around exisiting primitives to encode the S-expression in base-64, and inserts the braces. check-in: 4835015927 user: nat tags: trunk

13:29
csexp: bugfix in unbalanced closing parenthesis parsing

sxp_base() returned 1 instead of i + 1 in such situations. This is a silent bug, as it means that the whitespaces and the parenthesis are parsed repeatedly instead of once, but his parsing performs no operation. check-in: 7b69e29347 user: nat tags: trunk

11:32
Merge branch 'wip-csexp-print' into current check-in: 22877f8c4a user: nat tags: trunk
11:30
csexp: bugfix of parsing verbatim empty atoms

Empty atom parsing used to return 0 as a valid size, which was interpreted as an error mark. check-in: 68dce04f51 user: nat tags: trunk

11:23
csexp: bugfix of node rebase in mutable S-expressions

NULL next pointers were incorrectly rebased against the node array, which is undefined behaviour and led to incorrect pointeurs instead of NULLs. check-in: 19b4d7ce9a user: nat tags: trunk

11:22
sxprint: bugfix of quoted string atom printing

An extra byte (NUL) was rendered after the atom data end. check-in: ada6b00aac user: nat tags: trunk

2010-01-25
17:50
sxprint: support of both lower and upper case hexadecimal digits check-in: fe6e738a96 user: nat tags: trunk
17:47
sxprint: support of S-expression pretty printing check-in: e698a607d7 user: nat tags: trunk
13:28
sxprint: support of quoted-string atom pretty print check-in: 1896ac7899 user: nat tags: trunk
2010-01-24
17:20
sxprint: fix of digit_group behaviour in hexadecimal atom printing check-in: e45c116f3e user: nat tags: trunk
13:26
sxprint: support of base-64 atom pretty print check-in: e1f28b6f5e user: nat tags: trunk
12:03
sxprint: support of hexadecimal atom pretty print check-in: 4588aa84ed user: nat tags: trunk
2010-01-21
11:42
sxprint: new module for S-expression printing

This is a split from the WIP in csexp.*, which contain now only S-expression handling and parsing (i.e. input). check-in: 999260fc44 user: nat tags: trunk

2009-12-30
21:58
csexp: new function to add a whole S-exp. to a mutable S-exp. check-in: b51a8f18cf user: nat tags: trunk
20:25
csexp: addition of a (static) S-expression consistency test function check-in: 0c6be8f1f5 user: nat tags: trunk
20:12
csexp: addition of a node-swapping function

Because the links between nodes are stored as pointers, it is possible to change the node order in the array without actually changing the represented S-expression.

sx_swap_nodes() performs the basic order-changing operation (swapping) while keeping the theoretical S-expression constant. check-in: b962156cec user: nat tags: trunk

2009-12-28
18:32
csexp: fix of a bug in unescaped data copy of quoted-string atoms check-in: 1f32038224 user: nat tags: trunk
18:23
csexp: addition of compile-time knobs
  • HAVE_CONFIG_H for config.h knob inclusion
  • WITHOUT_SX_MUTABLE to disable mutable S-expression code
  • WITHOUT_SX_PARSER to disable S-expression parser
  • Active knobs are documented in the header file (csexp.h)
check-in: 7aa312269f user: nat tags: trunk
2009-12-22
18:29
csexp: bugfix in S-expression duplication
  • 'next' member of the last atom of a list was not initialised
check-in: f29d9d5bce user: nat tags: trunk
12:12
csexp: fix of a buf in S-exp duplication

sexp.size update during copy did not take into account the NUL separator, which lead to a size mismatch between estimation and copy. check-in: d7932ebd89 user: nat tags: trunk

2009-12-21
11:47
csexp: removal of debug printf()s check-in: 95bf8732e0 user: nat tags: trunk