#include #include #include #include enum html_reads html_read(FILE *f, char *p, int len) { int i=0; if(f==NULL||p==NULL)return(HTML_ERROR); while(1){ if(i==len-1)break; p[i]=getc(f); if(feof(f))break; if(p[i]=='\0')break; if(p[0]==HTML_TAG_BEGIN){ if(p[i]==HTML_TAG_END){ if(i<=4||strncmp(p,"",3))){ i++; break; } } } else{ if(p[i]==HTML_TAG_BEGIN){ ungetc(p[i],f); break; } } i++; } if(!i){ /* free(p); */ return(HTML_EOF); } else{ p[i]='\0'; return(p[0]==HTML_TAG_BEGIN?HTML_TAG:HTML_TEXT); } }