/*
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;
}