summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEnno Boland <g@s01.de>2013-06-23 02:19:28 -0700
committerEnno Boland <g@s01.de>2013-06-23 02:19:28 -0700
commit2c7b9d2ec0e1858ba6e5fcc2dfabd229bc914d04 (patch)
treee5e34a8b8c3716affb17095ef29a9e7dac597056
parent1b0c0b16d11ec50ae1c7c3355634c06ee53047d5 (diff)
parentb8bb25f4a7a08c5cecb21abab3835b25a079c7ec (diff)
Merge pull request #1 from mrdomino/master
Fix escaping with surrounds
-rw-r--r--smu.c6
-rw-r--r--testdoc4
2 files changed, 8 insertions, 2 deletions
diff --git a/smu.c b/smu.c
index 641303a..30b57ea 100644
--- a/smu.c
+++ b/smu.c
@@ -449,10 +449,12 @@ dosurround(const char *begin, const char *end, int newblock) {
start = begin + l;
p = start - 1;
do {
+ stop = p;
p = strstr(p + 1, surround[i].search);
} while(p && p[-1] == '\\');
- if(!p || p >= end ||
- !(stop = strstr(start, surround[i].search)) || stop >= end)
+ if (p && p[-1] != '\\')
+ stop = p;
+ if(!stop || stop < start || stop >= end)
continue;
fputs(surround[i].before, stdout);
if(surround[i].process)
diff --git a/testdoc b/testdoc
index 6316281..014c05b 100644
--- a/testdoc
+++ b/testdoc
@@ -7,6 +7,10 @@ simple tests
first paragraph.
testing surround: _emph_ then **strong** and `code`.
+`\`escaped backticks\``.
+
+`x = *y * 6;`
+
horizontal rule:
- - -