/* findadd.c */ #include <stdio.h> #define YES 1 #define NO 0 #define URL "http://themes.netfx-2000.net/images/shots/wmaker/" /* Grobal */ FILE *out, *out2; char data[2000], keyword[180], getword[180], old[200][80]; int sum; main() { FILE *inp; char command[80], buf[80], fname[40], htmlfile[40]; /* make list_jpg */ sprintf(command, "ls *.jpg>list_jpg"); system(command); sprintf(fname, "list_jpg"); if((inp=fopen(fname, "r"))!=NULL){ sum=0; while(fgets(buf,80,inp)!=NULL){ buf[strlen(buf)-1]='\0'; strcpy(old[sum++], buf); } fclose(inp); } else{ printf("Can't open <%s>.\n", fname); exit(0); } sprintf(command, "ls *.html>list_htm"); system(command); sprintf(fname, "list_htm"); if((inp=fopen(fname, "r"))==NULL){ printf("Can't open <%s>.\n", fname); exit(0); } sprintf(fname, "list_add"); if((out=fopen(fname, "w"))==NULL){ printf("Can't open <%s>.\n", fname); exit(0); } strcpy(keyword, "=\"../../images/shots/wmaker/"); while(fgets(htmlfile,40,inp)!=NULL){ htmlfile[strlen(htmlfile)-1]='\0'; find(htmlfile); } sprintf(command, "cp list_htm list_old"); system(command); } find(char *listfile) { FILE *inp; int i, j, key; char fname[80], link[80]; sprintf(fname, "%s",listfile); if((inp=fopen(fname, "r"))==NULL){ printf("%s was not downloaded.\n", listfile); return; } while(fgets(data,2000,inp)!=NULL){ if((i=search())>=0){ for(i=i+strlen(keyword), j=0;;i++, j++){ if(data[i]=='\"') break; link[j]=data[i]; } link[j]='\0'; key=NO; for(i=0; i<sum; i++){ if(strcmp(link, old[i])==0){ key=YES; break; } } if(key==NO) fprintf(out, "%s%s\n", URL, link); } unlink(fname); } } search() { int i, j, key; char buf[180]; strcpy(getword, keyword); for(i=0; data[i]!='\n'; i++){ key=YES; for(j=0; getword[j]!='\0'; j++){ if(getword[j]=='?') getword[j]=data[i+j]; if(getword[j]!=data[i+j]){ key=NO; break; } } if(key==YES){ getword[j]='\0'; return i; } } return -1; }