home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
XGRP_000.SZH
/
MAKEREQ.C
< prev
next >
Wrap
C/C++ Source or Header
|
1991-05-20
|
3KB
|
91 lines
/* make group update requests */
#include "xgroup.h"
/* external var references */
extern GROUP *group;
extern CONTROLS control;
extern ADDR *myaddr;
extern ECHOREC *echos;
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 make_requests (void) {
struct stat st;
GROUP *currgroup;
int handle;
currgroup = group;
while(currgroup) {
if(!currgroup->uplink) {
currgroup = currgroup->next;
continue;
}
sprintf(buffer,"%s/%s.!",groupout,currgroup->id);
if(stat(buffer,&st)) st.st_mtime = time(NULL);
if(!control.xbbsos2) {
if(currgroup->uplink->zone == myaddr->zone) {
sprintf(buffer,"%s/%04x%04x.REQ",outbound,
currgroup->uplink->net,currgroup->uplink->node);
}
else {
sprintf(buffer,"%s.%03x/%04x%04x.REQ",outbound,
currgroup->uplink->zone,currgroup->uplink->net,
currgroup->uplink->node);
}
handle = sopen(buffer,O_RDWR | O_BINARY,SH_DENYWR);
if(handle == -1) {
currgroup = currgroup->next;
continue;
}
lseek(handle,0L,SEEK_END);
if(currgroup->password) {
ffprintf(handle,"%s.* %s +%lu\r\n",currgroup->id,
currgroup->password,st.st_mtime);
}
else {
ffprintf(handle,"%s.* +%lu\r\n",currgroup->id,st.st_mtime);
}
close(handle);
logf("Requested %s",currgroup->id);
}
else {
sprintf(buffer,"%s/R.%u.%u.%u.%u.%s",outbound,
currgroup->uplink->zone,currgroup->uplink->net,
currgroup->uplink->node,currgroup->uplink->point,
currgroup->uplink->domain);
handle = sopen(buffer,O_RDWR | O_BINARY,SH_DENYWR);
if(handle == -1) {
currgroup = currgroup->next;
continue;
}
lseek(handle,0L,SEEK_END);
if(currgroup->password) {
ffprintf(handle,"%s.* %s +%lu\r\n",currgroup->id,
currgroup->password,st.st_mtime);
}
else {
ffprintf(handle,"%s.* +%lu\r\n",currgroup->id,st.st_mtime);
}
close(handle);
logf("Requested %s",currgroup->id);
}
currgroup = currgroup->next;
}
}