X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=parser.c;h=ec341abb1d8c0af9fffcc7576320dd14a173953b;hb=ecc66f8a935eb4a3188b5336170182e34812fd40;hp=33466347ed89bb85cd726d4883cf93dc03557619;hpb=f92a7609f7b4a6c72a892b16d371528213eca283;p=smdp.git diff --git a/parser.c b/parser.c index 3346634..ec341ab 100644 --- a/parser.c +++ b/parser.c @@ -1,3 +1,26 @@ +/* + * Functions necessary to parse a file and transform its content into + * a deck of slides containing lines. All based on markdown formating + * rules. + * Copyright (C) 2014 Michael Goehler + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + #include #include #include @@ -110,7 +133,7 @@ deck_t *markdown_load(FILE *input) { } - } else if(isprint(c) || isspace(c)) { + } else if(isprint(c) || isspace((unsigned char) c)) { // add char to line (text->expand)(text, c); @@ -212,7 +235,7 @@ int markdown_analyse(cstring_t *text) { 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) { @@ -357,14 +380,14 @@ int length_utf8(char ch) { } 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;