libnathandbag
Timeline
Not logged in

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

50 most recent timeline items

2010-07-12
14:43 • Changes to wiki page libnathandbag (user: nat)
2010-04-29
19:15
[a0feae37a6] Leaf: date: fix of UTC offset correction in time_from_apache() (user: nat, tags: trunk)
2010-03-29
20:58
[3efe5d35b9] date: const qualification of date formatter's input struct tm (user: nat, tags: trunk)
2010-03-23
18:13
[37e314b8c3] array: removal of the bogus *_ITEM macroes (user: nat, tags: trunk)
2010-03-22
18:21
[a8c454c1b5] 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. (user: nat, tags: trunk)

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

sx_put callbacks have been replaced by calls to 'writer' facilities (user: nat, tags: trunk)

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

The order of read numbers was not preserved by year detection code. (user: nat, tags: trunk)

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

Now void buffers are but instead for char. (user: nat, tags: trunk)

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

18:37
[4a42c9e28c] 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. (user: nat, tags: trunk)

18:30
[affb2e2bd5] 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. (user: nat, tags: trunk)

2010-02-02
10:49
[6660e613dd] 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". (user: nat, tags: trunk)

2010-01-31
11:24
[8a4e09e0d3] log: new component for unified logging

Currently supports logging to a file, to a pipe or to syslog. (user: nat, tags: trunk)

2010-01-27
17:52
[d4eab3c801] config.h: comprehensive list of compile-time module knobs added (user: nat, tags: trunk)
17:42
[23dd19c4ad] array: new stand-alone dynamic array module (user: nat, tags: trunk)
2010-01-26
15:05
[bb3edbb009] 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). (user: nat, tags: trunk)

15:03
[4835015927] 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. (user: nat, tags: trunk)

13:29
[7b69e29347] 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. (user: nat, tags: trunk)

11:32
[22877f8c4a] Merge branch 'wip-csexp-print' into current (user: nat, tags: trunk)
11:30
[68dce04f51] 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. (user: nat, tags: trunk)

11:23
[19b4d7ce9a] 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. (user: nat, tags: trunk)

11:22
[ada6b00aac] sxprint: bugfix of quoted string atom printing

An extra byte (NUL) was rendered after the atom data end. (user: nat, tags: trunk)

2010-01-25
17:50
[fe6e738a96] sxprint: support of both lower and upper case hexadecimal digits (user: nat, tags: trunk)
17:47
[e698a607d7] sxprint: support of S-expression pretty printing (user: nat, tags: trunk)
13:28
[1896ac7899] sxprint: support of quoted-string atom pretty print (user: nat, tags: trunk)
2010-01-24
17:20
[e45c116f3e] sxprint: fix of digit_group behaviour in hexadecimal atom printing (user: nat, tags: trunk)
13:26
[e1f28b6f5e] sxprint: support of base-64 atom pretty print (user: nat, tags: trunk)
12:03
[4588aa84ed] sxprint: support of hexadecimal atom pretty print (user: nat, tags: trunk)
2010-01-21
11:42
[999260fc44] 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). (user: nat, tags: trunk)

2009-12-30
21:58
[b51a8f18cf] csexp: new function to add a whole S-exp. to a mutable S-exp. (user: nat, tags: trunk)
20:25
[0c6be8f1f5] csexp: addition of a (static) S-expression consistency test function (user: nat, tags: trunk)
20:12
[b962156cec] 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. (user: nat, tags: trunk)

2009-12-28
18:32
[1f32038224] csexp: fix of a bug in unescaped data copy of quoted-string atoms (user: nat, tags: trunk)
18:23
[7aa312269f] 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)
(user: nat, tags: trunk)
2009-12-22
18:29
[f29d9d5bce] csexp: bugfix in S-expression duplication
  • 'next' member of the last atom of a list was not initialised
(user: nat, tags: trunk)
12:12
[d7932ebd89] 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. (user: nat, tags: trunk)