Esempio n. 1
0
void test_regex( std::ostream & f ){
	f << get_valid() << "\n"
			<< get_wiki() << "\n"
			<< get_parent_begin() << "\n"
			<< get_parent_end() << "\n"
			<< get_tag_begin() << "\n"
			<< get_tag_end() << "\n"
			<< get_allow_link() << "\n"
			<< get_allow_global() << "\n"
			<< get_table_key_begin() << "\n"
			<< get_table_end() << "\n"
			<< get_key_value() << "\n"
			<< get_allow_type() << "\n"
			<< std::endl;
}
Esempio n. 2
0
int getInfodDebugInfo(char *str, infod_debug_info_t *idbg)
{
    char     *ptr;

    if(!str || !idbg)
        return 0;

    ptr = str;

    char   rootTag[128];
    char   tagContent[128];
    char   attrName[128];
    char   attrVal[128];
    int    end;
    int    closeTag;
    int    shortTag;

    ptr = get_tag_start(ptr, rootTag, &closeTag);
    if(!ptr) return 0;
    if(closeTag) return 0;
    if(strcmp(rootTag, ROOT_TAG) != 0)
        return 0;

    do {
        ptr = get_tag_attr(ptr, attrName, attrVal, &end);
        if(!ptr)
            return 0;

        add_idbg_attr(idbg, attrName, attrVal);

    } while(end == 0);

    ptr = get_tag_end(ptr,& shortTag);
    if(!ptr) return 0;

    // Getting the content of the tag
    ptr = get_upto_tag_start(ptr, tagContent);
    if(!ptr) return 0;

    int val;
    char *endptr;

    val = strtol(tagContent, &endptr, 10);
    if(val == 0 && *endptr != '\0')
        return 0;
    if(val < 0)
        return 0;

    idbg->uptimeSec = val;

    // Getting the end tag
    ptr = get_tag_start(ptr, rootTag, &closeTag);
    if(!ptr) return 0;
    if(strcmp(rootTag, ROOT_TAG) != 0)
        return 0;
    if(!closeTag) return 0;
    ptr = get_tag_end(ptr,& shortTag);
    if(!ptr)
        return 0;
    return 1;

}