diff options
author | Yuki Izumi <kivikakk@github.com> | 2016-11-05 09:04:48 +1100 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2016-11-04 23:04:48 +0100 |
commit | 64e1394ae76409f02b00c254f119a64a2d1ce11e (patch) | |
tree | 4ad30178f0a166666dce869ea5efeb3537cbd61e /src/houdini_html_u.c | |
parent | 14fe768690b3948c7c1f67f463eb4620fc5746c9 (diff) |
Fix for non-matching entities (#161)
* Add test to illustrate issue
* Provide some test fixes
* Don't neglect CounterClockwiseContourIntegral
* Fix ~10% of cases not matching
strncmp returns 0 if the first 'len' bytes of cmark_entities[i].entity
match s; we check equal length in the first if by checking if
cmark_entities[i].entity[len] == 0, but we neglect the case where cmp ==
0 && cmark_entities[i].entity[len] != 0. This should be treated as the
same as cmp < 0, because strcmp("abc", "abcd") < 0.
* Don't depend on py3.3 in tests
Diffstat (limited to 'src/houdini_html_u.c')
-rw-r--r-- | src/houdini_html_u.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/houdini_html_u.c b/src/houdini_html_u.c index 6e8d620..30d08aa 100644 --- a/src/houdini_html_u.c +++ b/src/houdini_html_u.c @@ -16,7 +16,7 @@ static const unsigned char *S_lookup(int i, int low, int hi, strncmp((const char *)s, (const char *)cmark_entities[i].entity, len); if (cmp == 0 && cmark_entities[i].entity[len] == 0) { return (const unsigned char *)cmark_entities[i].bytes; - } else if (cmp < 0 && i > low) { + } else if (cmp <= 0 && i > low) { j = i - ((i - low) / 2); if (j == i) j -= 1; |