if (parser->fp == NULL)
return SC_HTML_EOF;
- n = fread(buf, 1, sizeof(buf), parser->fp);
+ n = fread(buf, 1, sizeof(buf) - 1, parser->fp);
if (n == 0) {
parser->state = SC_HTML_EOF;
return SC_HTML_EOF;
tmpp++;
attr_value = tmpp;
if ((p = strchr(attr_value, quote)) == NULL) {
- g_warning("sc_html_get_tag(): syntax error in tag: '%s'\n", str);
+ g_warning("sc_html_get_tag(): syntax error in tag: '%s'", str);
return tag;
}
tmpp = p;
parser->state = SC_HTML_UNKNOWN;
if (!tag) return SC_HTML_UNKNOWN;
- if (!strcmp(tag->name, "br")) {
+ if (!strcmp(tag->name, "br") || !strcmp(tag->name, "br/")) {
parser->space = FALSE;
sc_html_append_char(parser, '\n');
parser->state = SC_HTML_BR;
break;
}
}
+ parser->state = SC_HTML_HREF_BEG;
} else if (!strcmp(tag->name, "/a")) {
parser->state = SC_HTML_HREF;
} else if (!strcmp(tag->name, "p")) {