aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRafael G. Martins <rafael@rafaelmartins.eng.br>2016-02-13 01:02:12 +0100
committerRafael G. Martins <rafael@rafaelmartins.eng.br>2016-02-13 01:02:12 +0100
commitf63fb03b25b33d5c2ef5ef0eaad016b4ee4aee65 (patch)
treedce906c3cce2e564e2f2b218478bfc7dd5047c99 /src
parent542a6d37c5b7675f1c80dcc47a5413ffa76a425b (diff)
downloadblogc-f63fb03b25b33d5c2ef5ef0eaad016b4ee4aee65.tar.gz
blogc-f63fb03b25b33d5c2ef5ef0eaad016b4ee4aee65.tar.bz2
blogc-f63fb03b25b33d5c2ef5ef0eaad016b4ee4aee65.zip
content-parser: fixed bug that parsed text with '!' + link as image
Diffstat (limited to 'src')
-rw-r--r--src/content-parser.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/content-parser.c b/src/content-parser.c
index ccb96ef..a334d28 100644
--- a/src/content-parser.c
+++ b/src/content-parser.c
@@ -231,11 +231,15 @@ blogc_content_parse_inline(const char *src)
break;
case '!':
- if (state == LINK_CLOSED && (open_code || open_code_double)) {
- b_string_append_c(rv, c);
- break;
- }
if (state == LINK_CLOSED) {
+ if (open_code || open_code_double) {
+ b_string_append_c(rv, c);
+ break;
+ }
+ if (!is_last && src[current + 1] != '[') {
+ b_string_append_c(rv, c);
+ break;
+ }
state = LINK_IMAGE;
is_image = true;
start_state = current;