static HTMLState html_read_line(HTMLParser *parser) { gchar buf[HTMLBUFSIZE]; gchar *conv_str; gint index; if (fgets(buf, sizeof(buf), parser->fp) == NULL) { parser->state = HTML_EOF; return HTML_EOF; } conv_str = conv_convert(parser->conv, buf); if (!conv_str) { index = parser->bufp - parser->buf->str; conv_str = conv_utf8todisp(buf, NULL); g_string_append(parser->buf, conv_str); g_free(conv_str); parser->bufp = parser->buf->str + index; return HTML_CONV_FAILED; } index = parser->bufp - parser->buf->str; g_string_append(parser->buf, conv_str); g_free(conv_str); parser->bufp = parser->buf->str + index; return HTML_NORMAL; }
static ERTFState ertf_read_line(ERTFParser *parser) { gchar buf[ERTFBUFSIZE]; gchar buf2[ERTFBUFSIZE]; gint index; if (fgets(buf, sizeof(buf), parser->fp) == NULL) { parser->state = ERTF_EOF; return ERTF_EOF; } if (conv_convert(parser->conv, buf2, sizeof(buf2), buf) < 0) { g_warning("ertf_read_line(): code conversion failed\n"); index = parser->bufp - parser->buf->str; g_string_append(parser->buf, buf); parser->bufp = parser->buf->str + index; return ERTF_ERR; } index = parser->bufp - parser->buf->str; g_string_append(parser->buf, buf2); parser->bufp = parser->buf->str + index; return ERTF_NORMAL; }
static SC_HTMLState sc_html_read_line(SC_HTMLParser *parser) { gchar buf[SC_HTMLBUFSIZE]; gchar buf2[SC_HTMLBUFSIZE]; gint index; if (parser->fp == NULL) return SC_HTML_EOF; if (fgets(buf, sizeof(buf), parser->fp) == NULL) { parser->state = SC_HTML_EOF; return SC_HTML_EOF; } if (conv_convert(parser->conv, buf2, sizeof(buf2), buf) < 0) { index = parser->bufp - parser->buf->str; conv_utf8todisp(buf2, sizeof(buf2), buf); g_string_append(parser->buf, buf2); parser->bufp = parser->buf->str + index; return SC_HTML_CONV_FAILED; } index = parser->bufp - parser->buf->str; g_string_append(parser->buf, buf2); parser->bufp = parser->buf->str + index; return SC_HTML_NORMAL; }
static SC_HTMLState sc_html_read_line(SC_HTMLParser *parser) { gchar buf[SC_HTMLBUFSIZE]; gchar buf2[SC_HTMLBUFSIZE*4]; gint index; gint n; if (parser->fp == NULL) return SC_HTML_EOF; n = claws_fread(buf, 1, sizeof(buf) - 1, parser->fp); if (n == 0) { parser->state = SC_HTML_EOF; return SC_HTML_EOF; } else buf[n] = '\0'; if (conv_convert(parser->conv, buf2, sizeof(buf2), buf) < 0) { index = parser->bufp - parser->buf->str; conv_utf8todisp(buf2, sizeof(buf2), buf); g_string_append(parser->buf, buf2); parser->bufp = parser->buf->str + index; return SC_HTML_CONV_FAILED; } index = parser->bufp - parser->buf->str; g_string_append(parser->buf, buf2); parser->bufp = parser->buf->str + index; return SC_HTML_NORMAL; }