]>
git.kaiwu.me - klib.git/log
Heng Li [Fri, 23 Oct 2015 12:50:39 +0000 (08:50 -0400)]
Merge pull request #62 from innoink/master
fix spelling mistake
innoink [Fri, 23 Oct 2015 06:00:11 +0000 (14:00 +0800)]
fix spelling mistake
Heng Li [Tue, 29 Sep 2015 12:28:48 +0000 (08:28 -0400)]
added
Heng Li [Thu, 17 Sep 2015 23:43:01 +0000 (19:43 -0400)]
simplified the kbtree iter a bit
Heng Li [Thu, 17 Sep 2015 23:24:05 +0000 (19:24 -0400)]
Merge branch 'master' of github.com:attractivechaos/klib
Heng Li [Thu, 17 Sep 2015 23:23:33 +0000 (19:23 -0400)]
added iterator interface to kbtree
and deprecated the old macro interface
Heng Li [Thu, 23 Jul 2015 15:18:35 +0000 (11:18 -0400)]
Merge pull request #53 from jmarshall/kgetline
Add kstring kgetline() and ks_release() functions
Heng Li [Thu, 23 Jul 2015 15:17:31 +0000 (11:17 -0400)]
Merge pull request #47 from jmarshall/unused-warnings
Prevent unused function warnings in khash.h, klist.h
Heng Li [Thu, 23 Jul 2015 15:17:01 +0000 (11:17 -0400)]
Merge pull request #32 from jmarshall/getaddrinfo
Don't call freeaddrinfo() when getaddrinfo() fails
John Marshall [Wed, 16 Apr 2014 13:07:03 +0000 (14:07 +0100)]
Don't call freeaddrinfo() when getaddrinfo() fails
POSIX is somewhat unclear here, but doing so segfaults on some
platforms. Hat tip Kamil Slowikowski @slowkow.
Instead print a more detailed error message using gai_strerror().
John Marshall [Tue, 24 Mar 2015 09:37:12 +0000 (09:37 +0000)]
Prevent unused function warnings in khash.h, klist.h
Recent versions of Clang warn about unused static inline functions
in .c files (though they suppress this warning for such definitions
in header files). Definitions via KHASH_INIT etc are effectively in
the .c file, and it's impractical to make these inline other than
static inline; so add attributes to suppress these warnings.
John Marshall [Tue, 9 Jun 2015 02:29:54 +0000 (03:29 +0100)]
Add kgetline() to kstring.c/.h
Similar to BSD's getline() but omits the \n terminator and manages the
memory as a kstring. Call with "(kgets_func *) fgets" to read from stdio,
or implement an fgets()-style function to read from other streams, e.g.,
a wrapper around gzgets() that reorders its parameters as per fgets().
John Marshall [Wed, 12 Mar 2014 14:33:12 +0000 (14:33 +0000)]
Add ks_release() to kstring.h
Using this function is a more explicit way of transferring ownership
than just "foo = str.s"; the latter leaves room for readers to wonder
whether a subsequent "free(str.s)" has been forgotten.
Heng Li [Fri, 26 Jun 2015 19:27:38 +0000 (15:27 -0400)]
Merge pull request #52 from ihh/master
Fixed output bug where leaf branch length is not printed
Ian Holmes [Fri, 26 Jun 2015 18:21:26 +0000 (14:21 -0400)]
Fixed output bug where branch length is not printed on branches to leaf nodes
Heng Li [Fri, 22 May 2015 18:35:19 +0000 (14:35 -0400)]
fixed a bug and a portability issue
Heng Li [Fri, 22 May 2015 18:02:38 +0000 (14:02 -0400)]
don't stop on undefined functions
Heng Li [Fri, 22 May 2015 14:54:16 +0000 (10:54 -0400)]
set user-defined functions
Heng Li [Fri, 22 May 2015 13:53:25 +0000 (09:53 -0400)]
code cleanup
Heng Li [Fri, 22 May 2015 13:42:03 +0000 (09:42 -0400)]
don't return a parse error if see undef func
Heng Li [Fri, 22 May 2015 13:36:05 +0000 (09:36 -0400)]
a little bit code cleanup
Heng Li [Fri, 22 May 2015 13:12:15 +0000 (09:12 -0400)]
moved argument checking to ke_parse()
Heng Li [Fri, 22 May 2015 13:02:38 +0000 (09:02 -0400)]
simplified ke_eval() with operator functions
Heng Li [Fri, 22 May 2015 12:50:12 +0000 (08:50 -0400)]
use operator functions
Heng Li [Fri, 22 May 2015 02:29:24 +0000 (22:29 -0400)]
support single-quotation mark and escaping
Heng Li [Fri, 22 May 2015 02:26:56 +0000 (22:26 -0400)]
command line assignment
Heng Li [Fri, 22 May 2015 02:18:41 +0000 (22:18 -0400)]
check unknown function names
Heng Li [Fri, 22 May 2015 02:12:02 +0000 (22:12 -0400)]
return final type
Heng Li [Fri, 22 May 2015 02:05:51 +0000 (22:05 -0400)]
support assignment
Heng Li [Fri, 22 May 2015 01:54:10 +0000 (21:54 -0400)]
fixed a bug related to functions
Heng Li [Fri, 22 May 2015 01:50:26 +0000 (21:50 -0400)]
added a few unary functions
Heng Li [Fri, 22 May 2015 01:38:12 +0000 (21:38 -0400)]
eval working
Heng Li [Thu, 21 May 2015 23:38:46 +0000 (19:38 -0400)]
changed a variable name
Heng Li [Thu, 21 May 2015 23:14:51 +0000 (19:14 -0400)]
added ** and //
Heng Li [Thu, 21 May 2015 23:01:43 +0000 (19:01 -0400)]
support ","
Heng Li [Thu, 21 May 2015 19:58:14 +0000 (15:58 -0400)]
parse math expression with Shunting-yard
Heng Li [Sun, 11 Jan 2015 21:29:39 +0000 (16:29 -0500)]
a bit more comments
Heng Li [Sun, 11 Jan 2015 21:27:22 +0000 (16:27 -0500)]
allow to change pipeline threads
Heng Li [Sun, 11 Jan 2015 21:24:54 +0000 (16:24 -0500)]
kt_pipeline() example
Heng Li [Mon, 1 Dec 2014 01:07:04 +0000 (20:07 -0500)]
erh... wrong link in the last commit
Heng Li [Mon, 1 Dec 2014 01:04:22 +0000 (20:04 -0500)]
added a link to the new doc
Heng Li [Mon, 1 Dec 2014 00:52:22 +0000 (19:52 -0500)]
added links to the new tiddlywiki doc
Heng Li [Sun, 30 Nov 2014 06:15:00 +0000 (01:15 -0500)]
kson_query() -> kson_by_path() for clarity
Heng Li [Sun, 30 Nov 2014 05:53:37 +0000 (00:53 -0500)]
simplified format() due to a later change
Heng Li [Sun, 30 Nov 2014 05:47:00 +0000 (00:47 -0500)]
rename a member var for clarity
Heng Li [Sun, 30 Nov 2014 05:40:26 +0000 (00:40 -0500)]
removed *error from kson_parse()
Few would be interested in this error code
Heng Li [Sun, 30 Nov 2014 05:13:29 +0000 (00:13 -0500)]
removed kt_spawn(); added kt_pipeline()
Heng Li [Sun, 30 Nov 2014 03:13:15 +0000 (22:13 -0500)]
missing include
Heng Li [Sun, 30 Nov 2014 01:44:23 +0000 (20:44 -0500)]
get rid of stdint.h for portability
Heng Li [Sun, 30 Nov 2014 01:37:04 +0000 (20:37 -0500)]
minor
Heng Li [Sun, 30 Nov 2014 01:35:28 +0000 (20:35 -0500)]
minor change
Heng Li [Sun, 30 Nov 2014 01:06:53 +0000 (20:06 -0500)]
simplified the struct
Heng Li [Sun, 30 Nov 2014 01:00:28 +0000 (20:00 -0500)]
simplified the struct a little
Heng Li [Sun, 30 Nov 2014 00:54:16 +0000 (19:54 -0500)]
simplified API
Heng Li [Sun, 30 Nov 2014 00:40:08 +0000 (19:40 -0500)]
query on CMD; more chanages to happen
Heng Li [Sun, 30 Nov 2014 00:00:53 +0000 (19:00 -0500)]
fixed an error in the example (due to prev rev)
Heng Li [Sat, 29 Nov 2014 23:55:36 +0000 (18:55 -0500)]
a bit code cleaup
Heng Li [Sat, 29 Nov 2014 23:54:26 +0000 (18:54 -0500)]
indent output
Heng Li [Sat, 29 Nov 2014 23:24:52 +0000 (18:24 -0500)]
minor change
Heng Li [Sat, 29 Nov 2014 23:20:35 +0000 (18:20 -0500)]
added JSON query
Heng Li [Sat, 29 Nov 2014 18:02:17 +0000 (13:02 -0500)]
isblank() -> isspace()
Heng Li [Sat, 29 Nov 2014 18:00:19 +0000 (13:00 -0500)]
no effective changes
Heng Li [Sat, 29 Nov 2014 17:59:10 +0000 (12:59 -0500)]
simplified API a bit
Heng Li [Sat, 29 Nov 2014 17:41:26 +0000 (12:41 -0500)]
fixed compilation error in the last commit
Heng Li [Sat, 29 Nov 2014 17:40:39 +0000 (12:40 -0500)]
added deallocator
Heng Li [Sat, 29 Nov 2014 17:37:57 +0000 (12:37 -0500)]
added API documentation
Heng Li [Sat, 29 Nov 2014 17:28:04 +0000 (12:28 -0500)]
code cleanup
Heng Li [Sat, 29 Nov 2014 17:21:42 +0000 (12:21 -0500)]
improved comments a little
Heng Li [Sat, 29 Nov 2014 17:09:47 +0000 (12:09 -0500)]
bug for empty []/{}; check extra left brackets
Heng Li [Sat, 29 Nov 2014 17:05:12 +0000 (12:05 -0500)]
rename brackets
Heng Li [Sat, 29 Nov 2014 17:01:31 +0000 (12:01 -0500)]
added a bit error checking
Heng Li [Sat, 29 Nov 2014 16:48:11 +0000 (11:48 -0500)]
A light-weight JSON parser
Heng Li [Sat, 29 Nov 2014 02:04:38 +0000 (21:04 -0500)]
give kh_##name##_t a struct name
Heng Li [Fri, 28 Nov 2014 16:49:11 +0000 (11:49 -0500)]
default to following redirect & no SSL certificate
Heng Li [Thu, 13 Nov 2014 15:38:57 +0000 (10:38 -0500)]
Merge pull request #39 from jmarshall/kseq-eof
Fix ks_getuntil2() extra empty record at EOF bug
John Marshall [Thu, 13 Nov 2014 14:28:46 +0000 (14:28 +0000)]
Fix ks_getuntil2() extra empty record at EOF bug
When the stream is an exact multiple of the buffer size, ks_getuntil2()
was returning a final empty record when it should have returned -1.
Fixed by moving the "EOF => return -1" check to after the read loop.
(See samtools/samtools#318 for an example of an error caused by a
spurious empty line at the end of a SAM file.)
John Marshall [Thu, 13 Nov 2014 11:57:56 +0000 (11:57 +0000)]
Heng Li [Mon, 10 Nov 2014 21:05:06 +0000 (16:05 -0500)]
Merge branch 'master' of github.com:attractivechaos/klib
Heng Li [Mon, 10 Nov 2014 21:04:13 +0000 (16:04 -0500)]
bug with incomplete read() call
See also issue #43 of seqtk
Heng Li [Mon, 13 Oct 2014 20:41:25 +0000 (16:41 -0400)]
Merge pull request #38 from immerrr/enable-inline-macro-overrides
Enable overriding kh_inline from user code
immerrr [Mon, 13 Oct 2014 17:25:24 +0000 (21:25 +0400)]
Enable overriding kh_inline from user code
Heng Li [Sun, 21 Sep 2014 23:05:45 +0000 (19:05 -0400)]
Merge pull request #28 from piki/fix-new_flags-leak
fix the leak that happens if krealloc fails
Heng Li [Wed, 9 Apr 2014 13:40:35 +0000 (09:40 -0400)]
Merge pull request #31 from jmarshall/warnings
Silence -Wstrict-prototypes and static analyser warnings in klist.h
John Marshall [Wed, 9 Apr 2014 12:40:34 +0000 (13:40 +0100)]
Silence -Wstrict-prototypes and static analyser warnings
Using "(void)" provides an explicit there-are-no-arguments prototype.
Using the exact type in "malloc(...sizeof)" is clearer and silences
warnings from clang's static analyzer.
Patrick Reynolds [Sun, 9 Feb 2014 08:24:08 +0000 (02:24 -0600)]
fix the leak that happens if krealloc fails
Heng Li [Sat, 7 Dec 2013 14:28:32 +0000 (09:28 -0500)]
Merge branch 'master' of github.com:attractivechaos/klib
Heng Li [Sat, 7 Dec 2013 14:27:50 +0000 (09:27 -0500)]
don't seek when opening
If the input is a stream, it will always fail.
Heng Li [Sun, 1 Dec 2013 17:27:44 +0000 (09:27 -0800)]
Merge pull request #26 from zhanxw/patch-1
Update ksort.h
zhanxw [Sat, 30 Nov 2013 04:37:10 +0000 (23:37 -0500)]
Update ksort.h
From my personal communication, I got this suggestion:
using inline incorrectly: see the C99 standard ยง6.7.4. Please change to static inline (and report upstream). This also caused some clang compilation problem.
Heng Li [Sun, 24 Nov 2013 19:59:37 +0000 (14:59 -0500)]
fixed a bug in seek
Heng Li [Thu, 21 Nov 2013 18:13:57 +0000 (13:13 -0500)]
added a note about S3
Heng Li [Thu, 21 Nov 2013 17:51:44 +0000 (12:51 -0500)]
added HMAC-SHA1 to drop the openssl dependency
Heng Li [Thu, 21 Nov 2013 05:22:33 +0000 (00:22 -0500)]
allow to feed change key/secret/id-file
Heng Li [Thu, 21 Nov 2013 05:13:05 +0000 (00:13 -0500)]
support the s3:// protocol
Heng Li [Wed, 20 Nov 2013 19:32:49 +0000 (14:32 -0500)]
halve the buffer size
Heng Li [Wed, 20 Nov 2013 19:18:19 +0000 (14:18 -0500)]
use fixed-length buffer with pause()
Heng Li [Wed, 20 Nov 2013 16:23:02 +0000 (11:23 -0500)]
ignore signal
Heng Li [Tue, 19 Nov 2013 03:07:40 +0000 (22:07 -0500)]
need to grow buffer
One multi_perform() frequently invokes multiple write_cb(). We have to use a
dynamic buffer. Hmm.. I really do not like the curl APIs, although I understand
why they are designed this way.
Heng Li [Tue, 19 Nov 2013 02:35:23 +0000 (21:35 -0500)]
wrong dopen() interface
Heng Li [Tue, 19 Nov 2013 02:04:58 +0000 (21:04 -0500)]
forgot ";"