/*

findnew.c

need list_all
*/

#include <stdio.h>

#define YES 1
#define NO  0
#define URL "http://themes.netfx-2000.net/wmaker/preview/"

main()
{
FILE *inp, *out;
char fname[40], buf[80], old[200][40];
int  i, sum, key, oldfile;

/* read list_old and store data */
/* if does not exist, make it   */

sprintf(fname, "list_old");
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);
    oldfile=YES;
    }
else
    oldfile=NO;

/* open list_new ready for writing */

sprintf(fname, "list_new");    
if((out=fopen(fname, "w"))==NULL){
    printf("Can't open <%s>.\n", fname);
    exit(0);
    }
    
/* oepn list_all for work */

sprintf(fname, "list_all");    
if((inp=fopen(fname, "r"))==NULL){
    printf("Can't open <%s>.\n", fname);
    exit(0);
    }

while(fgets(buf,80,inp)!=NULL){
    buf[strlen(buf)-1]='\0';
    key=NO;
    if(oldfile==YES){
        for(i=0; i<sum; i++){
            if(strcmp(buf, old[i])==0){
                key=YES;
                break;
                }
            }
        }
    if(key==NO)
        fprintf(out, "%s%s\n", URL, buf);
    }
}