예제 #1
0
XMLState *xml_begin(CSSStyleSheet *style_sheet, int flags,
                    CSSAbortFunc *abort_func, void *abort_opaque, 
                    const char *filename, QECharset *charset)
{
    XMLState *s;
    
    s = malloc(sizeof(XMLState));
    if (!s)
        return NULL;
    memset(s, 0, sizeof(*s));
    s->flags = flags;
    s->is_html = flags & XML_HTML;
    s->html_syntax = flags & XML_HTML_SYNTAX;
    s->ignore_case = flags & XML_IGNORE_CASE;
    s->state = XML_STATE_TEXT;
    s->box = NULL;
    s->style_sheet = style_sheet;
    strbuf_init(&s->str);
    s->abort_func = abort_func;
    s->abort_opaque = abort_opaque;
    s->base_font = 3;
    s->line_num = 1;
    pstrcpy(s->filename, sizeof(s->filename), filename);
    s->charset = charset;
    if (charset) {
        charset_decode_init(&s->charset_state, charset);
    }
    return s;
}
예제 #2
0
파일: buffer.c 프로젝트: TheRohans/qi
void eb_set_charset(EditBuffer *b, QECharset *charset)
{
    if (b->charset) {
        charset_decode_close(&b->charset_state);
    }
    b->charset = charset;
    charset_decode_init(&b->charset_state, charset);
}