* rules.
* Copyright (C) 2014 Michael Goehler
*
- * This file is part of mpd.
+ * This file is part of mdp.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
deck_t *deck = new_deck();
slide_t *slide = new_slide();
- line_t *line;
+ line_t *line = NULL;
+ line_t *tmp = NULL;
cstring_t *text = cstring_init();
// assign first slide to deck
// markdown analyse
bits = markdown_analyse(text);
+ // if first line in file is markdown hr
+ if(!line && CHECK_BIT(bits, IS_HR)) {
+
+ // clear text
+ (text->reset)(text);
+
// if text is markdown hr
- if(CHECK_BIT(bits, IS_HR) &&
- CHECK_BIT(line->bits, IS_EMPTY)) {
+ } else if(CHECK_BIT(bits, IS_HR) &&
+ CHECK_BIT(line->bits, IS_EMPTY)) {
slide->lines = lc;
}
- } else if(isprint(c) || isspace(c)) {
+ } else if(isprint(c) || isspace((unsigned char) c)) {
// add char to line
(text->expand)(text, c);
if(line->next)
line->next->prev = line->prev;
- // set bits on revious line
+ // set bits on previous line
if(CHECK_BIT(line->bits, IS_H1)) {
SET_BIT(line->prev->bits, IS_H1);
} else {
// adjust line count
slide->lines -= 1;
+ // maintain loop condition
+ tmp = line;
+ line = line->prev;
+
// delete line
- (line->text->delete)(line->text);
- free(line);
+ (tmp->text->delete)(tmp->text);
+ free(tmp);
}
line = line->next;
}
offset = next_nonblank(text, 0);
// strip trailing spaces
- for(eol = text->size; eol > offset && isspace(text->text[eol - 1]); eol--);
+ for(eol = text->size; eol > offset && isspace((unsigned char) text->text[eol - 1]); eol--);
// IS_CODE
if(offset >= CODE_INDENT) {
}
int next_nonblank(cstring_t *text, int i) {
- while ((i < text->size) && isspace((text->text)[i]))
+ while ((i < text->size) && isspace((unsigned char) (text->text)[i]))
++i;
return i;
}
int next_blank(cstring_t *text, int i) {
- while ((i < text->size) && !isspace((text->text)[i]))
+ while ((i < text->size) && !isspace((unsigned char) (text->text)[i]))
++i;
return i;