diff --git a/src/articles_p/process_md.c b/src/articles_p/process_md.c
index 42c47bf..52cc9f6 100644
--- a/src/articles_p/process_md.c
+++ b/src/articles_p/process_md.c
@@ -217,41 +217,40 @@ int process_md(article_info article, char **out)
while (buff[i + 2 + n] != ']')
n++;
- if (buff[i + 2 + n + 1] != '(')
- continue;
+ if (buff[i + 2 + n + 1] == '(') {
+ int k = 0;
+ while (buff[i + 2 + n + 2 + k] != ')')
+ k++;
- int k = 0;
- while (buff[i + 2 + n + 2 + k] != ')')
- k++;
+ char *internal_text = malloc(n + 1);
+ memcpy(internal_text, buff + i + 2, n);
+ internal_text[n] = '\0';
- char *internal_text = malloc(n + 1);
- memcpy(internal_text, buff + i + 2, n);
- internal_text[n] = '\0';
+ char *src = malloc(k + 1);
+ memcpy(src, buff + i + 2 + n + 2, k);
+ src[k] = '\0';
- char *src = malloc(k + 1);
- memcpy(src, buff + i + 2 + n + 2, k);
- src[k] = '\0';
+ size_t append_line_length = snprintf(NULL, 0, "
", src, src, internal_text) + 1;
+ char *append = malloc(append_line_length);
+ char *tmp_out = realloc(*out, strlen(*out) + append_line_length);
+ if (append == NULL || tmp_out == NULL)
+ {
+ perror("Couldn't allocate memory for new element");
+ continue;
+ }
+ *out = tmp_out;
+
+ snprintf(append, append_line_length, "
", src, src, internal_text);
+ strcat(*out, append);
+
+ i += 2 + n + 2 + k;
+
+ free(append);
+ free(src);
+ free(internal_text);
- size_t append_line_length = snprintf(NULL, 0, "
", src, src, internal_text) + 1;
- char *append = malloc(append_line_length);
- char *tmp_out = realloc(*out, strlen(*out) + append_line_length);
- if (append == NULL || tmp_out == NULL)
- {
- perror("Couldn't allocate memory for new element");
continue;
}
- *out = tmp_out;
-
- snprintf(append, append_line_length, "
", src, src, internal_text);
- strcat(*out, append);
-
- i += 2 + n + 2 + k;
-
- free(append);
- free(src);
- free(internal_text);
-
- continue;
}
if (buff[i] == '[')
@@ -260,41 +259,40 @@ int process_md(article_info article, char **out)
while (buff[i + 1 + n] != ']')
n++;
- if (buff[i + 1 + n + 1] != '(')
- continue;
+ if (buff[i + 1 + n + 1] == '(') {
+ int k = 0;
+ while (buff[i + 1 + n + 2 + k] != ')')
+ k++;
- int k = 0;
- while (buff[i + 1 + n + 2 + k] != ')')
- k++;
+ char *internal_text = malloc(n + 1);
+ memcpy(internal_text, buff + i + 1, n);
+ internal_text[n] = '\0';
- char *internal_text = malloc(n + 1);
- memcpy(internal_text, buff + i + 1, n);
- internal_text[n] = '\0';
+ char *href = malloc(k + 1);
+ memcpy(href, buff + i + 1 + n + 2, k);
+ href[k] = '\0';
- char *href = malloc(k + 1);
- memcpy(href, buff + i + 1 + n + 2, k);
- href[k] = '\0';
+ size_t append_line_length = snprintf(NULL, 0, "%s", href, internal_text) + 1;
+ char *append = malloc(append_line_length);
+ char *tmp_out = realloc(*out, strlen(*out) + append_line_length);
+ if (append == NULL || tmp_out == NULL)
+ {
+ perror("Couldn't allocate memory for new element");
+ continue;
+ }
+ *out = tmp_out;
+
+ snprintf(append, append_line_length, "%s", href, internal_text);
+ strcat(*out, append);
+
+ i += 1 + n + 2 + k;
+
+ free(append);
+ free(href);
+ free(internal_text);
- size_t append_line_length = snprintf(NULL, 0, "%s", href, internal_text) + 1;
- char *append = malloc(append_line_length);
- char *tmp_out = realloc(*out, strlen(*out) + append_line_length);
- if (append == NULL || tmp_out == NULL)
- {
- perror("Couldn't allocate memory for new element");
continue;
}
- *out = tmp_out;
-
- snprintf(append, append_line_length, "%s", href, internal_text);
- strcat(*out, append);
-
- i += 1 + n + 2 + k;
-
- free(append);
- free(href);
- free(internal_text);
-
- continue;
}
size_t len = strlen(*out);