home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
XGRP_000.SZH
/
CLEANUP.C
< prev
next >
Wrap
C/C++ Source or Header
|
1991-05-20
|
2KB
|
59 lines
#include "xgroup.h"
/* external var references */
extern GROUP *group;
extern CONTROLS control;
extern ADDR *myaddr;
extern char *groupin;
extern char *groupout;
extern char *grouphold;
extern char *msgdir;
extern char *outbound;
extern char *inbound;
extern char *archive;
extern char *unarchive;
extern word packsize;
extern word netarea;
extern char buffer[1024];
void _fastcall clean_up (void) {
FILEFINDBUF f;
int search_handle,num_matches;
struct stat st;
GROUP *currgroup;
char *p;
currgroup = group;
while(currgroup) {
if(!currgroup->numdays) {
currgroup = currgroup->next;
}
sprintf(buffer,"%s/%s.*",groupout,currgroup->id);
search_handle = 1; /* for bound purposes */
num_matches = 1;
if(!DosFindFirst(buffer,&search_handle,0,&f,
sizeof(FILEFINDBUF),&num_matches,0L)) {
do {
p = strrchr(f.achName,'.');
if(!p) continue; /* can't be group file */
p++;
if(ext_reserved(p)) continue; /* reserved extension */
sprintf(buffer,"%s/%s",groupout,f.achName);
if(stat(buffer,&st)) st.st_mtime = time(NULL);
if((st.st_mtime / 84000L) < ((time(NULL) / 84000L) - (long)currgroup->numdays)) {
unlink(buffer);
}
num_matches = 1;
} while(!DosFindNext(search_handle,&f,sizeof(FILEFINDBUF),
&num_matches));
DosFindClose(search_handle);
}
currgroup = currgroup->next;
}
}