Fossil SCM
(cherry-pick): Fix by Natacha Porté for delimiter escape bug discovered by Mark Janssen. (fossil-users list)
Commit
1c23cca8c9c0acefdcb0ab5ccceda0294296d012a36b8b2e12a1d5dbbcea927b
Parent
7be745f306cb63d…
1 file changed
+2
-1
+2
-1
| --- src/markdown.c | ||
| +++ src/markdown.c | ||
| @@ -459,17 +459,18 @@ | ||
| 459 | 459 | size_t i = 1; |
| 460 | 460 | |
| 461 | 461 | while( i<size ){ |
| 462 | 462 | while( i<size && data[i]!=c && data[i]!='`' && data[i]!='[' ){ i++; } |
| 463 | 463 | if( i>=size ) return 0; |
| 464 | - if( data[i]==c ) return i; | |
| 465 | 464 | |
| 466 | 465 | /* not counting escaped chars */ |
| 467 | 466 | if( i && data[i-1]=='\\' ){ |
| 468 | 467 | i++; |
| 469 | 468 | continue; |
| 470 | 469 | } |
| 470 | + | |
| 471 | + if( data[i]==c ) return i; | |
| 471 | 472 | |
| 472 | 473 | /* skipping a code span */ |
| 473 | 474 | if( data[i]=='`' ){ |
| 474 | 475 | size_t span_nb = 0, bt; |
| 475 | 476 | size_t tmp_i = 0; |
| 476 | 477 |
| --- src/markdown.c | |
| +++ src/markdown.c | |
| @@ -459,17 +459,18 @@ | |
| 459 | size_t i = 1; |
| 460 | |
| 461 | while( i<size ){ |
| 462 | while( i<size && data[i]!=c && data[i]!='`' && data[i]!='[' ){ i++; } |
| 463 | if( i>=size ) return 0; |
| 464 | if( data[i]==c ) return i; |
| 465 | |
| 466 | /* not counting escaped chars */ |
| 467 | if( i && data[i-1]=='\\' ){ |
| 468 | i++; |
| 469 | continue; |
| 470 | } |
| 471 | |
| 472 | /* skipping a code span */ |
| 473 | if( data[i]=='`' ){ |
| 474 | size_t span_nb = 0, bt; |
| 475 | size_t tmp_i = 0; |
| 476 |
| --- src/markdown.c | |
| +++ src/markdown.c | |
| @@ -459,17 +459,18 @@ | |
| 459 | size_t i = 1; |
| 460 | |
| 461 | while( i<size ){ |
| 462 | while( i<size && data[i]!=c && data[i]!='`' && data[i]!='[' ){ i++; } |
| 463 | if( i>=size ) return 0; |
| 464 | |
| 465 | /* not counting escaped chars */ |
| 466 | if( i && data[i-1]=='\\' ){ |
| 467 | i++; |
| 468 | continue; |
| 469 | } |
| 470 | |
| 471 | if( data[i]==c ) return i; |
| 472 | |
| 473 | /* skipping a code span */ |
| 474 | if( data[i]=='`' ){ |
| 475 | size_t span_nb = 0, bt; |
| 476 | size_t tmp_i = 0; |
| 477 |