Fossil SCM
Correctly handle block HTML in markdown if the end tag occurs at the very end of the input without even a new-line.
Commit
a06f3379f0e324038e28a94d9f6356c4c41bfd284b369e7b800fc0a2819b2655
Parent
b6cc6f680f49bdd…
1 file changed
+2
-2
+2
-2
| --- src/markdown.c | ||
| +++ src/markdown.c | ||
| @@ -1697,11 +1697,11 @@ | ||
| 1697 | 1697 | size_t i, w; |
| 1698 | 1698 | |
| 1699 | 1699 | /* assuming data[0]=='<' && data[1]=='/' already tested */ |
| 1700 | 1700 | |
| 1701 | 1701 | /* checking tag is a match */ |
| 1702 | - if( (tag->size+3)>=size | |
| 1702 | + if( (tag->size+3)>size | |
| 1703 | 1703 | || fossil_strnicmp(data+2, tag->text, tag->size) |
| 1704 | 1704 | || data[tag->size+2]!='>' |
| 1705 | 1705 | ){ |
| 1706 | 1706 | return 0; |
| 1707 | 1707 | } |
| @@ -1790,11 +1790,11 @@ | ||
| 1790 | 1790 | i = 1; |
| 1791 | 1791 | found = 0; |
| 1792 | 1792 | while( i<size ){ |
| 1793 | 1793 | i++; |
| 1794 | 1794 | while( i<size && !(data[i-1]=='<' && data[i]=='/') ){ i++; } |
| 1795 | - if( (i+2+curtag->size)>=size ) break; | |
| 1795 | + if( (i+2+curtag->size)>size ) break; | |
| 1796 | 1796 | j = htmlblock_end(curtag, data+i-1, size-i+1); |
| 1797 | 1797 | if (j) { |
| 1798 | 1798 | i += j-1; |
| 1799 | 1799 | found = 1; |
| 1800 | 1800 | break; |
| 1801 | 1801 |
| --- src/markdown.c | |
| +++ src/markdown.c | |
| @@ -1697,11 +1697,11 @@ | |
| 1697 | size_t i, w; |
| 1698 | |
| 1699 | /* assuming data[0]=='<' && data[1]=='/' already tested */ |
| 1700 | |
| 1701 | /* checking tag is a match */ |
| 1702 | if( (tag->size+3)>=size |
| 1703 | || fossil_strnicmp(data+2, tag->text, tag->size) |
| 1704 | || data[tag->size+2]!='>' |
| 1705 | ){ |
| 1706 | return 0; |
| 1707 | } |
| @@ -1790,11 +1790,11 @@ | |
| 1790 | i = 1; |
| 1791 | found = 0; |
| 1792 | while( i<size ){ |
| 1793 | i++; |
| 1794 | while( i<size && !(data[i-1]=='<' && data[i]=='/') ){ i++; } |
| 1795 | if( (i+2+curtag->size)>=size ) break; |
| 1796 | j = htmlblock_end(curtag, data+i-1, size-i+1); |
| 1797 | if (j) { |
| 1798 | i += j-1; |
| 1799 | found = 1; |
| 1800 | break; |
| 1801 |
| --- src/markdown.c | |
| +++ src/markdown.c | |
| @@ -1697,11 +1697,11 @@ | |
| 1697 | size_t i, w; |
| 1698 | |
| 1699 | /* assuming data[0]=='<' && data[1]=='/' already tested */ |
| 1700 | |
| 1701 | /* checking tag is a match */ |
| 1702 | if( (tag->size+3)>size |
| 1703 | || fossil_strnicmp(data+2, tag->text, tag->size) |
| 1704 | || data[tag->size+2]!='>' |
| 1705 | ){ |
| 1706 | return 0; |
| 1707 | } |
| @@ -1790,11 +1790,11 @@ | |
| 1790 | i = 1; |
| 1791 | found = 0; |
| 1792 | while( i<size ){ |
| 1793 | i++; |
| 1794 | while( i<size && !(data[i-1]=='<' && data[i]=='/') ){ i++; } |
| 1795 | if( (i+2+curtag->size)>size ) break; |
| 1796 | j = htmlblock_end(curtag, data+i-1, size-i+1); |
| 1797 | if (j) { |
| 1798 | i += j-1; |
| 1799 | found = 1; |
| 1800 | break; |
| 1801 |