diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-06-09 02:55:57 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-06-09 02:55:57 -0400 |
commit | f96805e2322e061e088bb5725f8e1ee6006167f8 (patch) | |
tree | 888f20f86c77769e179ef5ba592cdcb4ed15910c /src/basic/strbuf.c | |
parent | acd190019d99fe25abf4515ca1834eb277161833 (diff) | |
parent | f6e7ffdf3fe8e3ed5e659f747946461350ade5a8 (diff) |
Merge branch 'parabola' into lukeshu/premove
# Conflicts:
# Makefile.am
Diffstat (limited to 'src/basic/strbuf.c')
-rw-r--r-- | src/basic/strbuf.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/basic/strbuf.c b/src/basic/strbuf.c index 77220c0251..4bef87d3c2 100644 --- a/src/basic/strbuf.c +++ b/src/basic/strbuf.c @@ -121,7 +121,7 @@ static void bubbleinsert(struct strbuf_node *node, sizeof(struct strbuf_child_entry) * (node->children_count - left)); node->children[left] = new; - node->children_count ++; + node->children_count++; } /* add string, return the index/offset into the buffer */ @@ -156,8 +156,13 @@ ssize_t strbuf_add_string(struct strbuf *str, const char *s, size_t len) { return off; } - /* lookup child node */ c = s[len - 1 - depth]; + + /* bsearch is not allowed on a NULL sequence */ + if (node->children_count == 0) + break; + + /* lookup child node */ search.c = c; child = bsearch(&search, node->children, node->children_count, sizeof(struct strbuf_child_entry), |