/* $Id: checkdir.c,v 1.2 2004/12/07 01:34:28 Starfish Exp $ */ #include "bbs.h" void dumpfh(fileheader_t fh) { char *c; printf("dumping fh\n"); for( c= (char*)&fh; (c-(char*)&fh)2) fo=fopen(argv[2],"w"); for(count=0; fread(&fh, sizeof(fh), 1, fp) >0; count++) { if(fh.owner[0]=='M' && fh.owner[1]=='.') { count--; fseek(fp,FNLEN+1-sizeof(fh),SEEK_CUR); printf("%d,offset forth!---dump\n", count); dumpfh(pfh); dumpfh(fh); offset=1; continue; } if(fh.filename[1]!='.' && offset==1) { fseek(fp,-FNLEN-1-sizeof(fh),SEEK_CUR); printf("%d,offset back!\n", count); offset=0; continue; } if(fh.filename[0]==0 || fh.owner[0]==0 || fh.owner[0]=='-') { if(fh.filename[0]==0) unlink(fh.filename); continue; } pfh=fh; if(fo) fwrite(&fh, sizeof(fh), 1, fo); } fclose(fp); if(fo) fclose(fo); return 0; }