pinosaur
/
smdp.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into issue#16
[smdp.git]
/
src
/
parser.c
diff --git
a/src/parser.c
b/src/parser.c
index
a573106
..
c8120cd
100644
(file)
--- a/
src/parser.c
+++ b/
src/parser.c
@@
-302,11
+302,12
@@
int markdown_analyse(cstring_t *text) {
// strip trailing spaces
for(eol = text->size; eol > offset && isspace((unsigned char) text->text[eol - 1]); eol--);
// strip trailing spaces
for(eol = text->size; eol > offset && isspace((unsigned char) text->text[eol - 1]); eol--);
+ // IS_UNORDERED_LIST_#
if(text->size >= offset + 2 &&
(text->text[offset] == '*' || text->text[offset] == '-') &&
text->text[offset + 1] == ' ') {
if(text->size >= offset + 2 &&
(text->text[offset] == '*' || text->text[offset] == '-') &&
text->text[offset + 1] == ' ') {
- for(i = offset; i<eol; i++)
+ for(i = offset; i<eol; i++)
{
if(text->text[i] != '*' &&
text->text[i] != '-' &&
text->text[i] != ' ') {
if(text->text[i] != '*' &&
text->text[i] != '-' &&
text->text[i] != ' ') {
@@
-328,7
+329,7
@@
int markdown_analyse(cstring_t *text) {
if(unordered_list_level == 0) {
unordered_list_level = 1;
unordered_list_level_offset[1] = offset;
if(unordered_list_level == 0) {
unordered_list_level = 1;
unordered_list_level_offset[1] = offset;
-
}
+ }
switch(unordered_list_level) {
case 1: SET_BIT(bits, IS_UNORDERED_LIST_1); break;
switch(unordered_list_level) {
case 1: SET_BIT(bits, IS_UNORDERED_LIST_1); break;
@@
-339,6
+340,7
@@
int markdown_analyse(cstring_t *text) {
break;
}
break;
}
+ }
}
if(!CHECK_BIT(bits, IS_UNORDERED_LIST_1) &&
}
if(!CHECK_BIT(bits, IS_UNORDERED_LIST_1) &&
@@
-347,9
+349,10
@@
int markdown_analyse(cstring_t *text) {
unordered_list_level = 0;
unordered_list_level = 0;
+ // IS_CODE
if(offset >= CODE_INDENT) {
if(offset >= CODE_INDENT) {
- // IS_CODE
SET_BIT(bits, IS_CODE);
SET_BIT(bits, IS_CODE);
+
} else {
for(i = offset; i < eol; i++) {
} else {
for(i = offset; i < eol; i++) {
@@
-498,6
+501,13
@@
int next_nonblank(cstring_t *text, int i) {
return i;
}
return i;
}
+int prev_blank(cstring_t *text, int i) {
+ while ((i > 0) && !isspace((unsigned char) (text->text)[i]))
+ i--;
+
+ return i;
+}
+
int next_blank(cstring_t *text, int i) {
while ((i < text->size) && !isspace((unsigned char) (text->text)[i]))
i++;
int next_blank(cstring_t *text, int i) {
while ((i < text->size) && !isspace((unsigned char) (text->text)[i]))
i++;