typo correction
Merge pull request #14 from zjf/patch-1

typo correction
test performance given packed struct
Merge branch 'master' of github.com:attractivechaos/klib
change hash set to hash map
khash-0.2.8: use quadratic probing
kstring: Add kvsprintf()
kstring: Add printf format attribute to kvsprintf() and ksprintf()

This allows compile-time detection of format-string related bugs.
Although the macros only check for the GCC version, clang (and perhaps
other compilers too) have these macros defined and can recognize
the formatting attributes as well.
Merge pull request #15 from yorhel/master

kstring printf improvements
Document -1 extra return code in kh_put().
Merge pull request #18 from sciascid/master

Document -1 extra return code in kh_put().
Merged with attractivechaos/klib:
- add upstream kvsprintf and rework ksprintf
- add upstream printf attribute checks
- use our kputw (has MIN_INT bug fix)
- keep our extra functions (kputc_, kputsn_, kputl)

Added ks_str and ks_len functions for tidier manipulation of
internals.

Added error checking to all functions that allocate memory and could
potentially fail; ie return EOF or negative values as per stdio
equivalents.
Merge pull request #19 from jkbonfield/master

Error checking + updates from htslib
Add kputw() and kputl() tests
Fix kputl(LONG_MIN) bug

Use an explicitly unsigned long, and do any negation as that type.

Make similar changes to kputw(), as the code is clearer.
Merge pull request #20 from jmarshall/kputl

Bug fix for kputl(), and kputw()/kputl() tests
ks_resize() canonicalises the stored string

It ensures the string is NUL-terminated, especially in the case that
ks_resize(&kstr,1) has been used on a newly-created kstring_t to ensure
that kstr.s is not NULL.
Only canonicalise if there is room, and add docs

We could increment SIZE to ensure there would be room, but that would
disadvantage people using kstrings for binary data in power-of-2-sized
blocks.  Instead document that SIZE=KS.l+1 will ensure NUL-termination.

This fixes a bug in the previous version when the l<m invariant does not
hold (kputc_()/etc and manual manipulation only maintain the weaker l<=m);
hattip Rob Davies.
Add kstring_t init/destroy documentation

Ideally these could be provided as ks_init()/ks_destroy(),
but those names are already in use with kstream_t.
Merge pull request #21 from jmarshall/kstring

Make ks_resize(&kstr,kstr.l+1) useful for ensuring the string is allocated and NUL-terminated