home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Devil's Doorknob BBS Capture (1996-2003)
/
devilsdoorknobbbscapture1996-2003.iso
/
Dloads
/
WWIVMODS
/
421-421A.ZIP
/
421-421A.MOD
next >
Wrap
Text File
|
1992-07-21
|
196KB
|
8,219 lines
/*****************************************************************************
WWIV Version 4
Copyright (C) 1988-1991 by Wayne Bell
Distribution of the source code for WWIV, in any form, modified or unmodified,
without PRIOR, WRITTEN APPROVAL by the author, is expressly prohibited.
Distribution of compiled versions of WWIV is limited to copies compiled BY
THE AUTHOR. Distribution of any copies of WWIV not compiled by the author
is expressly prohibited.
*****************************************************************************/
/****************************************************************************/
/****************************************************************************/
NOTE: THIS FILE (AND THE ACCOMPANYING SOURCE FILES) MAY >NOT< BE
DISTRIBUTED AT ALL, EXCEPT ON AUTHORIZED WWIV SOURCE DISTRIBUTION SITES.
/****************************************************************************/
/****************************************************************************/
This file lists the mods required to upgrade WWIV v4.21 to WWIV v4.21a.
In addition to these, you'll have to replace the following files
(included in this archive):
fcns.h
vars.h
connect1.c
netsup.c
skeleton.c
(These files do not have 'mods' listed, as it was shorter to include the
entire file, than to list the changes.)
/****************************************************************************/
First off, you'll find a lot of changes for function definitions, where
a simple () has been replaced with (void). If you're upgrading, you
don't really need to do this. Only BC++3.1 (or later, I guess) cares at
all, and that will shut up its warnings if you just make sure the fcns.h
file has the () changed to (void). The fcns.h file included here does
that, but if you do a 'make fcns' yourself, just do a search-replace of
() with (void), and it'll all by happy.
You'll also find a lot (but not all) of MAX_SUBS changed to max_subs,
syscfg.datadir to net_data, and syscfg.systemnumber changed to
net_sysnum.
/*****************************************************************************/
batch.c:
Starting at line #28, delete this one line:
# #define SETREC(i) lseek(dlf,((long) (i))*((long)sizeof(uploadsrec)),SEEK_SET);
#
#
- void listbatch()
# {
# char s[81];
# int abort,i;
And insert this one line:
# #define SETREC(i) lseek(dlf,((long) (i))*((long)sizeof(uploadsrec)),SEEK_SET);
#
#
+ void listbatch(void)
# {
# char s[81];
# int abort,i;
Starting at line #69, delete this one line:
# }
# }
#
- void downloaded(char *fn)
# {
# int i,i1;
# uploadsrec u;
And insert this one line:
# }
# }
#
+ void downloaded(char *fn, long cps)
# {
# int i,i1;
# uploadsrec u;
Starting at line #86, add these 3 lines:
# ++u.numdloads;
# SETREC(i);
# write(dlf,(void *)&u,sizeof(uploadsrec));
+ if (cps)
+ sprintf(s,"Downloaded '%s' (%ld cps)",u.filename, cps);
+ else
# sprintf(s,"Downloaded '%s'",u.filename);
# sysoplog(s);
# if (syscfg.sysconfig & sysconfig_log_dl) {
Starting at line #164, delete this one line:
# }
#
#
- void uploaded(char *fn)
# {
# int i,i1, d1, d2, rn;
# uploadsrec u;
And insert this one line:
# }
#
#
+ void uploaded(char *fn, long cps)
# {
# int i,i1, d1, d2, rn;
# uploadsrec u;
Starting at line #237, delete this one line:
# save_status();
# SETREC(rn);
# write(dlf,(void *)&u,sizeof(uploadsrec));
- sprintf(s,"+%s uploaded on %s",
# u.filename,
# directories[batch[i1].dir].name);
# sysoplog(s);
And insert this one line:
# save_status();
# SETREC(rn);
# write(dlf,(void *)&u,sizeof(uploadsrec));
+ sprintf(s,"+%s uploaded on %s (%ld cps)",
# u.filename,
# directories[batch[i1].dir].name, cps);
# sysoplog(s);
Starting at line #239, delete this one line:
# write(dlf,(void *)&u,sizeof(uploadsrec));
# sprintf(s,"+%s uploaded on %s",
# u.filename,
- directories[batch[i1].dir].name);
# sysoplog(s);
# npr("Uploaded '%s' to %s\r\n",u.filename,
# directories[batch[i1].dir].name);
And insert this one line:
# write(dlf,(void *)&u,sizeof(uploadsrec));
# sprintf(s,"+%s uploaded on %s (%ld cps)",
# u.filename,
+ directories[batch[i1].dir].name, cps);
# sysoplog(s);
# npr("Uploaded '%s' to %s\r\n",u.filename,
# directories[batch[i1].dir].name);
Starting at line #313, delete this one line:
# sprintf(s,"%s%s",directories[batch[cur].dir].path,u.filename);
# xymodem_send(s,&ok,&percent,u.filetype,1,1,1);
# if (ok) {
- downloaded(u.filename);
# } else {
# closedl();
# }
And insert this one line:
# sprintf(s,"%s%s",directories[batch[cur].dir].path,u.filename);
# xymodem_send(s,&ok,&percent,u.filetype,1,1,1);
# if (ok) {
+ downloaded(u.filename, 0);
# } else {
# closedl();
# }
Starting at line #338, add this one line:
# {
# char *ss;
# int i;
+ long cps;
# char s[161];
#
# /* find the filename */
Starting at line #343, delete this one line:
#
# /* find the filename */
# ss=strtok(l," \t");
- for (i=0; (i<10) && (ss); i++)
# ss=strtok(NULL," \t");
#
# if (ss) {
And insert these 4 lines:
#
# /* find the filename */
# ss=strtok(l," \t");
+ for (i=0; (i<10) && (ss); i++) {
+ switch(i) {
+ case 4: cps=atol(ss); break;
+ }
# ss=strtok(NULL," \t");
# }
#
Starting at line #344, add this one line:
# case 4: cps=atol(ss); break;
# }
# ss=strtok(NULL," \t");
+ }
#
# if (ss) {
# strcpy(s,stripfn(ss));
Starting at line #357, delete this one line:
# case 'B':
# case 'H':
# /* received a file */
- uploaded(s);
# break;
#
# case 'z':
And insert this one line:
# case 'B':
# case 'H':
# /* received a file */
+ uploaded(s,cps);
# break;
#
# case 'z':
Starting at line #366, delete this one line:
# case 'b':
# case 'h':
# /* sent a file */
- downloaded(s);
# break;
#
# case 'E':
And insert this one line:
# case 'b':
# case 'h':
# /* sent a file */
+ downloaded(s,cps);
# break;
#
# case 'E':
Starting at line #485, add these 2 lines:
# _chmod(dszlog,1,0);
# unlink(dszlog);
#
+ create_chain_file("CHAIN.TXT");
+
# if (uplist[0])
# cd_to(syscfg.batchdir);
#
Starting at line #528, delete this one line:
# }
#
#
- void process_dszlog()
# {
# int f,i,i1;
# char *ss;
And insert this one line:
# }
#
#
+ void process_dszlog(void)
# {
# int f,i,i1;
# char *ss;
Starting at line #613, delete this one line:
# double ti;
#
# sprintf(dl,"%s BATCH TRANSFER, %d send, %d recv",
- desc, numbatch-numbatchdl, numbatchdl);
# if (had)
# strcat(dl,", HAD");
# sysoplog(dl);
And insert this one line:
# double ti;
#
# sprintf(dl,"%s BATCH TRANSFER, %d send, %d recv",
+ desc, numbatchdl, numbatch-numbatchdl);
# if (had)
# strcat(dl,", HAD");
# sysoplog(dl);
Starting at line #637, delete this one line:
# /****************************************************************************/
#
#
- void batchdl()
# {
# int i,abort,done,i1,i2,had,dsz;
# char s[81],s1[81],ch,ch1;
And insert this one line:
# /****************************************************************************/
#
#
+ void batchdl(void)
# {
# int i,abort,done,i1,i2,had,dsz;
# char s[81],s1[81],ch,ch1;
/*****************************************************************************/
bbs.c:
Starting at line #31, delete this one line:
#
#
#
- int checkpw()
# {
# char s[81];
#
And insert this one line:
#
#
#
+ int checkpw(void)
# {
# char s[81];
#
Starting at line #61, delete this one line:
# }
#
#
- void sublist()
# {
# int i,abort;
# char s[80];
And insert this one line:
# }
#
#
+ void sublist(void)
# {
# int i,abort;
# char s[80];
Starting at line #71, delete this one line:
# pla("Subs available: ",&abort);
# nl();
# i=0;
- while ((i<MAX_SUBS) && (usub[i].subnum!=-1)) {
# strcpy(s,usub[i].keys);
# s[2]=0;
# if (s[1]==0)
And insert this one line:
# pla("Subs available: ",&abort);
# nl();
# i=0;
+ while ((i<max_subs) && (usub[i].subnum!=-1)) {
# strcpy(s,usub[i].keys);
# s[2]=0;
# if (s[1]==0)
Starting at line #91, delete this one line:
# strcat(s," ");
# #endif
# }
- if (syscfg.systemnumber) {
# if (subboards[usub[i].subnum].type) {
# if (subboards[usub[i].subnum].anony & anony_val_net)
# strcat(s,"[NET] ");
And insert this one line:
# strcat(s," ");
# #endif
# }
+ if (net_sysnum) {
# if (subboards[usub[i].subnum].type) {
# if (subboards[usub[i].subnum].anony & anony_val_net)
# strcat(s,"[NET] ");
Starting at line #110, delete this one line:
# }
#
#
- void dirlist()
# {
# int i,abort;
# char s[80];
And insert this one line:
# }
#
#
+ void dirlist(void)
# {
# int i,abort;
# char s[80];
Starting at line #131, delete this one line:
# }
#
#
- void text_edit()
# {
# char s[81],s1[81];
#
And insert this one line:
# }
#
#
+ void text_edit(void)
# {
# char s[81],s1[81];
#
Starting at line #140, add these 2 lines:
# input(s,12);
# if (strstr(s,".LOG")!=NULL)
# s[0]=0;
+ if (!okfn(s))
+ s[0]=0;
# if (s[0]) {
# sprintf(s1,"@ Edited: %s",s);
# sysoplog(s1);
Starting at line #145, delete this one line:
# sprintf(s1,"@ Edited: %s",s);
# sysoplog(s1);
# if (okfsed())
- external_edit(s,syscfg.gfilesdir,thisuser.defed-1,500);
# else
# tedit(s);
# }
And insert this one line:
# sprintf(s1,"@ Edited: %s",s);
# sysoplog(s1);
# if (okfsed())
+ external_edit(s,syscfg.gfilesdir,thisuser.defed-1,500,syscfg.gfilesdir,s,1);
# else
# tedit(s);
# }
Starting at line #151, replace function parse_email_info() with the following:
void parse_email_info(char *s, unsigned short *un1, unsigned short *sy1)
{
char *ss,s1[5],onx[20],ch,*mmk;
unsigned un, sy;
int i,nv,on,xx,onxi,odci;
net_system_list_rec *csne;
*un1=0;
*sy1=0;
ss=strchr(s,'@');
if (ss==NULL) {
un=finduser1(s);
if (un>0)
*un1=un;
else
pl("Unknown user.");
} else {
ss[0]=0;
ss=&(ss[1]);
i=strlen(s);
while ((i>0) && (s[i-1]==' '))
--i;
s[i]=0;
un=atoi(s);
sy=atoi(ss);
if (sy==0) {
un=finduser1(s);
if (un>0)
*un1=un;
else
pl("Unknown user.");
} else {
if (un==0) {
strcpy(net_email_name,s);
i=strlen(net_email_name);
while ((i>0) && (net_email_name[i-1]==' '))
--i;
net_email_name[i]=0;
if (net_email_name[0])
*sy1=sy;
else
pl("Unknown user.");
} else {
*un1=un;
*sy1=sy;
}
if (*sy1 && (net_num_max>1)) {
odc[0]=0;
odci=0;
onx[0]='Q';
onx[1]=0;
onxi=1;
nv=0;
on=net_num;
ss=malloc(net_num_max);
xx=-1;
for (i=0; i<net_num_max; i++) {
set_net_num(i);
if (net_sysnum==*sy1)
xx=i;
else if (next_system(*sy1)) {
ss[nv++]=i;
}
}
set_net_num(on);
if (nv==0) {
if (xx!=-1) {
set_net_num(xx);
*sy1=0;
if (*un1==0) {
*un1=finduser(net_email_name);
if ((*un1==0) || (*un1>32767)) {
*un1=0;
pl("Unknown user.");
}
}
} else {
nl();
pl("Unknown system");
*sy1=*un1=0;
}
} else if (nv==1) {
set_net_num(ss[0]);
} else {
nl();
for (i=0; i<nv; i++) {
set_net_num(ss[i]);
csne=next_system(*sy1);
if (csne) {
if (i<9) {
onx[onxi++]=i+'1';
onx[onxi]=0;
} else {
odci=(i+1)/10;
odc[odci-1]=odci+'0';
odc[odci]=0;
}
npr("%d. %s (%s)\r\n",i+1,net_name,csne->name);
}
}
pl("Q. Quit");
nl();
prt(2,"Which network (number)? ");
if (nv<9) {
ch=onek(onx);
if (ch=='Q')
i=-1;
else
i=ch-'1';
} else {
mmk=mmkey(2);
if (*mmk=='Q')
i=-1;
else
i=atoi(mmk)-1;
}
if ((i>=0) && (i<nv)) {
set_net_num(ss[i]);
} else {
nl();
pl("Aborted.");
nl();
*un1=*sy1=0;
}
}
farfree(ss);
} else {
if (*sy1==net_sysnum) {
*sy1=0;
if (*un1==0)
*un1=finduser(net_email_name);
if ((*un1==0) || (*un1>32767)) {
*un1=0;
pl("Unknown user.");
}
}
}
}
}
}
Starting at line #201, delete this one line:
# }
#
#
- void send_email()
# {
# char s1[81],*ss;
# int i;
And insert this one line:
# }
#
#
+ void send_email(void)
# {
# char s1[81],*ss;
# int i;
Starting at line #216, add this one line:
# irt[0]=0;
# irt_name[0]=0;
# parse_email_info(s1,&un,&sy);
+ grab_quotes(NULL, NULL);
# if (un || sy)
# email(un,sy,0,0);
# }
Starting at line #221, delete this one line:
# email(un,sy,0,0);
# }
#
- void mainmenu()
# {
# char *s, s1[81],s2[81],ch;
# int i;
And insert this one line:
# email(un,sy,0,0);
# }
#
+ void mainmenu(void)
# {
# char *s, s1[81],s2[81],ch;
# int i;
Starting at line #250, delete this one line:
# s=mmkey(0);
# helpl=0;
# if (s[0])
- for (i=0; i<MAX_SUBS; i++)
# if (strcmp(usub[i].keys,s)==0)
# cursub=i;
# if (strlen(s)>2) {
And insert this one line:
# s=mmkey(0);
# helpl=0;
# if (s[0])
+ for (i=0; (i<max_subs) && (usub[i].subnum!=-1); i++)
# if (strcmp(usub[i].keys,s)==0)
# cursub=i;
# if (strlen(s)>2) {
Starting at line #305, delete this one line:
# input(s1,50);
# if (s1[0]) {
# if ((okansi()) && (thisuser.defed))
- external_edit(s1,"",thisuser.defed-1,500);
# else
# tedit(s1);
# }
And insert this one line:
# input(s1,50);
# if (s1[0]) {
# if ((okansi()) && (thisuser.defed))
+ external_edit(s1,"",thisuser.defed-1,500,".",s1,1);
# else
# tedit(s1);
# }
Starting at line #386, delete this one line:
# sysoplog("@ Ran Tedit");
# text_edit();
# }
- if ((strcmp(s,",")==0) && (syscfg.systemnumber>0)) {
# nl();
# prt(2,"Which NETDAT log (0-2,Q)? ");
# ch=onek("Q012");
And insert this one line:
# sysoplog("@ Ran Tedit");
# text_edit();
# }
+ if ((strcmp(s,",")==0) && (net_sysnum>0)) {
# nl();
# prt(2,"Which NETDAT log (0-2,Q)? ");
# ch=onek("Q012");
Starting at line #410, delete this one line:
# for (i=0; i<33; i++)
# thisuser.qscnptr[i]=status.qscanptr-1L;
# #if MAX_SUBS>32
- for (i=0; i<MAX_SUBS-32; i++)
# thisuser.qscnptr2[i]=status.qscanptr-1L;
# #endif
# nl();
And insert this one line:
# for (i=0; i<33; i++)
# thisuser.qscnptr[i]=status.qscanptr-1L;
# #if MAX_SUBS>32
+ for (i=0; i<max_subs-32; i++)
# thisuser.qscnptr2[i]=status.qscanptr-1L;
# #endif
# nl();
Starting at line #440, delete this one line:
# print_net_listing(atoi(s+4));
# }
# if (strcmp(s,"RSET")==0) {
- for (i=0; i<MAX_SUBS; i++)
# sub_dates[i]=0L;
# }
# if (strcmp(s,"VER")==0) {
And insert this one line:
# print_net_listing(atoi(s+4));
# }
# if (strcmp(s,"RSET")==0) {
+ for (i=0; i<max_subs; i++)
# sub_dates[i]=0L;
# }
# if (strcmp(s,"VER")==0) {
Starting at line #450, delete these 2 lines:
# pl("The author may be contacted at:");
# nl();
# pl(" Wayne Bell");
- pl(" 904 Silver Spur Road #636");
- pl(" Rolling Hills Estates, CA 90274");
# nl();
# }
# if ((s[1]==0) && (s[0]!=0)) {
And insert these 3 lines:
# pl("The author may be contacted at:");
# nl();
# pl(" Wayne Bell");
+ pl(" WWIV Software Services");
+ pl(" PO Box 720455");
+ pl(" McAllen, TX 78504-0455");
# nl();
# }
# if ((s[1]==0) && (s[0]!=0)) {
Starting at line #458, delete this one line:
# switch(s[0]) {
# case '>':
# case '+':
- if ((cursub<MAX_SUBS-1) && (usub[cursub+1].subnum>=0))
# ++cursub;
# else
# cursub=0;
And insert this one line:
# switch(s[0]) {
# case '>':
# case '+':
+ if ((cursub<max_subs-1) && (usub[cursub+1].subnum>=0))
# ++cursub;
# else
# cursub=0;
Starting at line #468, delete this one line:
# if (cursub>0)
# --cursub;
# else {
- while ((usub[cursub+1].subnum>=0) && (cursub<MAX_SUBS-1))
# ++cursub;
# }
# break;
And insert this one line:
# if (cursub>0)
# --cursub;
# else {
+ while ((usub[cursub+1].subnum>=0) && (cursub<max_subs-1))
# ++cursub;
# }
# break;
Starting at line #513, add this one line:
# case 'F':
# strcpy(irt,"Feedback.");
# irt_name[0]=0;
+ grab_quotes(NULL, NULL);
# email(1,0,0,0);
# break;
# case 'G':
Starting at line #562, add this one line:
# case 'P':
# irt[0]=0;
# irt_name[0]=0;
+ grab_quotes(NULL, NULL);
# if (usub[0].subnum!=-1)
# post();
# break;
Starting at line #631, delete this one line:
# }
#
#
- void dlmainmenu()
# {
# char *s, s1[81],s2[81],ch;
# int i,i1,i2,abort,next;
And insert this one line:
# }
#
#
+ void dlmainmenu(void)
# {
# char *s, s1[81],s2[81],ch;
# int i,i1,i2,abort,next;
Starting at line #896, delete this one line:
# }
#
#
- int date_changed()
# {
# struct date today,today1;
#
And insert this one line:
# }
#
#
+ int date_changed(void)
# {
# struct date today,today1;
#
Starting at line #930, delete this one line:
# }
#
#
- void getcaller()
# {
# char s[81],s1[81],ch,done,lokb;
# int i,i1,i2,i3,any;
And insert this one line:
# }
#
#
+ void getcaller(void)
# {
# char s[81],s1[81],ch,done,lokb;
# int i,i1,i2,i3,any;
Starting at line #979, delete this one line:
# }
# lokb=0;
# strcpy(curspeed,"KB");
- if ((!any) && ((rand() % 8000)==0) && (syscfg.systemnumber) &&
# (ok_modem_stuff)) {
# attempt_callout();
# any=1;
And insert this one line:
# }
# lokb=0;
# strcpy(curspeed,"KB");
+ if ((!any) && ((rand() % 8000)==0) && (net_sysnum) &&
# (ok_modem_stuff)) {
# attempt_callout();
# any=1;
Starting at line #1134, add this one line:
# print_local_file("NET.LOG","NETDAT*.LOG");
# break;
# case 'P':
+ if (ok_local())
# print_pending_list();
# break;
# case 'Q':
Starting at line #1209, delete this one line:
# }
# break;
# case '/':
- if ((syscfg.systemnumber) && (ok_local()))
# force_callout();
# break;
#
And insert this one line:
# }
# break;
# case '/':
+ if ((net_sysnum) && (ok_local()))
# force_callout();
# break;
#
Starting at line #1409, add these 2 lines:
# if (restoring_shrink) {
# restoring_shrink=0;
# switch(restore_data("restore.wwv")) {
+ case -1: /* hanging up */
+ goto hanging_up;
# case 0: /* WFC */
# goto wfc_label;
# case 1: /* main menu */
Starting at line #1444, add this one line:
# if (!hangup) {
# logon();
# main_menu_label:
+ set_net_num(0);
# while (!hangup) {
# if (curdloads)
# dlmainmenu();
/*****************************************************************************/
bbsutl.c:
Starting at line #299, delete this one line:
# }
#
#
- int so()
# {
# if (actsl==255)
# return(1);
And insert this one line:
# }
#
#
+ int so(void)
# {
# if (actsl==255)
# return(1);
Starting at line #309, delete this one line:
#
#
#
- int cs()
# {
# slrec ss;
#
And insert this one line:
#
#
#
+ int cs(void)
# {
# slrec ss;
#
Starting at line #323, delete this one line:
# }
#
#
- int lcs()
# {
# slrec ss;
#
And insert this one line:
# }
#
#
+ int lcs(void)
# {
# slrec ss;
#
Starting at line #404, delete this one line:
# }
#
#
- int sysop2()
# {
# int ok;
#
And insert this one line:
# }
#
#
+ int sysop2(void)
# {
# int ok;
#
Starting at line #423, delete this one line:
# return(ok);
# }
#
- void reqchat()
# {
# int ok;
# char s[81];
And insert this one line:
# return(ok);
# }
#
+ void reqchat(void)
# {
# int ok;
# char s[81];
Starting at line #465, delete this one line:
# }
#
#
- void yourinfo()
# {
# outchr(12);
# npr("Your name : %s\r\n",nam(&thisuser,usernum));
And insert this one line:
# }
#
#
+ void yourinfo(void)
# {
# outchr(12);
# npr("Your name : %s\r\n",nam(&thisuser,usernum));
Starting at line #489, delete this one line:
# }
#
#
- void upload_post()
# {
# char s[81],s1[81],ch;
# int i,i1,maxli,f;
And insert this one line:
# }
#
#
+ void upload_post(void)
# {
# char s[81],s1[81],ch;
# int i,i1,maxli,f;
Starting at line #545, delete this one line:
# }
#
#
- int check_ansi()
# {
# long l;
# char ch;
And insert this one line:
# }
#
#
+ int check_ansi(void)
# {
# long l;
# char ch;
/*****************************************************************************/
bbsutl1.c:
Starting at line #22, delete this one line:
# #pragma hdrstop
#
#
- int ok_local()
# {
# if (syscfg.sysconfig& sysconfig_no_local)
# return(0);
And insert this one line:
# #pragma hdrstop
#
#
+ int ok_local(void)
# {
# if (syscfg.sysconfig& sysconfig_no_local)
# return(0);
Starting at line #208, delete this one line:
# write_user(un,&u);
# }
# close_user();
- } else if (syscfg.systemnumber && next_system(sy)) {
# nh.tosys=sy;
# nh.touser=un;
# nh.fromsys=syscfg.systemnumber;
And insert this one line:
# write_user(un,&u);
# }
# close_user();
+ } else if (net_sysnum && next_system(sy)) {
# nh.tosys=sy;
# nh.touser=un;
# nh.fromsys=net_sysnum;
Starting at line #211, delete this one line:
# } else if (syscfg.systemnumber && next_system(sy)) {
# nh.tosys=sy;
# nh.touser=un;
- nh.fromsys=syscfg.systemnumber;
# nh.fromuser=usernum;
# nh.main_type = main_type_ssm;
# nh.minor_type=0;
And insert this one line:
# } else if (net_sysnum && next_system(sy)) {
# nh.tosys=sy;
# nh.touser=un;
+ nh.fromsys=net_sysnum;
# nh.fromuser=usernum;
# nh.main_type = main_type_ssm;
# nh.minor_type=0;
Starting at line #221, delete this one line:
# s[80]=0;
# nh.length=strlen(s);
# nh.method=0;
- sprintf(s1,"%sP0.NET",syscfg.datadir);
# f=open(s1,O_RDWR | O_BINARY | O_CREAT, S_IREAD | S_IWRITE);
# lseek(f,0L,SEEK_END);
# write(f,(void *)&nh,sizeof(net_header_rec));
And insert this one line:
# s[80]=0;
# nh.length=strlen(s);
# nh.method=0;
+ sprintf(s1,"%sP0.NET",net_data);
# f=open(s1,O_RDWR | O_BINARY | O_CREAT, S_IREAD | S_IWRITE);
# lseek(f,0L,SEEK_END);
# write(f,(void *)&nh,sizeof(net_header_rec));
Starting at line #319, delete this one line:
#
#
#
- void do_chains()
# {
# int map[50],mapp,i,i1,ok,done;
# char s[81],s1[81],*ss;
And insert this one line:
#
#
#
+ void do_chains(void)
# {
# int map[50],mapp,i,i1,ok,done;
# char s[81],s1[81],*ss;
/*****************************************************************************/
chnedit.c:
Starting at line #52, delete this one line:
# n,c.description,c.filename,c.sl,y,x,z,w);
# }
#
- void showchains()
# {
# int abort,i;
# char s[180];
And insert this one line:
# n,c.description,c.filename,c.sl,y,x,z,w);
# }
#
+ void showchains(void)
# {
# int abort,i;
# char s[180];
Starting at line #212, delete this one line:
# }
#
#
- void chainedit()
# {
# int i,i1,i2,done,f;
# char s[81],s1[81],s2[81],ch;
And insert this one line:
# }
#
#
+ void chainedit(void)
# {
# int i,i1,i2,done,f;
# char s[81],s1[81],s2[81],ch;
/*****************************************************************************/
com.c:
Starting at line #34, delete this one line:
# unsigned char new_iir, old_iir;
#
# old_iir = inportb(syscfg.com_base[pn]+2);
- outportb(syscfg.com_base[pn]+2,0xc1);
# new_iir = inportb(syscfg.com_base[pn]+2);
# outportb(syscfg.com_base[pn]+2,old_iir);
#
And insert this one line:
# unsigned char new_iir, old_iir;
#
# old_iir = inportb(syscfg.com_base[pn]+2);
+ outportb(syscfg.com_base[pn]+2,0x81);
# new_iir = inportb(syscfg.com_base[pn]+2);
# outportb(syscfg.com_base[pn]+2,old_iir);
#
Starting at line #42, add these 9 lines:
# return(0);
# }
#
+ if (new_iir==0) {
+ /* unbuffered */
+ return(1);
+ }
+
+ outportb(syscfg.com_base[pn]+2,0xc1);
+ new_iir = inportb(syscfg.com_base[pn]+2);
+ outportb(syscfg.com_base[pn]+2,old_iir);
+
# switch ((new_iir >> 6) & 0x03) {
# case 0: /* no 16550 */
# case 1: /* huh? */
Starting at line #88, delete this one line:
# }
#
#
- void ptime()
# {
# char xl[81], cl[81], atr[81], cc, s[81];
# long l;
And insert this one line:
# }
#
#
+ void ptime(void)
# {
# char xl[81], cl[81], atr[81], cc, s[81];
# long l;
Starting at line #112, delete this one line:
# }
#
#
- void reprint()
# {
# char xl[81], cl[81], atr[81], cc, ansistr_1[81];
# int ansiptr_1;
And insert this one line:
# }
#
#
+ void reprint(void)
# {
# char xl[81], cl[81], atr[81], cc, ansistr_1[81];
# int ansiptr_1;
Starting at line #166, delete this one line:
# outportb(0x61, inportb(0x61) & 0xFC);
# }
#
- void far interrupt async_isr ()
# /* This function is called every time a char is received on the com port.
# * The character is stored in the buffer[] array, and the head pointer is
# * updated.
And insert this one line:
# outportb(0x61, inportb(0x61) & 0xFC);
# }
#
+ void far interrupt async_isr(void)
# /* This function is called every time a char is received on the com port.
# * The character is stored in the buffer[] array, and the head pointer is
# * updated.
Starting at line #193, delete this one line:
#
#
#
- char peek1c()
# {
# if (head!=tail) {
# return(buffer[tail]);
And insert this one line:
#
#
#
+ char peek1c(void)
# {
# if (head!=tail) {
# return(buffer[tail]);
Starting at line #201, delete this one line:
# return(0);
# }
#
- char get1c()
# /* This function returns one character from the com port, or a zero if
# * no character is waiting
# */
And insert this one line:
# return(0);
# }
#
+ char get1c(void)
# /* This function returns one character from the com port, or a zero if
# * no character is waiting
# */
Starting at line #221, delete this one line:
#
#
#
- int comhit()
# /* This returns a value telling if there is a character waiting in the com
# * buffer.
# */
And insert this one line:
#
#
#
+ int comhit(void)
# /* This returns a value telling if there is a character waiting in the com
# * buffer.
# */
Starting at line #231, delete this one line:
#
#
#
- void dump()
# /* This function clears the com buffer */
# {
# disable();
And insert this one line:
#
#
#
+ void dump(void)
# /* This function clears the com buffer */
# {
# disable();
Starting at line #285, delete this one line:
#
#
#
- void closeport()
# /* This function closes out the com port, removing the interrupt routine,
# * etc.
# */
And insert this one line:
#
#
#
+ void closeport(void)
# /* This function closes out the com port, removing the interrupt routine,
# * etc.
# */
Starting at line #291, add this one line:
# {
# int temp;
#
+ if (base) {
# disable();
# temp = inportb(0x21);
# temp = temp | ((1 << async_irq));
Starting at line #299, add these 2 lines:
# outportb(base + 4, 3);
# setvect(async_irq+8,getvect(8)); /* for desqview */
# enable();
+ base=0;
+ }
# }
#
# void dtr(int i)
Starting at line #322, delete this one line:
# }
#
#
- int cdet()
# /* This returns the status of the carrier detect lead from the modem */
# {
# return((inportb(base + 6) & 0x80) ? 1 : 0);
And insert this one line:
# }
#
#
+ int cdet(void)
# /* This returns the status of the carrier detect lead from the modem */
# {
# return((inportb(base + 6) & 0x80) ? 1 : 0);
Starting at line #330, delete this one line:
#
#
#
- void checkhangup()
# /* This function checks to see if the user logged on to the com port has
# * hung up. Obviously, if no user is logged on remotely, this does nothing.
# * If carrier detect is detected to be low, it is checked 100 times
And insert this one line:
#
#
#
+ void checkhangup(void)
# /* This function checks to see if the user logged on to the com port has
# * hung up. Obviously, if no user is logged on remotely, this does nothing.
# * If carrier detect is detected to be low, it is checked 100 times
Starting at line #429, delete this one line:
# }
#
#
- void execute_ansi()
# /* This function executes an ANSI string to change color, position the
# * cursor, etc.
# */
And insert this one line:
# }
#
#
+ void execute_ansi(void)
# /* This function executes an ANSI string to change color, position the
# * cursor, etc.
# */
Starting at line #624, delete this one line:
#
#
#
- void nl()
# /* This function performs a CR/LF sequence to move the cursor to the next
# * line. If any end-of-line ANSI codes are set (such as changing back to
# * the default color) are specified, those are executed first.
And insert this one line:
#
#
#
+ void nl(void)
# /* This function performs a CR/LF sequence to move the cursor to the next
# * line. If any end-of-line ANSI codes are set (such as changing back to
# * the default color) are specified, those are executed first.
Starting at line #639, delete this one line:
#
#
#
- void backspace()
# /* This function executes a backspace, space, backspace sequence. */
# {
# int i;
And insert this one line:
#
#
#
+ void backspace(void)
# /* This function executes a backspace, space, backspace sequence. */
# {
# int i;
Starting at line #665, delete this one line:
#
#
#
- void pausescr()
# /* This will pause output, displaying the [PAUSE] message, and wait for
# * a key to be hit.
# */
And insert this one line:
#
#
#
+ void pausescr(void)
# /* This will pause output, displaying the [PAUSE] message, and wait for
# * a key to be hit.
# */
Starting at line #712, delete this one line:
# }
#
#
- int kbhitb()
# {
# union REGS r;
#
And insert this one line:
# }
#
#
+ int kbhitb(void)
# {
# union REGS r;
#
Starting at line #725, delete this one line:
# }
#
#
- int empty()
# {
# if (x_only)
# return(1);
And insert this one line:
# }
#
#
+ int empty(void)
# {
# if (x_only)
# return(1);
Starting at line #744, delete this one line:
# char c;
#
# c = *ch;
- if (c == 127)
# c = 8;
# if (okskey)
# switch(c) {
And insert this one line:
# char c;
#
# c = *ch;
+ if ((c == 127) && (!in_fsed))
# c = 8;
# if (okskey)
# switch(c) {
Starting at line #783, delete this one line:
# *ch = c;
# }
#
- char getchd()
# {
# union REGS r;
#
And insert this one line:
# *ch = c;
# }
#
+ char getchd(void)
# {
# union REGS r;
#
Starting at line #793, delete this one line:
# }
#
#
- char getchd1()
# {
# union REGS r;
#
And insert this one line:
# }
#
#
+ char getchd1(void)
# {
# union REGS r;
#
Starting at line #804, delete this one line:
# }
#
#
- char inkey()
# /* This function checks both the local keyboard, and the remote terminal
# * (if any) for input. If there is input, the key is returned. If there
# * is no input, a zero is returned. Function keys hit are interpreted as
And insert this one line:
# }
#
#
+ char inkey(void)
# /* This function checks both the local keyboard, and the remote terminal
# * (if any) for input. If there is input, the key is returned. If there
# * is no input, a zero is returned. Function keys hit are interpreted as
Starting at line #877, delete this one line:
# }
#
#
- unsigned char getkey()
# /* This function returns one character from either the local keyboard or
# * remote com port (if applicable). After 1.5 minutes of inactivity, a
# * beep is sounded. After 3 minutes of inactivity, the user is hung up.
And insert this one line:
# }
#
#
+ unsigned char getkey(void)
# /* This function returns one character from either the local keyboard or
# * remote com port (if applicable). After 1.5 minutes of inactivity, a
# * beep is sounded. After 3 minutes of inactivity, the user is hung up.
Starting at line #1031, delete this one line:
#
#
#
- int yn()
# /* The keyboard is checked for either a Y, N, or C/R to be hit. C/R is
# * assumed to be the same as a N. Yes or No is output, and yn is set to
# * zero if No was returned, and yn() is non-zero if Y was hit.
And insert this one line:
#
#
#
+ int yn(void)
# /* The keyboard is checked for either a Y, N, or C/R to be hit. C/R is
# * assumed to be the same as a N. Yes or No is output, and yn is set to
# * zero if No was returned, and yn() is non-zero if Y was hit.
Starting at line #1049, delete this one line:
#
#
#
- int ny()
# /* This is the same as yn(), except C/R is assumed to be "Y" */
# {
# char ch=0;
And insert this one line:
#
#
#
+ int ny(void)
# /* This is the same as yn(), except C/R is assumed to be "Y" */
# {
# char ch=0;
Starting at line #1095, add these 5 lines:
# ansic(i);
# outstr(s);
# ansic(0);
+ }
+
+ void reset_colors(void)
+ {
+ outstr("\033[0m");
# }
/*****************************************************************************/
conio.c:
Starting at line #45, delete this one line:
# static int global_ptr;
# static int wx=0;
#
- void my_video_int()
# {
# #if __TURBOC__ >= 0x0200
# /* TC 2.0 or TC++ here */
And insert this one line:
# static int global_ptr;
# static int wx=0;
#
+ void my_video_int(void)
# {
# #if __TURBOC__ >= 0x0200
# /* TC 2.0 or TC++ here */
Starting at line #193, delete this one line:
#
#
#
- int wherex()
# /* This function returns the current X cursor position, as the number of
# * characters from the left hand side of the screen. An X position of zero
# * means the cursor is at the left-most position
And insert this one line:
#
#
#
+ int wherex(void)
# /* This function returns the current X cursor position, as the number of
# * characters from the left hand side of the screen. An X position of zero
# * means the cursor is at the left-most position
Starting at line #211, delete this one line:
#
#
#
- int wherey()
# /* This function returns the Y cursor position, as the line number from
# * the top of the logical window. The offset due to the protected top
# * of the screen display is taken into account. A wherey() of zero means
And insert this one line:
#
#
#
+ int wherey(void)
# /* This function returns the Y cursor position, as the line number from
# * the top of the logical window. The offset due to the protected top
# * of the screen display is taken into account. A wherey() of zero means
Starting at line #227, delete this one line:
#
#
#
- void lf()
# /* This function performs a linefeed to the screen (but not remotely) by
# * either moving the cursor down one line, or scrolling the logical screen
# * up one line.
And insert this one line:
#
#
#
+ void lf(void)
# /* This function performs a linefeed to the screen (but not remotely) by
# * either moving the cursor down one line, or scrolling the logical screen
# * up one line.
Starting at line #254, delete this one line:
#
#
#
- void cr()
# /* This short function returns the local cursor to the left-most position
# * on the screen.
# */
And insert this one line:
#
#
#
+ void cr(void)
# /* This short function returns the local cursor to the left-most position
# * on the screen.
# */
Starting at line #267, delete this one line:
# my_video_int();
# }
#
- void clrscrb()
# /* This clears the local logical screen */
# {
# SCROLL_UP(topline,screenbottom,0);
And insert this one line:
# my_video_int();
# }
#
+ void clrscrb(void)
# /* This clears the local logical screen */
# {
# SCROLL_UP(topline,screenbottom,0);
Starting at line #277, delete this one line:
#
#
#
- void bs()
# /* This function moves the cursor one position to the left, or if the cursor
# * is currently at its left-most position, the cursor is moved to the end of
# * the previous line, except if it is on the top line, in which case nothing
And insert this one line:
#
#
#
+ void bs(void)
# /* This function moves the cursor one position to the left, or if the cursor
# * is currently at its left-most position, the cursor is moved to the end of
# * the previous line, except if it is on the top line, in which case nothing
Starting at line #662, delete this one line:
#
#
#
- void val_cur_user()
# /* val_cur_user allows the sysop at the keyboard to validate the current user,
# chaning sl, dsl, ar, dar, sysop sub, exemptions, restrictions, and user
# note
And insert this one line:
#
#
#
+ void val_cur_user(void)
# /* val_cur_user allows the sysop at the keyboard to validate the current user,
# chaning sl, dsl, ar, dar, sysop sub, exemptions, restrictions, and user
# note
Starting at line #920, delete this one line:
# chatting=0;
# break;
# case 71: /* HOME */
- if (chatting) {
# if (chat_file)
# chat_file=0;
# else
And insert this one line:
# chatting=0;
# break;
# case 71: /* HOME */
+ if (chatting==1) {
# if (chat_file)
# chat_file=0;
# else
Starting at line #1050, delete this one line:
# }
#
#
- void topscreen()
# {
# int cc,cx,cy,ctl,i;
# char sl[81],ar[17],dar[17],restrict[17],rst[17],lo[90],ol[190],calls[20];
And insert this one line:
# }
#
#
+ void topscreen(void)
# {
# int cc,cx,cy,ctl,i;
# char sl[81],ar[17],dar[17],restrict[17],rst[17],lo[90],ol[190],calls[20];
Starting at line #1621, add these 3 lines:
# double tc;
#
# chatcall=0;
+ if (two_way)
+ chatting=2;
+ else
# chatting=1;
# tc=timer();
# cf=0;
/*****************************************************************************/
defaults.c:
Starting at line #22, delete this one line:
# #pragma hdrstop
#
#
- void select_editor()
# {
# char s[81],s1[81],*ss;
# int i;
And insert this one line:
# #pragma hdrstop
#
#
+ void select_editor(void)
# {
# char s[81],s1[81],*ss;
# int i;
Starting at line #56, delete this one line:
# }
#
#
- void print_cur_stat()
# {
# char s[81],s1[81],s2[81];
# userrec ur;
And insert this one line:
# }
#
#
+ void print_cur_stat(void)
# {
# char s[81],s1[81],s2[81];
# userrec ur;
Starting at line #77, delete this one line:
# pl("Normal");
# else {
# if (thisuser.forwardsys) {
- sprintf(s,"Forward to #%u @%u.",thisuser.forwardusr,thisuser.forwardsys);
# pl(s);
# } else {
# if (thisuser.forwardusr==65535) {
And insert these 3 lines:
# pl("Normal");
# else {
# if (thisuser.forwardsys) {
+ sprintf(s,"Forward to %s #%u @%u.",
+ net_networks[thisuser.net_num].name,
+ thisuser.forwardusr,thisuser.forwardsys);
# pl(s);
# } else {
# if (thisuser.forwardusr==65535) {
Starting at line #179, delete this one line:
# return(s);
# }
#
- void color_list()
# {
# int i;
#
And insert this one line:
# return(s);
# }
#
+ void color_list(void)
# {
# int i;
#
Starting at line #198, delete this one line:
#
#
#
- void change_colors()
# {
# int i,done,i1,i2;
# char s[81],ch,nc;
And insert this one line:
#
#
#
+ void change_colors(void)
# {
# int i,done,i1,i2;
# char s[81],ch,nc;
Starting at line #328, delete this one line:
#
#
#
- void l_config_qscan()
# {
# int i,abort;
# char s[81];
And insert this one line:
#
#
#
+ void l_config_qscan(void)
# {
# int i,abort;
# char s[81];
Starting at line #337, delete this one line:
# nl();
# pl("Boards to q-scan marked with '*'");
# nl();
- for (i=0; (i<MAX_SUBS) && (usub[i].subnum!=-1) && (!abort); i++) {
# sprintf(s,"%c %s. %s",
# #if MAX_SUBS>32
# (usub[i].subnum>=32)?
And insert this one line:
# nl();
# pl("Boards to q-scan marked with '*'");
# nl();
+ for (i=0; (i<max_subs) && (usub[i].subnum!=-1) && (!abort); i++) {
# sprintf(s,"%c %s. %s",
# #if MAX_SUBS>32
# (usub[i].subnum>=32)?
Starting at line #354, delete this one line:
# nl();
# }
#
- void config_qscan()
# {
# char *s;
# int i,done;
And insert this one line:
# nl();
# }
#
+ void config_qscan(void)
# {
# char *s;
# int i,done;
Starting at line #368, delete this one line:
# outstr("Config: ");
# s=mmkey(0);
# if (s[0])
- for (i=0; i<MAX_SUBS; i++)
# if (strcmp(usub[i].keys,s)==0) {
# #if MAX_SUBS>32
# if (usub[i].subnum>=32)
And insert this one line:
# outstr("Config: ");
# s=mmkey(0);
# if (s[0])
+ for (i=0; (i<max_subs) && (usub[i].subnum!=-1); i++)
# if (strcmp(usub[i].keys,s)==0) {
# #if MAX_SUBS>32
# if (usub[i].subnum>=32)
Starting at line #407, delete this one line:
# }
#
#
- void make_macros()
# {
# unsigned char tempmac[81],s[81];
# unsigned char ch,ch1;
And insert this one line:
# }
#
#
+ void make_macros(void)
# {
# unsigned char tempmac[81],s[81];
# unsigned char ch,ch1;
Starting at line #503, delete this one line:
# }
#
#
- void input_pw1()
# {
# char s[81],s1[81];
# int ok;
And insert this one line:
# }
#
#
+ void input_pw1(void)
# {
# char s[81],s1[81];
# int ok;
Starting at line #556, replace function modify_mailbox() with the following:
void modify_mailbox(void)
{
int i,i1,i2;
unsigned int u;
char s[81];
net_system_list_rec *csne;
nl();
helpl=35;
prt(5,"Do you want to close your mailbox? ");
if (yn()) {
prt(5,"Are you sure? ");
if (yn()) {
thisuser.forwardsys=0;
thisuser.forwardusr=-1;
return;
}
}
prt(5,"Do you want to forward your mail? ");
if (!yn()) {
thisuser.forwardsys=0;
thisuser.forwardusr=0;
return;
}
nl();
prt(2,"Where? ");
input(s,40);
parse_email_info(s, &thisuser.forwardusr, &thisuser.forwardsys);
if (thisuser.forwardsys) {
thisuser.net_num=net_num;
if (!thisuser.forwardusr) {
thisuser.forwardsys=thisuser.net_num=0;
nl();
pl("Can't forward to a user name, must use user number.");
nl();
}
} else if (thisuser.forwardusr==usernum) {
nl();
pl("Can't forward to yourself.");
nl();
thisuser.forwardusr=0;
}
if ((!thisuser.forwardusr) && (!thisuser.forwardsys)) {
thisuser.net_num=0;
nl();
pl("Forwarding reset.");
nl();
} else {
nl();
pl("Saved.");
nl();
}
}
Starting at line #639, delete this one line:
# }
#
#
- void optional_lines()
# {
# char s[81];
# int i;
And insert this one line:
# }
#
#
+ void optional_lines(void)
# {
# char s[81];
# int i;
Starting at line #656, delete this one line:
# }
#
#
- void enter_regnum()
# {
# char s[81];
# long l;
And insert this one line:
# }
#
#
+ void enter_regnum(void)
# {
# char s[81];
# long l;
Starting at line #672, delete this one line:
#
# }
#
- void defaults()
# {
# int i,i1,i2,done;
# char s[81],s1[81],s2[81],ch;
And insert this one line:
#
# }
#
+ void defaults(void)
# {
# int i,i1,i2,done;
# char s[81],s1[81],s2[81],ch;
Starting at line #679, add these 3 lines:
# done=0;
# print_cur_stat();
# do {
+ tleft(1);
+ if (hangup)
+ return;
# nl();
# helpl=4;
# if (okansi()) {
/*****************************************************************************/
diredit.c:
Starting at line #40, delete this one line:
# n,x,r.name,r.filename,r.dsl,r.age,r.maxfiles,r.path);
# }
#
- void showdirs()
# {
# int abort,i;
# char s[180];
And insert this one line:
# n,x,r.name,r.filename,r.dsl,r.age,r.maxfiles,r.path);
# }
#
+ void showdirs(void)
# {
# int abort,i;
# char s[180];
Starting at line #287, delete this one line:
# }
#
#
- void dlboardedit()
# {
# int i,i1,i2,done,f;
# char s[81],s1[81],s2[81],ch;
And insert this one line:
# }
#
#
+ void dlboardedit(void)
# {
# int i,i1,i2,done,f;
# char s[81],s1[81],s2[81],ch;
/*****************************************************************************/
extrn.c:
Starting at line #38, delete this one line:
#
#
#
- unsigned char getkeyext()
# {
# unsigned char ch;
# static int holding=0;
And insert this one line:
#
#
#
+ unsigned char getkeyext(void)
# {
# unsigned char ch;
# static int holding=0;
Starting at line #143, add these 2 lines:
# outportb(base+4,temp | 0x0A);
# enable();
# dtr(1);
+ reset_colors();
+ ansic(0);
# }
#
#
Starting at line #192, delete this one line:
# return(rc);
# }
#
- void checka1()
# {
# char ch;
# long d1;
And insert this one line:
# return(rc);
# }
#
+ void checka1(void)
# {
# char ch;
# long d1;
Starting at line #223, delete this one line:
# long ca_d1;
#
#
- void checka2()
# {
# ca_pause=0;
# ca_ctrl_c=0;
And insert this one line:
# long ca_d1;
#
#
+ void checka2(void)
# {
# ca_pause=0;
# ca_ctrl_c=0;
Starting at line #263, delete this one line:
#
#
#
- void run_external(char *s)
# {
# do_remote(s,1);
# }
And insert this one line:
#
#
#
+ int run_external(char *s)
# {
# return(do_remote(s,1));
# }
Starting at line #265, delete this one line:
#
# void run_external(char *s)
# {
- do_remote(s,1);
# }
#
#
And insert this one line:
#
# int run_external(char *s)
# {
+ return(do_remote(s,1));
# }
#
#
Starting at line #272, delete these 4 lines:
#
# int run_external1(char *s)
# {
- int i;
-
- i=do_remote(s,0);
- return(i);
# }
#
#
And insert this one line:
#
# int run_external1(char *s)
# {
+ return(do_remote(s,0));
# }
#
#
Starting at line #604, delete function alf().
Starting at line #613, replace function create_chain_file() with the following:
char *create_chain_file(char *fn)
{
int i,i1;
char s[81],s1[81],gd[81],dd[81];
static char fpn[81];
long l,l1;
FILE *f;
cd_to(syscfg.gfilesdir);
get_dir(gd,1);
cd_to(cdir);
cd_to(syscfg.datadir);
get_dir(dd,1);
cd_to(cdir);
sl1(3,s);
l=(long) (timeon);
if (l<0)
l += 3600*24;
l1=(long) (timer()-timeon);
if (l1<0)
l1 += 3600*24;
unlink(fn);
f=fopen(fn,"wt");
if (f) {
fprintf(f,"%d\n%s\n%s\n%s\n%d\n%c\n%10.2f\n%s\n%d\n%d\n%u\n",
usernum, thisuser.name, thisuser.realname, thisuser.callsign,
thisuser.age, thisuser.sex, thisuser.gold, thisuser.laston,
thisuser.screenchars, thisuser.screenlines, thisuser.sl);
fprintf(f,"%d\n%d\n%d\n%d\n%10.2f\n%s\n%s\n%s\n",
cs(),so(),okansi(), incom, nsl(), gd, dd, s);
if (using_modem)
fprintf(f,"%u\n",modem_speed);
else
fprintf(f,"KB\n");
fprintf(f,"%d\n%s\n%s\n%ld\n%ld\n%lu\n%u\n%lu\n%u\n%s\n%u\n%u\n",
syscfg.primaryport, syscfg.systemname, syscfg.sysopname, l, l1,
thisuser.uk, thisuser.uploaded, thisuser.dk, thisuser.downloaded,
(andwith==0x7f)?"7E1":"8N1", com_speed, net_sysnum);
fclose(f);
}
get_dir(fpn,1);
strcat(fpn,fn);
return(fpn);
}
/*****************************************************************************/
gfiles.c:
Starting at line #193, delete this one line:
# }
#
#
- void gfiles()
# {
# int i,i1,i2,done,abort,map[32],nmap,ok;
# char s[81],s1[81],s2[81],*ss;
And insert this one line:
# }
#
#
+ void gfiles(void)
# {
# int i,i1,i2,done,abort,map[32],nmap,ok;
# char s[81],s1[81],s2[81],*ss;
/*****************************************************************************/
gfledit.c:
Starting at line #45, delete this one line:
# n,x,r.name,r.filename,r.sl,r.age,r.maxfiles);
# }
#
- void showsec()
# {
# int abort,i;
# char s[180];
And insert this one line:
# n,x,r.name,r.filename,r.sl,r.age,r.maxfiles);
# }
#
+ void showsec(void)
# {
# int abort,i;
# char s[180];
Starting at line #214, delete this one line:
# }
#
#
- void gfileedit()
# {
# int i,i1,i2,done,f;
# char s[81],s1[81],s2[81],ch;
And insert this one line:
# }
#
#
+ void gfileedit(void)
# {
# int i,i1,i2,done,f;
# char s[81],s1[81],s2[81],ch;
/*****************************************************************************/
lilo.c:
Starting at line #23, delete this one line:
#
#
#
- void getuser()
# {
# char s[81],s2[81],s3[81],*ss;
# int ok,count,net_only,ans;
And insert this one line:
#
#
#
+ void getuser(void)
# {
# char s[81],s2[81],s3[81],*ss;
# int ok,count,net_only,ans,i;
Starting at line #26, delete this one line:
# void getuser()
# {
# char s[81],s2[81],s3[81],*ss;
- int ok,count,net_only,ans;
# long l;
# FILE *f;
#
And insert this one line:
# void getuser(void)
# {
# char s[81],s2[81],s3[81],*ss;
+ int ok,count,net_only,ans,i;
# long l;
# FILE *f;
#
Starting at line #65, delete these 2 lines:
# } else
# printfile("welcome.msg");
# }
- makeansi(0x07, s, 1);
- outs(s);
# do {
# nl();
# if (net_only) {
And insert these 2 lines:
# } else
# printfile("welcome.msg");
# }
+ if (curatr!=7)
+ reset_colors();
# do {
# nl();
# if (net_only) {
Starting at line #157, delete this one line:
# if (s[0]) {
# sprintf(s2,"%s /B%u /F%u",s,modem_speed,modem_flag);
# sprintf(s3,"%sREMOTES.DAT",syscfg.datadir);
- f=fopen(s3,"r");
# if (f) {
# ok=0;
# while ((!ok) && (fgets(s3,80,f))) {
And insert this one line:
# if (s[0]) {
# sprintf(s2,"%s /B%u /F%u",s,modem_speed,modem_flag);
# sprintf(s3,"%sREMOTES.DAT",syscfg.datadir);
+ f=fopen(s3,"rt");
# if (f) {
# ok=0;
# while ((!ok) && (fgets(s3,80,f))) {
Starting at line #168, add this one line:
# }
# fclose(f);
# if (ok) {
+ shrink_out(s2, -1, 0, 0, 1);
# run_external1(s2);
# }
# }
Starting at line #174, add this one line:
# }
# break;
# }
+ l=status.qscanptr;
# get_status();
# if (l!=status.qscanptr) {
# for (i=0; i<num_subs; i++) {
Starting at line #175, add these 5 lines:
# }
# l=status.qscanptr;
# get_status();
+ if (l!=status.qscanptr) {
+ for (i=0; i<num_subs; i++) {
+ sub_dates[i]=0L;
+ }
+ }
# hangup=1;
# dtr(0);
# global_xx=0;
Starting at line #203, delete this one line:
# }
#
#
- void logon()
# {
# char s[255],s1[181],s2[81],*ss;
# int i,i1,f;
And insert this one line:
# }
#
#
+ void logon(void)
# {
# char s[255],s1[181],s2[81],*ss;
# int i,i1,f;
Starting at line #214, add this one line:
# }
#
# if (live_user) {
+ reset_colors();
# ansic(0);
# outchr(12);
# }
Starting at line #361, delete these 3 lines:
# pl(s1);
# /****************************************************************************/
#
- if (syscfg.systemnumber)
- npr("WWIVnet node : @%u (net%u)\r\n",syscfg.systemnumber,
- status.net_version);
#
# nl();
# if (thisuser.forwardusr) {
And insert these 13 lines:
# pl(s1);
# /****************************************************************************/
#
+ for (i=0; i<net_num_max; i++) {
+ if (net_networks[i].sysnum) {
+ sprintf(s,"%s node",net_networks[i].name);
+ for (i1=strlen(s); i1<15; i1++)
+ s[i1]=' ';
+ s[i1]=0;
+ sprintf(s1,"%s: @%u",s,net_networks[i].sysnum);
+ for (i1=strlen(s1); i1<23; i1++)
+ s1[i1]=' ';
+ s1[i1]=0;
+ npr("%s (net%u)\r\n",s1,status.net_version);
+ }
+ }
#
# nl();
# if (thisuser.forwardusr) {
Starting at line #367, add this one line:
# nl();
# if (thisuser.forwardusr) {
# if (thisuser.forwardsys) {
+ set_net_num(thisuser.net_num);
# if (!next_system(thisuser.forwardsys)) {
# thisuser.forwardusr=0;
# thisuser.forwardsys=0;
Starting at line #372, add these 4 lines:
# thisuser.forwardsys=0;
# strcpy(s1,"Forwarded to unknown system; forwarding reset.");
# } else {
+ if (net_num_max>1)
+ sprintf(s1,"Mail set to be forwarded to %s #%u @%u.",
+ net_name,thisuser.forwardusr,thisuser.forwardsys);
+ else
# sprintf(s1,"Mail set to be forwarded to #%u @%u.",
# thisuser.forwardusr,thisuser.forwardsys);
# }
Starting at line #376, add these 3 lines:
# thisuser.forwardusr,thisuser.forwardsys);
# }
# } else {
+ if (thisuser.forwardusr==65535)
+ strcpy(s1,"Your mailbox is closed.");
+ else
# sprintf(s1,"Mail set to be forwarded to #%u.",thisuser.forwardusr);
# }
# pl(s1);
Starting at line #444, delete this one line:
# }
#
#
- void logoff()
# {
# long l;
# int f,r,w,t,i;
And insert this one line:
# }
#
#
+ void logoff(void)
# {
# long l;
# int f,r,w,t,i;
/*****************************************************************************/
misccmd.c:
Starting at line #22, delete this one line:
# #pragma hdrstop
#
#
- void read_automessage()
# {
# int i,i1,i2,i3,f,len,ptrbeg[10],ptrend[10];
# char s[81],l[6][81],anon,buf[512];
And insert this one line:
# #pragma hdrstop
#
#
+ void read_automessage(void)
# {
# int i,i1,i2,i3,f,len,ptrbeg[10],ptrend[10];
# char s[81],l[6][81],anon,buf[512];
Starting at line #83, delete this one line:
# nl();
# }
#
- void write_automessage1()
# {
# int i,i1,f;
# char s[81],l[4][81];
And insert this one line:
# nl();
# }
#
+ void write_automessage1(void)
# {
# int i,i1,f;
# char s[81],l[4][81];
Starting at line #134, delete this one line:
#
# }
#
- void write_automessage()
# {
# char ch;
# int done,okwrite;
And insert this one line:
#
# }
#
+ void write_automessage(void)
# {
# char ch;
# int done,okwrite;
Starting at line #167, add this one line:
# write_automessage1();
# break;
# case 'A':
+ grab_quotes(NULL, NULL);
# if (status.amsguser)
# email(status.amsguser,0,0,status.amsganon);
# break;
Starting at line #177, delete this one line:
# }
#
#
- void bbslist()
# {
# int i,i1,i2,f,done,ok;
# char s[150],s1[150],s2[150],ch,ch1,*ss;
And insert this one line:
# }
#
#
+ void bbslist(void)
# {
# int i,i1,i2,f,done,ok;
# char s[150],s1[150],s2[150],ch,ch1,*ss;
Starting at line #308, delete this one line:
# }
#
#
- void kill_old_email()
# {
# int cur,max,i,i1,f,done,done1,forward;
# char s[81],s1[81],ch;
And insert this one line:
# }
#
#
+ void kill_old_email(void)
# {
# int cur,max,i,i1,f,done,done1,forward;
# char s[81],s1[81],ch;
Starting at line #405, delete this one line:
# close(f);
# }
#
- void list_users()
# {
# subboardrec s;
# userrec u;
And insert this one line:
# close(f);
# }
#
+ void list_users(void)
# {
# subboardrec s;
# userrec u;
Starting at line #429, delete this one line:
# ok=1;
# if (u.sl<s.readsl)
# ok=0;
- if (u.age<s.age)
# ok=0;
# if ((s.ar!=0) && ((u.ar & s.ar)==0))
# ok=0;
And insert this one line:
# ok=1;
# if (u.sl<s.readsl)
# ok=0;
+ if (u.age<(s.age&0x7f))
# ok=0;
# if ((s.ar!=0) && ((u.ar & s.ar)==0))
# ok=0;
Starting at line #573, delete this one line:
# }
#
#
- void vote()
# {
# int i,i1,i2,f,map[21],mapp,abort,n,done;
# char s[81],s1[81],s2[81],sodc[10],*ss;
And insert this one line:
# }
#
#
+ void vote(void)
# {
# int i,i1,i2,f,map[21],mapp,abort,n,done;
# char s[81],s1[81],s2[81],sodc[10],*ss;
/*****************************************************************************/
modem.c:
Starting at line #204, delete this one line:
# initport(syscfg.primaryport);
# pr1(is);
# dump();
- if (mode_switch(10.0,0)==mode_norm) {
# done=1;
# } else {
# ++i;
And insert this one line:
# initport(syscfg.primaryport);
# pr1(is);
# dump();
+ if (mode_switch(5.0,0)==mode_norm) {
# done=1;
# } else {
# ++i;
Starting at line #218, delete this one line:
# }
#
#
- void answer_phone()
# {
# char ch,s[81],s1[81];
# int i,i1;
And insert this one line:
# }
#
#
+ void answer_phone(void)
# {
# char ch,s[81],s1[81];
# int i,i1;
Starting at line #231, add this one line:
# if ((mode_switch(45.0,1)!=mode_con) && (modem_mode!=mode_fax)) {
# if (modem_mode == 0) {
# outcomch(' ');
+ outcomch('\r');
# wait1(18);
# if (fabs(timer()-d)<modem_time) {
# outs("\r\nWaiting for modem...");
Starting at line #250, delete this one line:
# if (!(modem_flag & flag_ec))
# wait1(45);
# else
- wait1(2);
# }
# }
#
And insert this one line:
# if (!(modem_flag & flag_ec))
# wait1(45);
# else
+ wait1(18);
# }
# }
#
/*****************************************************************************/
msgbase.c:
Starting at line #59, delete this one line:
#
#
# /****************************************************************************/
- static char origin_str[81];
#
# void setorigin(int sysnum, int usernum)
# {
And insert this one line:
#
#
# /****************************************************************************/
+ static char origin_str[128];
#
# void setorigin(int sysnum, int usernum)
# {
Starting at line #64, delete this one line:
# void setorigin(int sysnum, int usernum)
# {
# int i;
- char s[81],ch;
# net_system_list_rec *csne;
#
# origin_str[0]=0;
And insert this one line:
# void setorigin(int sysnum, int usernum)
# {
# int i;
+ char s[81],s1[81],ch;
# net_system_list_rec *csne;
#
# if (net_num_max>1)
Starting at line #66, add these 5 lines:
# char s[81],s1[81],ch;
# net_system_list_rec *csne;
#
+ if (net_num_max>1)
+ sprintf(s1,"%s - ",net_networks[net_num].name);
+ else
+ s1[0]=0;
+
# origin_str[0]=0;
#
# if (sysnum) {
Starting at line #84, delete this one line:
#
# describe_area_code(atoi(csne->phone),s);
# if (s[0])
- sprintf(origin_str,"%c%s (%s) [%s]",ch,csne->name,s, csne->phone);
# else
# sprintf(origin_str,"%c%s [%s]",ch,csne->name,csne->phone);
#
And insert this one line:
#
# describe_area_code(atoi(csne->phone),s);
# if (s[0])
+ sprintf(origin_str,"%c%s%s (%s) [%s]",ch,s1,csne->name,s, csne->phone);
# else
# sprintf(origin_str,"%c%s%s [%s]",ch,s1,csne->name,csne->phone);
#
Starting at line #86, delete this one line:
# if (s[0])
# sprintf(origin_str,"%c%s (%s) [%s]",ch,csne->name,s, csne->phone);
# else
- sprintf(origin_str,"%c%s [%s]",ch,csne->name,csne->phone);
#
#
# } else
And insert this one line:
# if (s[0])
# sprintf(origin_str,"%c%s%s (%s) [%s]",ch,s1,csne->name,s, csne->phone);
# else
+ sprintf(origin_str,"%c%s%s [%s]",ch,s1,csne->name,csne->phone);
#
#
# } else
Starting at line #90, delete this one line:
#
#
# } else
- strcpy(origin_str," Unknown System");
# }
# }
#
And insert this one line:
#
#
# } else
+ sprintf(origin_str," %sUnknown System",s1);
# }
# }
#
Starting at line #95, delete this one line:
# }
#
#
- int okfsed()
# {
# int ok;
#
And insert this one line:
# }
#
#
+ int okfsed(void)
# {
# int ok;
#
Starting at line #464, delete this one line:
# }
#
#
- void inmsg(messagerec *m1, char *title, int *anony, int needtitle, char *aux, int fsed)
# {
# char s[LEN],s1[LEN],s2[LEN],ro[81],fnx[81],chx,*ss,*ss1;
# int maxli,curli,done,save,savel,i,i1,i2,i3,i4,i5,f,setanon;
And insert this one line:
# }
#
#
+ void inmsg(messagerec *m1, char *title, int *anony, int needtitle, char *aux, int fsed, char *dest, int flags)
# {
# char s[LEN],s1[LEN],s2[LEN],ro[81],fnx[81],chx,*ss,*ss1;
# int maxli,curli,done,save,savel,i,i1,i2,i3,i4,i5,f,setanon;
Starting at line #471, add these 2 lines:
# long ll,l1;
# char *lin, *b;
# int real_name=0;
+ FILE *result;
+ struct {char tlen, ttl[81], anon; } fedit_data;
#
# if ((fsed!=0) && (!okfsed()))
# fsed=0;
Starting at line #667, delete this one line:
# save=0;
# } else {
# if (fsed==1) {
- save=external_edit("INPUT.MSG",syscfg.tempdir,(int) (thisuser.defed)-1,maxli);
# } else {
# save=exist(fnx);
# if (save) {
And insert these 32 lines:
# save=0;
# } else {
# if (fsed==1) {
+ fedit_data.tlen=60;
+ strcpy(fedit_data.ttl,title);
+ fedit_data.anon=0;
+ result=fopen("fedit.inf","wb");
+ if (result) {
+ fwrite(&fedit_data, sizeof(fedit_data), 1, result);
+ fclose(result);
+ }
+ save=external_edit("INPUT.MSG",syscfg.tempdir,(int) (thisuser.defed)-1,
+ maxli, dest, title, flags);
+ if (save) {
+ if ((result=fopen("result.ed","rt"))!=NULL) {
+ if (fgets(s,80,result)) {
+ ss=strchr(s,'\n');
+ if (ss) *ss=0;
+ setanon=atoi(s);
+ if (fgets(title,80,result)) {
+ ss=strchr(title,'\n');
+ if (ss) *ss=0;
+ fclose(result);
+ }
+ }
+ } else if ((result=fopen("fedit.inf","rb"))!=NULL) {
+ if (fread(&fedit_data, sizeof(fedit_data), 1, result)==1) {
+ strcpy(title,fedit_data.ttl);
+ setanon=fedit_data.anon;
+ }
+ fclose(result);
+ }
+ }
+ unlink("result.ed");
+ unlink("fedit.inf");
# } else {
# save=exist(fnx);
# if (save) {
Starting at line #748, delete this one line:
# if (real_name)
# addline(b,thisuser.realname,&l1);
# else
- addline(b,nam1(&thisuser,usernum,syscfg.systemnumber),&l1);
# time(&ll);
# strcpy(s,ctime(&ll));
# s[strlen(s)-1]=0;
And insert this one line:
# if (real_name)
# addline(b,thisuser.realname,&l1);
# else
+ addline(b,nam1(&thisuser,usernum,net_sysnum),&l1);
# time(&ll);
# strcpy(s,ctime(&ll));
# s[strlen(s)-1]=0;
Starting at line #811, add this one line:
# return(0);
# *u=ur.forwardusr;
# *s=ur.forwardsys;
+ set_net_num(ur.net_num);
# return(1);
# } else {
# *u=0;
Starting at line #842, add this one line:
# *u=ur.forwardusr;
# *s=ur.forwardsys;
# farfree(ss);
+ set_net_num(ur.net_num);
# return(1);
# }
# if (ss[cu]) {
Starting at line #873, delete this one line:
# }
#
#
- void sendout_email(char *title, messagerec *msg, int anony, unsigned un, unsigned sy, int an)
# {
# mailrec m,m1;
# net_header_rec nh;
And insert this one line:
# }
#
#
+ void sendout_email(char *title, messagerec *msg, int anony, unsigned un, unsigned sy, int an, unsigned uf, unsigned sf, int fwd)
# {
# mailrec m,m1;
# net_header_rec nh;
Starting at line #884, add this one line:
# strcpy(m.title, title);
# m.msg=*msg;
# m.anony=anony;
+ if (sf == net_sysnum)
# m.fromsys=0;
# else
# m.fromsys=sf;
Starting at line #886, delete this one line:
# m.msg=*msg;
# m.anony=anony;
# m.fromsys=0;
- m.fromuser=usernum;
# m.tosys=sy;
# m.touser=un;
# m.status=0;
And insert these 3 lines:
# m.anony=anony;
# if (sf == net_sysnum)
# m.fromsys=0;
+ else
+ m.fromsys=sf;
+ m.fromuser=uf;
# m.tosys=sy;
# m.touser=un;
# m.status=0;
Starting at line #926, delete these 2 lines:
# remove_link(&(m.msg),"EMAIL");
# nh.tosys=sy;
# nh.touser=un;
- nh.fromsys=syscfg.systemnumber;
- nh.fromuser=usernum;
# nh.main_type=main_type_email;
# nh.minor_type=0;
# nh.list_len=0;
And insert these 5 lines:
# remove_link(&(m.msg),"EMAIL");
# nh.tosys=sy;
# nh.touser=un;
+ if (sf)
+ nh.fromsys=sf;
+ else
+ nh.fromsys=net_sysnum;
+ nh.fromuser=uf;
# nh.main_type=main_type_email;
# nh.minor_type=0;
# nh.list_len=0;
Starting at line #951, delete this one line:
# npr("Message truncated by %lu bytes for the network.\r\n",nh.length-32760L);
# nh.length = 32760;
# }
- sprintf(s,"%sP0.NET",syscfg.datadir);
# f=open(s,O_RDWR | O_BINARY | O_CREAT, S_IREAD | S_IWRITE);
# lseek(f,0L,SEEK_END);
# write(f,(void *)&nh,sizeof(net_header_rec));
And insert these 4 lines:
# npr("Message truncated by %lu bytes for the network.\r\n",nh.length-32760L);
# nh.length = 32760;
# }
+ if (fwd)
+ sprintf(s,"%sP1.NET",net_data);
+ else
+ sprintf(s,"%sP0.NET",net_data);
# f=open(s,O_RDWR | O_BINARY | O_CREAT, S_IREAD | S_IWRITE);
# lseek(f,0L,SEEK_END);
# write(f,(void *)&nh,sizeof(net_header_rec));
Starting at line #978, add this one line:
# strcat(s,">UNKNOWN<");
# }
# } else {
+ if (net_num_max>1) {
# if (un==0)
# sprintf(s1,"%s %s @%u",net_name, net_email_name,sy);
# else
Starting at line #979, add these 5 lines:
# } else {
# if (net_num_max>1) {
# if (un==0)
+ sprintf(s1,"%s %s @%u",net_name, net_email_name,sy);
+ else
+ sprintf(s1,"%s %u @%u",net_name, un,sy);
+ } else {
+ if (un==0)
# sprintf(s1,"%s @%u",net_email_name,sy);
# else
# sprintf(s1,"%u @%u",un,sy);
Starting at line #982, delete this one line:
# if (un==0)
# sprintf(s1,"%s @%u",net_email_name,sy);
# else
- sprintf(s1,"User %u @%u",un,sy);
# strcat(s,s1);
# sysoplog(s);
# }
And insert these 2 lines:
# if (un==0)
# sprintf(s1,"%s @%u",net_email_name,sy);
# else
+ sprintf(s1,"%u @%u",un,sy);
+ }
# strcat(s,s1);
# sysoplog(s);
# }
Starting at line #1018, delete this one line:
# slrec ss;
#
# ss=syscfg.sl[actsl];
- if ((sy!=0) && (syscfg.systemnumber==0)) {
# nl();
# pl("Sorry, this system is not a part of WWIVnet.");
# nl();
And insert this one line:
# slrec ss;
#
# ss=syscfg.sl[actsl];
+ if ((sy!=0) && (net_sysnum==0)) {
# nl();
# pl("Sorry, this system is not a part of WWIVnet.");
# nl();
Starting at line #1119, add this one line:
# else
# an=1;
# if (sy==0) {
+ set_net_num(0);
# if (an) {
# read_user(un,&ur);
# strcpy(s2,nam(&ur,un));
Starting at line #1125, add this one line:
# } else
# strcpy(s2,">UNKNOWN<");
# } else {
+ if (net_num_max>1) {
# if (un==0)
# sprintf(s2,"%s %s @%u",net_name, net_email_name,sy);
# else
Starting at line #1126, add these 5 lines:
# } else {
# if (net_num_max>1) {
# if (un==0)
+ sprintf(s2,"%s %s @%u",net_name, net_email_name,sy);
+ else
+ sprintf(s2,"%s %u @%u",net_name, un,sy);
+ } else {
+ if (un==0)
# sprintf(s2,"%s @%u",net_email_name,sy);
# else
# sprintf(s2,"%u @%u",un,sy);
Starting at line #1129, delete this one line:
# if (un==0)
# sprintf(s2,"%s @%u",net_email_name,sy);
# else
- sprintf(s2,"User %u @%u",un,sy);
# }
# npr("E-mailing %s\r\n",s2);
# if (ss.ability & ability_email_anony)
And insert this one line:
# if (un==0)
# sprintf(s2,"%s @%u",net_email_name,sy);
# else
+ sprintf(s2,"%u @%u",un,sy);
# }
# }
# npr("E-mailing %s\r\n",s2);
Starting at line #1130, add this one line:
# else
# sprintf(s2,"%u @%u",un,sy);
# }
+ }
# npr("E-mailing %s\r\n",s2);
# if (ss.ability & ability_email_anony)
# i=anony_enable_anony;
Starting at line #1153, delete this one line:
# nl();
# }
# msg.storage_type=EMAIL_STORAGE;
- inmsg(&msg,t,&i,!forceit,"EMAIL",ALLOW_FULLSCREEN);
# if (msg.stored_as==0xffffffff)
# return;
# if (anony & anony_sender)
And insert this one line:
# nl();
# }
# msg.storage_type=EMAIL_STORAGE;
+ inmsg(&msg,t,&i,!forceit,"EMAIL",ALLOW_FULLSCREEN, s2, 0);
# if (msg.stored_as==0xffffffff)
# return;
# if (anony & anony_sender)
Starting at line #1163, delete this one line:
# if (anony & anony_sender_pp)
# i|=anony_receiver_pp;
#
- sendout_email(t, &msg, i, un, sy, an);
# }
#
#
And insert this one line:
# if (anony & anony_sender_pp)
# i|=anony_receiver_pp;
#
+ sendout_email(t, &msg, i, un, sy, an, usernum, net_sysnum, 0);
# }
#
#
Starting at line #1195, add this one line:
# if (yn()==0)
# i=0;
# }
+ grab_quotes(NULL, NULL);
# if (i)
# email(u,s,0,0);
# }
Starting at line #1205, add these 10 lines:
# int f;
# char s[81];
#
+ if (subboards[usub[b].subnum].type) {
+ if (subboards[usub[b].subnum].age & 0x80) {
+ set_net_num(subboards[usub[b].subnum].name[40]);
+ } else {
+ set_net_num(0);
+ }
+ } else {
+ set_net_num(0);
+ }
+
# if (usub[b].subnum==curlsub)
# return;
# curlsub=usub[b].subnum;
Starting at line #1261, delete this one line:
# }
#
#
- void savebase()
# {
# int f;
# char s[81];
And insert this one line:
# }
#
#
+ void savebase(void)
# {
# int f;
# char s[81];
/*****************************************************************************/
msgbase1.c:
Starting at line #41, delete this one line:
# unsigned int ui=0,ui1;
# long len1,len2;
#
- sprintf(s,"%sNNALL.NET", syscfg.datadir);
# fi=fopen(s,"r");
# if (fi) {
# while (fgets(s,120,fi)) {
And insert this one line:
# unsigned int ui=0,ui1;
# long len1,len2;
#
+ sprintf(s,"%sNNALL.NET", net_data);
# fi=fopen(s,"r");
# if (fi) {
# while (fgets(s,120,fi)) {
Starting at line #60, delete this one line:
# }
#
# if (!ui) {
- sprintf(s,"%sNN%u.NET",syscfg.datadir,type);
# f=open(s,O_RDONLY | O_BINARY);
# if (f>0) {
# len1=filelength(f);
And insert this one line:
# }
#
# if (!ui) {
+ sprintf(s,"%sNN%u.NET",net_data,type);
# f=open(s,O_RDONLY | O_BINARY);
# if (f>0) {
# len1=filelength(f);
Starting at line #75, delete this one line:
# ++len2;
# if ((b[len2]>='0') && (b[len2]<='9') && (len2<len1)) {
# ui=atoi(&(b[len2]));
- if (ui==syscfg.systemnumber)
# ui=0;
# while ((len2<len1) && (b[len2]>='0') && (b[len2]<='9'))
# ++len2;
And insert this one line:
# ++len2;
# if ((b[len2]>='0') && (b[len2]<='9') && (len2<len1)) {
# ui=atoi(&(b[len2]));
+ if (ui==net_sysnum)
# ui=0;
# while ((len2<len1) && (b[len2]>='0') && (b[len2]<='9'))
# ++len2;
Starting at line #111, delete this one line:
# if (p -> ownersys)
# nh.fromsys=p -> ownersys;
# else
- nh.fromsys =syscfg.systemnumber;
# nh.fromuser=p -> owneruser;
# nh.main_type=main_type_post;
# nh.minor_type=type;
And insert this one line:
# if (p -> ownersys)
# nh.fromsys=p -> ownersys;
# else
+ nh.fromsys =net_sysnum;
# nh.fromuser=p -> owneruser;
# nh.main_type=main_type_post;
# nh.minor_type=type;
Starting at line #135, delete this one line:
# farfree(b1);
# return;
# }
- sprintf(s,"%sN%u.NET",syscfg.datadir,type);
# f=open(s,O_RDONLY | O_BINARY);
# if (f>0) {
# len1=filelength(f);
And insert this one line:
# farfree(b1);
# return;
# }
+ sprintf(s,"%sN%u.NET",net_data,type);
# f=open(s,O_RDONLY | O_BINARY);
# if (f>0) {
# len1=filelength(f);
Starting at line #154, delete this one line:
# ++len2;
# if ((b[len2]>='0') && (b[len2]<='9') && (len2<len1)) {
# i=atoi(&(b[len2]));
- if ((i!=syscfg.systemnumber) && (i != p -> ownersys))
# list[nh.list_len++]=i;
# while ((len2<len1) && (b[len2]>='0') && (b[len2]<='9'))
# ++len2;
And insert this one line:
# ++len2;
# if ((b[len2]>='0') && (b[len2]<='9') && (len2<len1)) {
# i=atoi(&(b[len2]));
+ if ((i!=net_sysnum) && (i != p -> ownersys))
# list[nh.list_len++]=i;
# while ((len2<len1) && (b[len2]>='0') && (b[len2]<='9'))
# ++len2;
Starting at line #181, delete this one line:
#
# /****************************************************************************/
#
- void post()
# {
# messagerec m;
# postrec p;
And insert this one line:
#
# /****************************************************************************/
#
+ void post(void)
# {
# messagerec m;
# postrec p;
Starting at line #242, delete this one line:
# nl();
# return;
# }
- if (syscfg.systemnumber) {
# nl();
# pl("This post will go out on WWIVnet.");
# nl();
And insert this one line:
# nl();
# return;
# }
+ if (net_sysnum) {
# nl();
# npr("This post will go out on %s.\r\n",net_name);
# nl();
Starting at line #244, delete this one line:
# }
# if (syscfg.systemnumber) {
# nl();
- pl("This post will go out on WWIVnet.");
# nl();
# }
# }
And insert this one line:
# }
# if (net_sysnum) {
# nl();
+ npr("This post will go out on %s.\r\n",net_name);
# nl();
# }
# }
Starting at line #248, delete this one line:
# nl();
# }
# }
- inmsg(&m,p.title,&a,1,(subboards[curlsub].filename),ALLOW_FULLSCREEN);
# if (m.stored_as!=0xffffffff) {
# p.anony=a;
# p.msg=m;
And insert these 2 lines:
# nl();
# }
# }
+ inmsg(&m,p.title,&a,1,(subboards[curlsub].filename),ALLOW_FULLSCREEN,
+ subboards[curlsub].name, (subboards[curlsub].anony&anony_no_tag)?1:0);
# if (m.stored_as!=0xffffffff) {
# p.anony=a;
# p.msg=m;
Starting at line #263, delete this one line:
# p.status=status_unvalidated;
# else
# p.status=0;
- if ((subboards[curlsub].type) && (syscfg.systemnumber) &&
# (subboards[curlsub].anony & anony_val_net) && (!lcs() || irt[0])) {
# p.status |= status_pending_net;
# dm=1;
And insert this one line:
# p.status=status_unvalidated;
# else
# p.status=0;
+ if ((subboards[curlsub].type) && (net_sysnum) &&
# (subboards[curlsub].anony & anony_val_net) && (!lcs() || irt[0])) {
# p.status |= status_pending_net;
# dm=1;
Starting at line #302, delete this one line:
# sprintf(s,"Posted on %s",subboards[curlsub].name);
# save_status();
# pl(s);
- if ((subboards[curlsub].type) && (syscfg.systemnumber)) {
# ++thisuser.postnet;
# if (!(p.status & status_pending_net))
# send_net_post(&p, subboards[curlsub].type, subboards[curlsub].filename);
And insert this one line:
# sprintf(s,"Posted on %s",subboards[curlsub].name);
# save_status();
# pl(s);
+ if ((subboards[curlsub].type) && (net_sysnum)) {
# ++thisuser.postnet;
# if (!(p.status & status_pending_net))
# send_net_post(&p, subboards[curlsub].type, subboards[curlsub].filename);
Starting at line #406, add these 9 lines:
# }
# do {
# tleft(1);
+ if (subboards[curlsub].type) {
+ if (subboards[curlsub].age & 0x80) {
+ set_net_num(subboards[curlsub].name[40]);
+ } else {
+ set_net_num(0);
+ }
+ } else {
+ set_net_num(0);
+ }
# switch(optype) {
# case 0: /* Read Prompt */
# sprintf(s,"Read:(1-%u,^%u),? :",nummsgs,msgnum);
Starting at line #457, add this one line:
# case 'A':
# if ((msgs[msgnum].ownersys) && (!msgs[msgnum].owneruser))
# grab_user_name(&(msgs[msgnum].msg),subboards[curlsub].filename);
+ grab_quotes(&(msgs[msgnum].msg),subboards[curlsub].filename);
# ss=syscfg.sl[actsl];
# if ((lcs()) || (ss.ability & ability_read_post_anony) || (msgs[msgnum].anony==0))
# email(msgs[msgnum].owneruser,msgs[msgnum].ownersys,0,0);
Starting at line #462, add this one line:
# email(msgs[msgnum].owneruser,msgs[msgnum].ownersys,0,0);
# else
# email(msgs[msgnum].owneruser,msgs[msgnum].ownersys,0,msgs[msgnum].anony);
+ grab_quotes(NULL, NULL);
# break;
# case 'P':
# irt[0]=0;
Starting at line #468, add this one line:
# irt_name[0]=0;
# case 'W':
# deleted_flag=0;
+ grab_quotes(&(msgs[msgnum].msg),subboards[curlsub].filename);
# post();
# if (deleted_flag && (deleted_flag<=msgnum))
# --msgnum;
Starting at line #471, add this one line:
# post();
# if (deleted_flag && (deleted_flag<=msgnum))
# --msgnum;
+ grab_quotes(NULL, NULL);
# break;
# case '?':
# if (lcs())
Starting at line #564, delete this one line:
# i=-1;
# if (ss1[0]==0)
# break;
- for (i1=0; i1<MAX_SUBS; i1++)
# if (strcmp(usub[i1].keys,ss1)==0)
# i=i1;
# if (i!=-1) {
And insert this one line:
# i=-1;
# if (ss1[0]==0)
# break;
+ for (i1=0; (i1<max_subs) && (usub[i1].subnum!=-1); i1++)
# if (strcmp(usub[i1].keys,ss1)==0)
# i=i1;
# if (i!=-1) {
Starting at line #605, add these 18 lines:
# }
# }
# break;
+ case 'L':
+ if (!so())
+ break;
+ nl();
+ prt(2,"Filename? ");
+ input(s,50);
+ if (s[0]) {
+ nl();
+ prt(5,"Allow editing? ");
+ if (yn()) {
+ nl();
+ load_workspace(s,0);
+ } else {
+ nl();
+ load_workspace(s,1);
+ }
+ }
+ break;
# /*************/
# }
# } else {
Starting at line #710, add this one line:
# prt(5,s);
# irt[0]=0;
# irt_name[0]=0;
+ grab_quotes(NULL, NULL);
# if (yn())
# post();
# }
Starting at line #777, delete this one line:
# nextsub=1;
# prt(3,"<< Q-Scan All >>");
# nl();
- for (i=ss; (usub[i].subnum!=-1) && (i<MAX_SUBS) && (nextsub) && (!hangup); i++) {
# #if MAX_SUBS>32
# if (((usub[i].subnum<32) && (thisuser.qscn & (1L<<(usub[i].subnum)))) ||
# ((usub[i].subnum>=32) && (thisuser.qscn2 & (1L<<(usub[i].subnum-32)))))
And insert this one line:
# nextsub=1;
# prt(3,"<< Q-Scan All >>");
# nl();
+ for (i=ss; (usub[i].subnum!=-1) && (i<max_subs) && (nextsub) && (!hangup); i++) {
# #if MAX_SUBS>32
# if (((usub[i].subnum<32) && (thisuser.qscn & (1L<<(usub[i].subnum)))) ||
# ((usub[i].subnum>=32) && (thisuser.qscn2 & (1L<<(usub[i].subnum-32)))))
Starting at line #799, delete this one line:
# nscanall();
# }
#
- void scan2()
# {
# char s[81];
# int i,i1;
And insert this one line:
# nscanall();
# }
#
+ void scan2(void)
# {
# char s[81];
# int i,i1;
Starting at line #927, add these 3 lines:
# int i;
# mailrec m;
#
+ if (m1->fromuser==65535)
+ return;
+
# ansic(5);
# if ((m1->anony & anony_sender) && ((ss->ability & ability_read_email_anony)==0)) {
# npr("Delete all mail to you from this user? ");
Starting at line #957, delete this one line:
# }
#
#
- void readmail()
# {
# int i,i1,i2,i3,f,mw,mloc[256],mfl,curmail,done,abort,next,okmail;
# unsigned short x,xx;
And insert this one line:
# }
#
#
+ void readmail(void)
# {
# int i,i1,i2,i3,f,mw,mloc[256],mfl,curmail,done,abort,next,okmail,tp,nn;
# unsigned short x,xx;
Starting at line #959, delete this one line:
#
# void readmail()
# {
- int i,i1,i2,i3,f,mw,mloc[256],mfl,curmail,done,abort,next,okmail;
# unsigned short x,xx;
# char s[81],s1[81],s2[81],fn[81],*b;
# mailrec m;
And insert this one line:
#
# void readmail(void)
# {
+ int i,i1,i2,i3,f,mw,mloc[256],mfl,curmail,done,abort,next,okmail,tp,nn;
# unsigned short x,xx;
# char s[81],s1[81],s2[81],fn[81],*b,*ss1;
# mailrec m;
Starting at line #961, delete this one line:
# {
# int i,i1,i2,i3,f,mw,mloc[256],mfl,curmail,done,abort,next,okmail;
# unsigned short x,xx;
- char s[81],s1[81],s2[81],fn[81],*b;
# mailrec m;
# slrec ss;
# userrec u;
And insert this one line:
# {
# int i,i1,i2,i3,f,mw,mloc[256],mfl,curmail,done,abort,next,okmail,tp,nn;
# unsigned short x,xx;
+ char s[81],s1[81],s2[81],fn[81],*b,*ss1;
# mailrec m;
# slrec ss;
# userrec u;
Starting at line #967, add this one line:
# char ch;
# long len,num_mail,num_mail1;
# unsigned short un, sy;
+ net_system_list_rec *csne;
#
# ss=syscfg.sl[actsl];
# sprintf(fn,"%sEMAIL.DAT",syscfg.datadir);
Starting at line #1006, add these 11 lines:
# for (i=0; i<mw; i++) {
# lseek(f,((long) mloc[i]) * sizeof(mailrec),SEEK_SET);
# read(f,(void *) (&m),sizeof(mailrec));
+ tp=80;
+ if (m.status & status_source_verified)
+ tp -= 2;
+ if (m.status & status_new_net) {
+ tp -= 1;
+ if (strlen(m.title)<=tp) {
+ nn=m.title[tp+1];
+ } else
+ nn=0;
+ } else
+ nn=0;
# sprintf(s,"%d. ",i+1);
# if ((m.anony & anony_sender) && ((ss.ability & ability_read_email_anony)==0)) {
# strcat(s,">UNKNOWN<");
Starting at line #1013, delete this one line:
# } else {
# if (m.fromsys==0) {
# if (m.fromuser==65535)
- strcat(s,"WWIVnet");
# else {
# read_user(m.fromuser,&u);
# strcat(s,nam(&u,m.fromuser));
And insert this one line:
# } else {
# if (m.fromsys==0) {
# if (m.fromuser==65535)
+ strcat(s,net_networks[nn].name);
# else {
# read_user(m.fromuser,&u);
# strcat(s,nam(&u,m.fromuser));
Starting at line #1019, delete this one line:
# strcat(s,nam(&u,m.fromuser));
# }
# } else {
- sprintf(s1,"User %u @%u",m.fromuser,m.fromsys);
# strcat(s,s1);
# }
# }
And insert these 11 lines:
# strcat(s,nam(&u,m.fromuser));
# }
# } else {
+ set_net_num(nn);
+ csne=next_system(m.fromsys);
+ if (csne)
+ ss1=csne->name;
+ else
+ ss1="Unknown System";
+ if (net_num_max>1)
+ sprintf(s1,"%s #%u @%u (%s)",
+ net_networks[nn].name,m.fromuser,m.fromsys,ss1);
+ else
+ sprintf(s1,"User %u @%u (%s)",m.fromuser,m.fromsys,ss1);
# strcat(s,s1);
# }
# }
Starting at line #1081, delete this one line:
# grab_user_name(&(m.msg),"EMAIL");
# else
# net_email_name[0]=0;
- setorigin(m.fromsys, m.fromuser);
# if (m.status & status_source_verified) {
# if (strlen(m.title)<=78) {
# xx=*(short *) (m.title+79);
And insert this one line:
# grab_user_name(&(m.msg),"EMAIL");
# else
# net_email_name[0]=0;
+ tp=80;
# if (m.status & status_source_verified) {
# tp -= 2;
# if (strlen(m.title)<=tp) {
Starting at line #1083, delete these 2 lines:
# net_email_name[0]=0;
# setorigin(m.fromsys, m.fromuser);
# if (m.status & status_source_verified) {
- if (strlen(m.title)<=78) {
- xx=*(short *) (m.title+79);
# sprintf(s,"-=-=: Type %u Source Verified",xx);
# if (xx==1) {
# strcat(s," (From NC)");
And insert these 3 lines:
# net_email_name[0]=0;
# tp=80;
# if (m.status & status_source_verified) {
+ tp -= 2;
+ if (strlen(m.title)<=tp) {
+ xx=*(short *) (m.title+tp+1);
# sprintf(s,"-=-=: Type %u Source Verified",xx);
# if (xx==1) {
# strcat(s," (From NC)");
Starting at line #1099, add these 10 lines:
# pla(s,&abort);
# }
# }
+ if (m.status & status_new_net) {
+ tp -= 1;
+ if (strlen(m.title)<=tp) {
+ nn=m.title[tp+1];
+ } else
+ nn=0;
+ } else
+ nn=0;
+ set_net_num(nn);
+ setorigin(m.fromsys, m.fromuser);
# if (!abort)
# read_message1(&m.msg, (m.anony & 0x0f), i, &next, "EMAIL");
# }
Starting at line #1104, add this one line:
# }
# }
# do {
+ set_net_num(nn);
# i2=1;
# irt_name[0]=0;
# prt(2,"Mail {?} : ");
Starting at line #1113, delete this one line:
# ch=onek("QI?-+G");
# else
# if (so())
- ch=onek("QSRIDAF?-+GEZPVUOL");
# else
# if (cs())
# ch=onek("QSRIDAF?-+GZPVUO");
And insert this one line:
# ch=onek("QI?-+G");
# else
# if (so())
+ ch=onek("QSRIDAF?-+GEZPVUOLC");
# else
# if (cs())
# ch=onek("QSRIDAF?-+GZPVUOC");
Starting at line #1116, delete this one line:
# ch=onek("QSRIDAF?-+GEZPVUOL");
# else
# if (cs())
- ch=onek("QSRIDAF?-+GZPVUO");
# else
# ch=onek("QSRIDAF?+-G");
# switch (ch) {
And insert this one line:
# ch=onek("QSRIDAF?-+GEZPVUOLC");
# else
# if (cs())
+ ch=onek("QSRIDAF?-+GZPVUOC");
# else
# ch=onek("QSRIDAF?+-G");
# switch (ch) {
Starting at line #1141, add this one line:
# num_mail=((long) thisuser.feedbacksent) +
# ((long) thisuser.emailsent) +
# ((long) thisuser.emailnet);
+ grab_quotes(NULL, NULL);
# if (m.fromuser!=65535)
# email(m.fromuser,m.fromsys,0,m.anony);
# f=open(fn,O_RDWR | O_BINARY);
Starting at line #1150, delete this one line:
# ((long) thisuser.emailnet);
#
# if (num_mail != num_mail1) {
- strcpy(s,nam1(&thisuser,usernum,syscfg.systemnumber));
# if (m.anony & anony_receiver)
# strcpy(s,">UNKNOWN<");
# strcat(s," read your mail on ");
And insert this one line:
# ((long) thisuser.emailnet);
#
# if (num_mail != num_mail1) {
+ strcpy(s,nam1(&thisuser,usernum,net_sysnum));
# if (m.anony & anony_receiver)
# strcpy(s,">UNKNOWN<");
# strcat(s," read your mail on ");
Starting at line #1206, delete this one line:
# case 'D':
# if (!okmail)
# break;
- strcpy(s,nam1(&thisuser,usernum,syscfg.systemnumber));
# if (m.anony & anony_receiver)
# strcpy(s,">UNKNOWN<");
# strcat(s," read your mail on ");
And insert this one line:
# case 'D':
# if (!okmail)
# break;
+ strcpy(s,nam1(&thisuser,usernum,net_sysnum));
# if (m.anony & anony_receiver)
# strcpy(s,">UNKNOWN<");
# strcat(s," read your mail on ");
Starting at line #1256, add this one line:
# }
# if (un || sy) {
# if (sy) {
+ if (net_num_max>1) {
# if (un) {
# sprintf(s1,"%s #%u @%u",net_name, un, sy);
# } else {
Starting at line #1258, delete this one line:
# if (un || sy) {
# if (sy) {
# if (un) {
- sprintf(s1,"#%u @%u",un, sy);
# } else {
# sprintf(s1,"%s @%u",net_email_name, sy);
# }
And insert this one line:
# if (sy) {
# if (net_num_max>1) {
# if (un) {
+ sprintf(s1,"%s #%u @%u",net_name, un, sy);
# } else {
# sprintf(s1,"%s %s @%u",net_name, net_email_name, sy);
# }
Starting at line #1260, delete this one line:
# if (un) {
# sprintf(s1,"#%u @%u",un, sy);
# } else {
- sprintf(s1,"%s @%u",net_email_name, sy);
# }
# } else {
# read_user(un,&u);
And insert this one line:
# if (un) {
# sprintf(s1,"%s #%u @%u",net_name, un, sy);
# } else {
+ sprintf(s1,"%s %s @%u",net_name, net_email_name, sy);
# }
# } else {
# if (un) {
Starting at line #1262, add these 7 lines:
# sprintf(s1,"%s %s @%u",net_name, net_email_name, sy);
# }
# } else {
+ if (un) {
+ sprintf(s1,"#%u @%u", un, sy);
+ } else {
+ sprintf(s1,"%s @%u", net_email_name, sy);
+ }
+ }
+ } else {
# read_user(un,&u);
# strcpy(s1,nam1(&u,un,net_sysnum));
# }
Starting at line #1264, delete this one line:
# }
# } else {
# read_user(un,&u);
- strcpy(s1,nam1(&u,un,syscfg.systemnumber));
# }
# if (ok_to_mail(un, sy, 0)) {
# sprintf(s,"Forward to %s? ",s1);
And insert this one line:
# }
# } else {
# read_user(un,&u);
+ strcpy(s1,nam1(&u,un,net_sysnum));
# }
# if (ok_to_mail(un, sy, 0)) {
# sprintf(s,"Forward to %s? ",s1);
Starting at line #1269, add these 2 lines:
# sprintf(s,"Forward to %s? ",s1);
# prt(5,s);
# if (yn()) {
+ i=net_num;
+ set_net_num(nn);
# sprintf(s,"\r\nForwarded from: %s",
# nam1(&thisuser,usernum,net_sysnum));
# lineadd(&m.msg,s,"EMAIL");
Starting at line #1271, delete this one line:
# prt(5,s);
# if (yn()) {
# sprintf(s,"\r\nForwarded from: %s",
- nam1(&thisuser,usernum,syscfg.systemnumber));
# lineadd(&m.msg,s,"EMAIL");
# sprintf(s,"%s forwarded your mail to %s",
# nam1(&thisuser,usernum,syscfg.systemnumber),s1);
And insert this one line:
# i=net_num;
# set_net_num(nn);
# sprintf(s,"\r\nForwarded from: %s",
+ nam1(&thisuser,usernum,net_sysnum));
# lineadd(&m.msg,s,"EMAIL");
# sprintf(s,"%s forwarded your mail to %s",
# nam1(&thisuser,usernum,net_sysnum),s1);
Starting at line #1274, delete this one line:
# nam1(&thisuser,usernum,syscfg.systemnumber));
# lineadd(&m.msg,s,"EMAIL");
# sprintf(s,"%s forwarded your mail to %s",
- nam1(&thisuser,usernum,syscfg.systemnumber),s1);
# if (!(m.status & status_source_verified))
# ssm(m.fromuser,m.fromsys,s);
# sysoplog("Forwarded mail.");
And insert this one line:
# nam1(&thisuser,usernum,net_sysnum));
# lineadd(&m.msg,s,"EMAIL");
# sprintf(s,"%s forwarded your mail to %s",
+ nam1(&thisuser,usernum,net_sysnum),s1);
# if (!(m.status & status_source_verified))
# ssm(m.fromuser,m.fromsys,s);
# set_net_num(i);
Starting at line #1276, add this one line:
# nam1(&thisuser,usernum,net_sysnum),s1);
# if (!(m.status & status_source_verified))
# ssm(m.fromuser,m.fromsys,s);
+ set_net_num(i);
# sysoplog("Forwarded mail.");
# --thisuser.waiting;
# if (usernum==1)
Starting at line #1282, delete this one line:
# if (usernum==1)
# --fwaiting;
# outstr("Forwarding: ");
- sendout_email(m.title, &m.msg, m.anony, un, sy, 1);
# m.touser=0;
# m.tosys=0;
# m.daten=0xffffffff;
And insert these 6 lines:
# if (usernum==1)
# --fwaiting;
# outstr("Forwarding: ");
+ close(f);
+ if ((nn != net_num) && (m.fromsys))
+ sendout_email(m.title, &m.msg, m.anony, un, sy, 1, usernum, net_sysnum, 1);
+ else
+ sendout_email(m.title, &m.msg, m.anony, un, sy, 1, m.fromuser, m.fromsys, 1);
+ f=open(fn,O_RDWR | O_BINARY);
# m.touser=0;
# m.tosys=0;
# m.daten=0xffffffff;
Starting at line #1310, delete this one line:
# num_mail=((long) thisuser.feedbacksent) +
# ((long) thisuser.emailsent) +
# ((long) thisuser.emailnet);
- if (m.fromuser!=65535)
# email(m.fromuser,m.fromsys,0,m.anony);
# f=open(fn,O_RDWR | O_BINARY);
# num_mail1=((long) thisuser.feedbacksent) +
And insert these 2 lines:
# num_mail=((long) thisuser.feedbacksent) +
# ((long) thisuser.emailsent) +
# ((long) thisuser.emailnet);
+ if (m.fromuser!=65535) {
+ grab_quotes(&(m.msg),"EMAIL");
# email(m.fromuser,m.fromsys,0,m.anony);
# grab_quotes(NULL, NULL);
# }
Starting at line #1311, add these 2 lines:
# if (m.fromuser!=65535) {
# grab_quotes(&(m.msg),"EMAIL");
# email(m.fromuser,m.fromsys,0,m.anony);
+ grab_quotes(NULL, NULL);
+ }
# f=open(fn,O_RDWR | O_BINARY);
# num_mail1=((long) thisuser.feedbacksent) +
# ((long) thisuser.emailsent) +
Starting at line #1318, delete this one line:
# ((long) thisuser.emailnet);
# if (ch=='A') {
# if (num_mail!=num_mail1) {
- strcpy(s,nam1(&thisuser,usernum,syscfg.systemnumber));
# if (m.anony & anony_receiver)
# strcpy(s,">UNKNOWN<");
# strcat(s," read your mail on ");
And insert this one line:
# ((long) thisuser.emailnet);
# if (ch=='A') {
# if (num_mail!=num_mail1) {
+ strcpy(s,nam1(&thisuser,usernum,net_sysnum));
# if (m.anony & anony_receiver)
# strcpy(s,">UNKNOWN<");
# strcat(s," read your mail on ");
Starting at line #1349, add this one line:
# break;
# case 'U':
# case 'V':
+ case 'C':
# if (!okmail)
# break;
# if ((m.fromsys==0) && (cs()) && (m.fromuser!=65535))
Starting at line #1355, delete this one line:
# if ((m.fromsys==0) && (cs()) && (m.fromuser!=65535))
# if (ch=='V')
# valuser(m.fromuser);
- else
# uedit(m.fromuser,0);
# else
# if (cs()) {
And insert this one line:
# if ((m.fromsys==0) && (cs()) && (m.fromuser!=65535))
# if (ch=='V')
# valuser(m.fromuser);
+ else if (ch=='U')
# uedit(m.fromuser,0);
# else
# uedit(m.fromuser,3);
Starting at line #1357, add these 2 lines:
# else if (ch=='U')
# uedit(m.fromuser,0);
# else
+ uedit(m.fromuser,3);
+ else
# if (cs()) {
# nl();
# pl("Mail from another system.");
Starting at line #1381, add this one line:
# load_workspace(s,1);
# }
# }
+ break;
# }
# } while ((!i2) && (!hangup));
# } while ((!hangup) && (!done));
Starting at line #1389, delete this one line:
# }
#
#
- void remove_post()
# {
# int i,i1,any,abort;
# char s[161];
And insert this one line:
# }
#
#
+ void remove_post(void)
# {
# int i,i1,any,abort;
# char s[161];
Starting at line #1438, delete this one line:
#
#
#
- int external_edit(char *fn1, char *direc, int ednum, int numlines)
# {
# char s[255],s1[128],fn[128],s2[128],s3[81],sx1[21],sx2[21],sx3[21],ch;
# int i,i1,i2,r,w,filethere,mod,newtl;
And insert this one line:
#
#
#
+ int external_edit(char *fn1, char *direc, int ednum, int numlines, char *dest, char *title, int flags)
# {
# char s[255],s1[128],fn[128],s2[128],s3[81],sx1[21],sx2[21],sx3[21],ch;
# int i,i1,i2,r,w,filethere,mod,newtl;
Starting at line #1442, add this one line:
# char s[255],s1[128],fn[128],s2[128],s3[81],sx1[21],sx2[21],sx3[21],ch;
# int i,i1,i2,r,w,filethere,mod,newtl;
# struct ftime ftimep,ftimep1;
+ FILE *f;
#
# unlink("editor.inf");
# unlink("result.ed");
Starting at line #1443, add these 3 lines:
# struct ftime ftimep,ftimep1;
# FILE *f;
#
+ unlink("editor.inf");
+ unlink("result.ed");
+
# if ((ednum>=numed) || (!okansi())) {
# nl();
# pl("You can't use that full screen editor.");
Starting at line #1490, add these 25 lines:
# itoa(defscreenbottom+1-newtl,sx2,10);
# itoa(numlines,sx3,10);
# stuff_in(s,s1,fn,sx1,sx2,sx3,"");
+ if ((f=fopen("EDITOR.INF","wt"))!=NULL) {
+ fprintf(f,"%s\n%s\n%u\n%s\n%s\n%u\n%u\n%u\n",
+ title,
+ dest,
+ usernum,
+ thisuser.name,
+ thisuser.realname,
+ thisuser.sl,
+ flags,
+ topline);
+ fclose(f);
+ }
+ if (flags&1) {
+ /* disable tag lines */
+ f=fopen("disable.tag","w");
+ if (f) fclose(f);
+ } else {
+ unlink("disable.tag");
+ }
+ if (!irt[0]) {
+ unlink("quotes.txt");
+ unlink("quotes.ind");
+ }
+
+ in_fsed=1;
# full_external(s,0,1);
# in_fsed=0;
# unlink("editor.inf");
Starting at line #1491, add these 5 lines:
#
# in_fsed=1;
# full_external(s,0,1);
+ in_fsed=0;
+ unlink("editor.inf");
+ unlink("disable.tag");
+ unlink("quotes.txt");
+ unlink("quotes.ind");
# if (!wfc)
# topscreen();
# mod=0;
Starting at line #1509, add these 119 lines:
# mod=1;
# }
# return(mod);
+ }
+
+ #define LINELEN 79
+
+ #define NL {if (!cp) fwrite(pfx,1,pfxlen,f);fwrite("\r\n",1,2,f); cp=ns=ctlc=0;}
+ #define FLSH {if (ss1) { if (cp && (l3+cp>=LINELEN)) NL else if (ns) cp+=fwrite(" ",1,1,f);\
+ if (!cp) {if (ctld) fprintf(f,"\004%c",ctld);ctld=0;cp=fwrite(pfx,1,pfxlen,f);}\
+ fwrite(ss1,1,l2,f); cp+=l3; ss1=NULL;l2=l3=0;ns=1;}}
+
+ void grab_quotes(messagerec *m, char *aux)
+ {
+ char *ss,*ss1;
+ long l,l1,l2,l3;
+ FILE *f;
+ char *pfx="> ";
+ int cp=0,ctla=0,ctlc=0,ns=0,ctld=0,ff;
+ int pfxlen=strlen(pfx);
+
+ unlink("quotes.txt");
+ unlink("quotes.ind");
+ if (quotes_nrm)
+ farfree(quotes_nrm);
+ if (quotes_ind)
+ farfree(quotes_ind);
+
+ quotes_nrm=quotes_ind=NULL;
+ quotes_nrm_l=quotes_ind_l=0;
+
+ if (m && aux) {
+
+ ss=readfile(m, aux, &l);
+
+ if (ss) {
+ quotes_nrm=ss;
+ quotes_nrm_l=l;
+
+ f=fopen("quotes.txt", "wb");
+ if (f) {
+ fwrite(ss, 1, l, f);
+ fclose(f);
+ }
+
+ f=fopen("quotes.ind", "wb");
+ if (f) {
+ l3=l2=0;
+ ss1=NULL;
+ for (l1=0; l1<l; l1++) {
+ if (ctld==-1)
+ ctld=ss[l1];
+ else switch(ss[l1]) {
+ case 1:
+ ctla=1;
+ break;
+ case 2:
+ break;
+ case 3:
+ if (!ss1)
+ ss1=ss+l1;
+ l2++;
+ ctlc=1;
+ break;
+ case 4:
+ ctld=-1;
+ break;
+ case '\n':
+ if (ctla) {
+ ctla=0;
+ } else {
+ FLSH;
+ NL;
+ }
+ break;
+ case ' ':
+ case '\r':
+ if (ss1) {
+ FLSH;
+ } else {
+ if (ss[l1]==' ') {
+ if (cp+1>=LINELEN)
+ NL;
+ if (!cp) {
+ if (ctld)
+ fprintf(f,"\004%c",ctld);
+ ctld=0;
+ cp=fwrite(pfx,1,pfxlen,f);
+ }
+ cp++;
+ fwrite(" ",1,1,f);
+ }
+ }
+ break;
+ default:
+ if (!ss1)
+ ss1=ss+l1;
+ l2++;
+ if (ctlc)
+ ctlc=0;
+ else
+ l3++;
+ break;
+ }
+ }
+ FLSH;
+ if (cp)
+ fwrite("\r\n",1,2,f);
+ fclose(f);
+ ff=open("quotes.ind",O_RDONLY|O_BINARY);
+ if (ff>0) {
+ quotes_ind_l=filelength(ff);
+ quotes_ind=(char *)farmalloc(quotes_ind_l);
+ if (quotes_ind) {
+ read(ff,quotes_ind, quotes_ind_l);
+ } else
+ quotes_ind_l=0;
+ close(ff);
+ }
+ }
+ }
+ }
# }
/*****************************************************************************/
multmail.c:
Starting at line #54, delete this one line:
# m.msg.storage_type=EMAIL_STORAGE;
# strcpy(irt,"Multi-Mail");
# irt_name[0]=0;
- inmsg(&m.msg,t,&i,1,"EMAIL",ALLOW_FULLSCREEN);
# if (m.msg.stored_as==0xffffffff)
# return;
# strcpy(m.title,t);
And insert these 2 lines:
# m.msg.storage_type=EMAIL_STORAGE;
# strcpy(irt,"Multi-Mail");
# irt_name[0]=0;
+ unlink("quotes.txt");
+ inmsg(&m.msg,t,&i,1,"EMAIL",ALLOW_FULLSCREEN, "Multi-Mail", 0);
# if (m.msg.stored_as==0xffffffff)
# return;
# strcpy(m.title,t);
Starting at line #136, delete this one line:
# int mml_started;
#
#
- int oneuser()
# {
# char s[81],*ss;
# unsigned short un,sn,i;
And insert this one line:
# int mml_started;
#
#
+ int oneuser(void)
# {
# char s[81],*ss;
# unsigned short un,sn,i;
Starting at line #160, delete this one line:
# prt(2,">");
# input(s,40);
# }
- un=finduser(s);
# if (un==65535)
# return(-1);
# if (s[0]==0)
And insert this one line:
# prt(2,">");
# input(s,40);
# }
+ un=finduser1(s);
# if (un==65535)
# return(-1);
# if (s[0]==0)
Starting at line #248, delete this one line:
# #define MAX_LIST 40
#
#
- void slash_e()
# {
# int un[MAX_LIST],numu,done,i,i1,f1;
# char s[81],s1[81],ch,*sss;
And insert this one line:
# #define MAX_LIST 40
#
#
+ void slash_e(void)
# {
# int un[MAX_LIST],numu,done,i,i1,f1;
# char s[81],s1[81],ch,*sss;
/*****************************************************************************/
newuser.c:
Starting at line #80, delete this one line:
# return(ok);
# }
#
- void input_name()
# {
# int ok,count;
#
And insert this one line:
# return(ok);
# }
#
+ void input_name(void)
# {
# int ok,count;
#
Starting at line #107, delete this one line:
# } while ((!ok) && (!hangup));
# }
#
- void input_realname()
# {
# do {
# nl();
And insert this one line:
# } while ((!ok) && (!hangup));
# }
#
+ void input_realname(void)
# {
# do {
# nl();
Starting at line #131, delete this one line:
# } while ((thisuser.realname[0]==0) && (!hangup));
# }
#
- void input_callsign()
# {
# nl();
# ansic(3);
And insert this one line:
# } while ((thisuser.realname[0]==0) && (!hangup));
# }
#
+ void input_callsign(void)
# {
# nl();
# ansic(3);
Starting at line #143, delete this one line:
# input(thisuser.callsign,6);
# }
#
- void input_phone()
# {
# int ok,i;
#
And insert this one line:
# input(thisuser.callsign,6);
# }
#
+ void input_phone(void)
# {
# int ok,i;
#
Starting at line #181, delete this one line:
# } while ((!ok) && (!hangup));
# }
#
- void input_sex()
# {
# nl();
# prt(2,"Your gender (M,F) :");
And insert this one line:
# } while ((!ok) && (!hangup));
# }
#
+ void input_sex(void)
# {
# nl();
# prt(2,"Your gender (M,F) :");
Starting at line #241, delete this one line:
# nl();
# }
#
- void input_comptype()
# {
# int i,ok,ct;
# char c[5];
And insert this one line:
# nl();
# }
#
+ void input_comptype(void)
# {
# int i,ok,ct;
# char c[5];
Starting at line #274, delete this one line:
# thisuser.comp_type=0;
# }
#
- void input_screensize()
# {
# int ok,x,y;
# char s[5];
And insert this one line:
# thisuser.comp_type=0;
# }
#
+ void input_screensize(void)
# {
# int ok,x,y;
# char s[5];
Starting at line #318, delete this one line:
# screenlinest=y;
# }
#
- void input_pw()
# {
# int ok;
# char s[81];
And insert this one line:
# screenlinest=y;
# }
#
+ void input_pw(void)
# {
# int ok;
# char s[81];
Starting at line #342, delete this one line:
# }
#
#
- void input_ansistat()
# {
# int i,c,c2;
# char ch;
And insert this one line:
# }
#
#
+ void input_ansistat(void)
# {
# int i,c,c2;
# char ch;
Starting at line #387, delete this one line:
# }
#
#
- void newuser()
# {
# int i,ok;
# char s[255],s1[81],ch;
And insert this one line:
# }
#
#
+ void newuser(void)
# {
# int i,ok;
# char s[255],s1[81],ch;
Starting at line #601, add this one line:
# sl1(0,"#Aborted FEEDBACK.MSG");
# sprintf(irt,"Validation Feedback (%d slots left)",syscfg.maxusers-status.users);
# irt_name[0]=0;
+ grab_quotes(NULL, NULL);
# email(1,0,1,0);
# }
# if (syscfg.newuser_c[0]) {
/*****************************************************************************/
return.c:
Starting at line #36, delete these 12 lines:
#
# void far *funcs[25];
# /****************************************************************************/
-
- void ansic(int n);
- unsigned char getkey();
- char inkey();
- void pausescr();
- void backspace();
- void nl();
- void outstr(char *s);
- void outchr(char c);
- void checkhangup();
- void outcomch(char ch);
- long timer1();
# void checka(int *abort, int *next);
# /****************************************************************************/
# char *xenviron[50],newprompt[161];
And insert these 5 lines:
#
# void far *funcs[25];
# /****************************************************************************/
+ void my_video_int(void);
+ int okansi(void);
+ void wait1(long l);
+ void setbeep(int i);
+ void pla(char *s, int *abort);
# void checka(int *abort, int *next);
# void inli(char *s, char *rollover, int maxlen, int crend);
# long timer1(void);
Starting at line #48, add these 62 lines:
# void setbeep(int i);
# void pla(char *s, int *abort);
# void checka(int *abort, int *next);
+ void inli(char *s, char *rollover, int maxlen, int crend);
+ long timer1(void);
+ void movecsr(int x,int y);
+ int wherex(void);
+ int wherey(void);
+ void lf(void);
+ void cr(void);
+ void clrscrb(void);
+ void bs(void);
+ void out1chx(unsigned char ch);
+ void out1ch(unsigned char ch);
+ void far interrupt async_isr(void);
+ void outcomch(char ch);
+ char get1c(void);
+ int comhit(void);
+ void dump(void);
+ void set_baud(unsigned int rate);
+ void initport(int portnum);
+ void closeport(void);
+ int cdet(void);
+ void checkhangup(void);
+ void addto(char *s, int i);
+ void makeansi(unsigned char attr, char *s, int forceit);
+ void setfgc(int i);
+ void setbgc(int i);
+ void execute_ansi(void);
+ void outchr(char c);
+ void outstr(char *s);
+ void nl(void);
+ void backspace(void);
+ void setc(unsigned char ch);
+ void pausescr(void);
+ void pl(char *s);
+ int kbhitb(void);
+ int empty(void);
+ void skey1(char *ch);
+ char getchd(void);
+ char getchd1(void);
+ char inkey(void);
+ void mpl(int i);
+ char upcase(char ch);
+ unsigned char getkey(void);
+ void input1(char *s, int maxlen, int lc, int crend);
+ void input(char *s, int len);
+ void inputl(char *s, int len);
+ int yn(void);
+ int ny(void);
+ void ansic(int n);
+ char onek(char *s);
+ void prt(int i, char *s);
+ unsigned char getkeyext(void);
+ int do_it(char *cl);
+ int do_remote(char *s, int ccc);
+ void checka2(void);
+ void outdosstr(char *s);
+ int full_external(char *s, int ccc);
+ int init_r(void);
+ void get_dir(char *s, int be);
+ void cd_to(char *s);
+ void setup_stuff(void);
+ void main(int argc, char *argv[]);
+
# /****************************************************************************/
# char *xenviron[50],newprompt[161];
# char ver_no1[51], ver_no2[51];
Starting at line #85, delete this one line:
#
# /****************************************************************************/
#
- void my_video_int()
# {
# #if __TURBOC__ >= 0x0200
# /* TC 2.0 or TC++ here */
And insert this one line:
#
# /****************************************************************************/
#
+ void my_video_int(void)
# {
# #if __TURBOC__ >= 0x0200
# /* TC 2.0 or TC++ here */
Starting at line #105, delete this one line:
#
# /****************************************************************************/
#
- int okansi()
# /* This function checks the status of the current user's record to see if
# * the user has specified that he wants ANSI graphics displayed.
# */
And insert this one line:
#
# /****************************************************************************/
#
+ int okansi(void)
# /* This function checks the status of the current user's record to see if
# * the user has specified that he wants ANSI graphics displayed.
# */
Starting at line #335, delete this one line:
#
#
#
- long timer1()
# /* This function returns the time, in seconds since midnight. */
# {
# unsigned short h,m;
And insert this one line:
#
#
#
+ long timer1(void)
# /* This function returns the time, in seconds since midnight. */
# {
# unsigned short h,m;
Starting at line #381, delete this one line:
#
#
#
- int wherex()
# /* This function returns the current X cursor position, as the number of
# * characters from the left hand side of the screen. An X position of zero
# * means the cursor is at the left-most position
And insert this one line:
#
#
#
+ int wherex(void)
# /* This function returns the current X cursor position, as the number of
# * characters from the left hand side of the screen. An X position of zero
# * means the cursor is at the left-most position
Starting at line #396, delete this one line:
#
#
#
- int wherey()
# /* This function returns the Y cursor position, as the line number from
# * the top of the logical window. The offset due to the protected top
# * of the screen display is taken into account. A wherey() of zero means
And insert this one line:
#
#
#
+ int wherey(void)
# /* This function returns the Y cursor position, as the line number from
# * the top of the logical window. The offset due to the protected top
# * of the screen display is taken into account. A wherey() of zero means
Starting at line #412, delete this one line:
#
#
#
- void lf()
# /* This function performs a linefeed to the screen (but not remotely) by
# * either moving the cursor down one line, or scrolling the logical screen
# * up one line.
And insert this one line:
#
#
#
+ void lf(void)
# /* This function performs a linefeed to the screen (but not remotely) by
# * either moving the cursor down one line, or scrolling the logical screen
# * up one line.
Starting at line #439, delete this one line:
#
#
#
- void cr()
# /* This short function returns the local cursor to the left-most position
# * on the screen.
# */
And insert this one line:
#
#
#
+ void cr(void)
# /* This short function returns the local cursor to the left-most position
# * on the screen.
# */
Starting at line #452, delete this one line:
# my_video_int();
# }
#
- void clrscrb()
# /* This clears the local logical screen */
# {
# SCROLL_UP(topline,screenbottom,0);
And insert this one line:
# my_video_int();
# }
#
+ void clrscrb(void)
# /* This clears the local logical screen */
# {
# SCROLL_UP(topline,screenbottom,0);
Starting at line #462, delete this one line:
#
#
#
- void bs()
# /* This function moves the cursor one position to the left, or if the cursor
# * is currently at its left-most position, the cursor is moved to the end of
# * the previous line, except if it is on the top line, in which case nothing
And insert this one line:
#
#
#
+ void bs(void)
# /* This function moves the cursor one position to the left, or if the cursor
# * is currently at its left-most position, the cursor is moved to the end of
# * the previous line, except if it is on the top line, in which case nothing
Starting at line #563, delete this one line:
#
#
# /****************************************************************************/
- void far interrupt async_isr ()
# /* This function is called every time a char is received on the com port.
# * The character is stored in the buffer[] array, and the head pointer is
# * updated.
And insert this one line:
#
#
# /****************************************************************************/
+ void far interrupt async_isr(void)
# /* This function is called every time a char is received on the com port.
# * The character is stored in the buffer[] array, and the head pointer is
# * updated.
Starting at line #591, delete this one line:
#
#
#
- char get1c()
# /* This function returns one character from the com port, or a zero if
# * no character is waiting
# */
And insert this one line:
#
#
#
+ char get1c(void)
# /* This function returns one character from the com port, or a zero if
# * no character is waiting
# */
Starting at line #611, delete this one line:
#
#
#
- int comhit()
# /* This returns a value telling if there is a character waiting in the com
# * buffer.
# */
And insert this one line:
#
#
#
+ int comhit(void)
# /* This returns a value telling if there is a character waiting in the com
# * buffer.
# */
Starting at line #621, delete this one line:
#
#
#
- void dump()
# /* This function clears the com buffer */
# {
# disable();
And insert this one line:
#
#
#
+ void dump(void)
# /* This function clears the com buffer */
# {
# disable();
Starting at line #674, delete this one line:
#
#
#
- void closeport()
# /* This function closes out the com port, removing the interrupt routine,
# * etc.
# */
And insert this one line:
#
#
#
+ void closeport(void)
# /* This function closes out the com port, removing the interrupt routine,
# * etc.
# */
Starting at line #692, delete this one line:
# }
#
#
- int cdet()
# /* This returns the status of the carrier detect lead from the modem */
# {
# return((inportb(base + 6) & 0x80) ? 1 : 0);
And insert this one line:
# }
#
#
+ int cdet(void)
# /* This returns the status of the carrier detect lead from the modem */
# {
# return((inportb(base + 6) & 0x80) ? 1 : 0);
Starting at line #700, delete this one line:
#
#
#
- void checkhangup()
# /* This function checks to see if the user logged on to the com port has
# * hung up. Obviously, if no user is logged on remotely, this does nothing.
# * If carrier detect is detected to be low, it is checked 100 times
And insert this one line:
#
#
#
+ void checkhangup(void)
# /* This function checks to see if the user logged on to the com port has
# * hung up. Obviously, if no user is logged on remotely, this does nothing.
# * If carrier detect is detected to be low, it is checked 100 times
Starting at line #791, delete this one line:
# }
#
#
- void execute_ansi()
# /* This function executes an ANSI string to change color, position the
# * cursor, etc.
# */
And insert this one line:
# }
#
#
+ void execute_ansi(void)
# /* This function executes an ANSI string to change color, position the
# * cursor, etc.
# */
Starting at line #965, delete this one line:
#
#
#
- void nl()
# /* This function performs a CR/LF sequence to move the cursor to the next
# * line. If any end-of-line ANSI codes are set (such as changing back to
# * the default color) are specified, those are executed first.
And insert this one line:
#
#
#
+ void nl(void)
# /* This function performs a CR/LF sequence to move the cursor to the next
# * line. If any end-of-line ANSI codes are set (such as changing back to
# * the default color) are specified, those are executed first.
Starting at line #980, delete this one line:
#
#
#
- void backspace()
# /* This function executes a backspace, space, backspace sequence. */
# {
# int i;
And insert this one line:
#
#
#
+ void backspace(void)
# /* This function executes a backspace, space, backspace sequence. */
# {
# int i;
Starting at line #1006, delete this one line:
#
#
#
- void pausescr()
# /* This will pause output, displaying the [PAUSE] message, and wait for
# * a key to be hit.
# */
And insert this one line:
#
#
#
+ void pausescr(void)
# /* This will pause output, displaying the [PAUSE] message, and wait for
# * a key to be hit.
# */
Starting at line #1038, delete this one line:
# }
#
#
- int kbhitb()
# {
# union REGS r;
#
And insert this one line:
# }
#
#
+ int kbhitb(void)
# {
# union REGS r;
#
Starting at line #1048, delete this one line:
# }
#
#
- int empty()
# {
# if (kbhitb() || (incom && (head != tail)) ||
# (charbufferpointer && charbuffer[charbufferpointer]) ||
And insert this one line:
# }
#
#
+ int empty(void)
# {
# if (kbhitb() || (incom && (head != tail)) ||
# (charbufferpointer && charbuffer[charbufferpointer]) ||
Starting at line #1087, delete this one line:
# *ch = c;
# }
#
- char getchd()
# {
# union REGS r;
#
And insert this one line:
# *ch = c;
# }
#
+ char getchd(void)
# {
# union REGS r;
#
Starting at line #1097, delete this one line:
# }
#
#
- char getchd1()
# {
# union REGS r;
#
And insert this one line:
# }
#
#
+ char getchd1(void)
# {
# union REGS r;
#
Starting at line #1108, delete this one line:
# }
#
#
- char inkey()
# /* This function checks both the local keyboard, and the remote terminal
# * (if any) for input. If there is input, the key is returned. If there
# * is no input, a zero is returned. Function keys hit are interpreted as
And insert this one line:
# }
#
#
+ char inkey(void)
# /* This function checks both the local keyboard, and the remote terminal
# * (if any) for input. If there is input, the key is returned. If there
# * is no input, a zero is returned. Function keys hit are interpreted as
Starting at line #1175, delete this one line:
# }
#
#
- unsigned char getkey()
# /* This function returns one character from either the local keyboard or
# * remote com port (if applicable). After 1.5 minutes of inactivity, a
# * beep is sounded. After 3 minutes of inactivity, the user is hung up.
And insert this one line:
# }
#
#
+ unsigned char getkey(void)
# /* This function returns one character from either the local keyboard or
# * remote com port (if applicable). After 1.5 minutes of inactivity, a
# * beep is sounded. After 3 minutes of inactivity, the user is hung up.
Starting at line #1286, delete this one line:
#
#
#
- int yn()
# /* The keyboard is checked for either a Y, N, or C/R to be hit. C/R is
# * assumed to be the same as a N. Yes or No is output, and yn is set to
# * zero if No was returned, and yn() is non-zero if Y was hit.
And insert this one line:
#
#
#
+ int yn(void)
# /* The keyboard is checked for either a Y, N, or C/R to be hit. C/R is
# * assumed to be the same as a N. Yes or No is output, and yn is set to
# * zero if No was returned, and yn() is non-zero if Y was hit.
Starting at line #1304, delete this one line:
#
#
#
- int ny()
# /* This is the same as yn(), except C/R is assumed to be "Y" */
# {
# char ch=0;
And insert this one line:
#
#
#
+ int ny(void)
# /* This is the same as yn(), except C/R is assumed to be "Y" */
# {
# char ch=0;
Starting at line #1535, delete this one line:
#
# /****************************************************************************/
#
- unsigned char getkeyext()
# {
# unsigned char ch;
# static int holding=0;
And insert this one line:
#
# /****************************************************************************/
#
+ unsigned char getkeyext(void)
# {
# unsigned char ch;
# static int holding=0;
Starting at line #1635, delete this one line:
# long ca_d1;
#
#
- void checka2()
# {
# ca_pause=0;
# ca_ctrl_c=0;
And insert this one line:
# long ca_d1;
#
#
+ void checka2(void)
# {
# ca_pause=0;
# ca_ctrl_c=0;
Starting at line #1926, delete this one line:
#
# #define READ(x) read(i,&(x),sizeof(x))
#
- int init_r()
# {
# int i;
#
And insert this one line:
#
# #define READ(x) read(i,&(x),sizeof(x))
#
+ int init_r(void)
# {
# int i;
#
Starting at line #2007, delete this one line:
# setdisk(s[0]-'A');
# }
#
- void setup_stuff()
# {
# char s[161];
# int i,i1;
And insert this one line:
# setdisk(s[0]-'A');
# }
#
+ void setup_stuff(void)
# {
# char s[161];
# int i,i1;
/*****************************************************************************/
shrink.c:
Starting at line #189, add these 23 lines:
#
# /****************************************************************************/
#
+ char *findit(char *cmd,char *ext)
+ {
+ char *ss;
+ static char s[81];
+
+ if (ext)
+ sprintf(s,"%s.%s",cmd,ext);
+ else
+ strcpy(s,cmd);
+
+ if (exist(s))
+ return(s);
+
+ if (strchr(s,'/') || strchr(s,'\\'))
+ ss=NULL;
+ else
+ ss=searchpath(s);
+
+ return(ss);
+ }
+
+ /****************************************************************************/
+
# void do_it_1(char *cl)
# {
# int i,i1,l,sp;
Starting at line #192, delete these 2 lines:
#
# void do_it_1(char *cl)
# {
- int i,i1,l;
- char *ss,*ss1;
# char t[81];
#
# sl1(1,"");
And insert these 2 lines:
#
# void do_it_1(char *cl)
# {
+ int i,i1,l,sp;
+ char *ss,*ss1,*ss2;
# char t[81];
#
# sl1(1,"");
Starting at line #210, delete this one line:
# close_user();
# *ss1=1;
# ss1++;
- strcpy(ss1,searchpath(cl));
# ss1=MK_FP(FP_SEG(ss1),0x0080);
# strcpy(t," ");
# strcat(t,ss);
And insert these 10 lines:
# close_user();
# *ss1=1;
# ss1++;
+ ss2=findit(cl,NULL);
+ if (!ss2) {
+ ss2=findit(cl,"COM");
+ if (!ss2) {
+ ss2=findit(cl,"EXE");
+ if (!ss2)
+ return;
+ }
+ }
+ strcpy(ss1,ss2);
# ss1=MK_FP(FP_SEG(ss1),0x0080);
# strcpy(t," ");
# strcat(t,ss);
Starting at line #226, delete this one line:
#
# void shrink_out(char *command, int state, int intercept,int ctc,int ccc)
# {
- char s[81],s1[10];
# int ok_shrink;
#
# ok_shrink=1;
And insert this one line:
#
# void shrink_out(char *command, int state, int intercept,int ctc,int ccc)
# {
+ char s[81],t[81],s1[10];
# int ok_shrink;
#
# ok_shrink=1;
Starting at line #242, add these 9 lines:
# nl();
# }
#
+ strcpy(s,command);
+ strtok(s," \t");
+ if ((!findit(s,NULL)) && (!findit(s,"COM")) && (!findit(s,"EXE"))) {
+ if (findit(s,"BAT"))
+ ccc=1;
+ else
+ return;
+ }
+
# if (ok_shrink) {
# if (state>0) {
# write_user(usernum,&thisuser);
Starting at line #244, delete this one line:
# }
#
# if (ok_shrink) {
- if (state) {
# write_user(usernum,&thisuser);
# if (state>1)
# thisuser.sysstatus &= ~sysstatus_pause_on_page;
And insert this one line:
# }
#
# if (ok_shrink) {
+ if (state>0) {
# write_user(usernum,&thisuser);
# if (state>1)
# thisuser.sysstatus &= ~sysstatus_pause_on_page;
Starting at line #255, add these 2 lines:
# else
# sprintf(s,"%s /C %s",getenv("COMSPEC"), command);
# do_it_1(s);
+ unlink("restore.wwv");
+ unlink("stat.wwv");
# } else {
# if (intercept)
# full_external(command,ctc,ccc);
/*****************************************************************************/
sr.c:
Starting at line #158, add this one line:
# outs(s);
# outs("\r\n");
# if (incom) {
+ create_chain_file("CHAIN.TXT");
# i=run_external1(s);
# topscreen();
# return(i);
Starting at line #179, delete this one line:
# if (xt==xf_none)
# return(0);
#
- if ((pn>0) || (pn<(numextrn+6))) {
#
# switch(pn) {
# case 1:
And insert this one line:
# if (xt==xf_none)
# return(0);
#
+ if ((pn>0) && (pn<(numextrn+6))) {
#
# switch(pn) {
# case 1:
Starting at line #582, delete this one line:
#
#
#
- char end_batch1()
# {
# char b[128],ch;
# int i,i1,done,nerr;
And insert this one line:
#
#
#
+ char end_batch1(void)
# {
# char b[128],ch;
# int i,i1,done,nerr;
Starting at line #611, delete this one line:
# }
#
#
- void endbatch()
# {
# char ch;
# int abort,ucrc,terr,xx1,yy1;
And insert this one line:
# }
#
#
+ void endbatch(void)
# {
# char ch;
# int abort,ucrc,terr,xx1,yy1;
/*****************************************************************************/
subedit.c:
Starting at line #46, delete these 2 lines:
# k=32;
# else
# k=r.key;
- sprintf(s,"%2d %1c %1c %-40s %-8s %-3d %-3d %-3d %-3d %1c",
- n,k,x,r.name,r.filename,r.readsl,r.postsl,r.age,r.maxmsgs,y);
# }
#
# void showsubs()
And insert these 3 lines:
# k=32;
# else
# k=r.key;
+ sprintf(s,"%2d %1c %-40s %-8s %-3d %-3d %-3d %-3d %5u",
+ n,x,r.name,r.filename,r.readsl,r.postsl,r.age&0x7f,r.maxmsgs,r.type);
+ x=k; x=y; /* leave in old code but ignore warning */
# }
#
# void showsubs(void)
Starting at line #50, delete this one line:
# n,k,x,r.name,r.filename,r.readsl,r.postsl,r.age,r.maxmsgs,y);
# }
#
- void showsubs()
# {
# int abort,i;
# char s[180];
And insert this one line:
# x=k; x=y; /* leave in old code but ignore warning */
# }
#
+ void showsubs(void)
# {
# int abort,i;
# char s[180];
Starting at line #57, delete this one line:
#
# outchr(12);
# abort=0;
- pla("NN K AR Name FN RSL PSL AGE MSG ANON",
# &abort);
# pla("== - == ---------------------------------------- ======== --- === --- === ----",
# &abort);
And insert this one line:
#
# outchr(12);
# abort=0;
+ pla("NN AR Name FN RSL PSL AGE MSG SUBTY",
# &abort);
# pla("== == ---------------------------------------- ======== --- === --- === -----",
# &abort);
Starting at line #59, delete this one line:
# abort=0;
# pla("NN K AR Name FN RSL PSL AGE MSG ANON",
# &abort);
- pla("== - == ---------------------------------------- ======== --- === --- === ----",
# &abort);
# for (i=0; (i<num_subs) && (!abort); i++) {
# boarddata(i,s);
And insert this one line:
# abort=0;
# pla("NN AR Name FN RSL PSL AGE MSG SUBTY",
# &abort);
+ pla("== == ---------------------------------------- ======== --- === --- === -----",
# &abort);
# for (i=0; (i<num_subs) && (!abort); i++) {
# boarddata(i,s);
Starting at line #73, add this one line:
# subboardrec r;
# char s[81],s1[81],ch,ch2;
# int i,i1,done;
+ char *name;
#
# r=subboards[n];
# done=0;
Starting at line #99, delete this one line:
# default: strcpy(s,"Real screwed up."); break;
# }
# npr("F. Anony : %s\r\n",s);
- npr("G. Min. Age : %d\r\n",r.age);
# npr("H. Max Msgs : %d\r\n",r.maxmsgs);
# strcpy(s,"None.");
# if (r.ar!=0) {
And insert this one line:
# default: strcpy(s,"Real screwed up."); break;
# }
# npr("F. Anony : %s\r\n",s);
+ npr("G. Min. Age : %d\r\n",r.age&0x7f);
# npr("H. Max Msgs : %d\r\n",r.maxmsgs);
# strcpy(s,"None.");
# if (r.ar!=0) {
Starting at line #108, add these 8 lines:
# s[1]=0;
# }
# npr("I. AR : %s\r\n",s);
+ if (r.type && (net_num_max>1)) {
+ if (r.age&0x80) {
+ name=net_networks[r.name[40]].name;
+ } else {
+ name=net_networks[0].name;
+ }
+ npr("J. Sub Type : %u (%s)\r\n",r.type,name);
+ } else {
# npr("J. Sub Type : %u\r\n",r.type);
# }
# npr("K. Storage typ: %d\r\n",r.storage_type);
Starting at line #109, add this one line:
# npr("J. Sub Type : %u (%s)\r\n",r.type,name);
# } else {
# npr("J. Sub Type : %u\r\n",r.type);
+ }
# npr("K. Storage typ: %d\r\n",r.storage_type);
# npr("L. Val network: %s\r\n",(r.anony & anony_val_net)?"Yes":"No");
# npr("M. Req ANSI : %s\r\n",(r.anony & anony_ansi_only)?"Yes":"No");
Starting at line #122, delete this one line:
# case 'A':
# nl();
# prt(2,"New name? ");
- inputl(s,40);
# if (s[0])
# strcpy(r.name,s);
# break;
And insert this one line:
# case 'A':
# nl();
# prt(2,"New name? ");
+ inputl(s,39);
# if (s[0])
# strcpy(r.name,s);
# break;
Starting at line #177, delete this one line:
# input(s,3);
# i=atoi(s);
# if ((i>=0) && (i<128) && (s[0]))
- r.age=i;
# break;
# case 'H':
# nl();
And insert this one line:
# input(s,3);
# i=atoi(s);
# if ((i>=0) && (i<128) && (s[0]))
+ r.age=(r.age&0x80)|(i&0x7f);
# break;
# case 'H':
# nl();
Starting at line #292, add this one line:
# if (u.sysopsub>=n)
# ++u.sysopsub;
# #if MAX_SUBS>32
+ if (max_subs>32) {
# u.qscn2=(u.qscn2 << 1) | (u.qscn >> 31);
# for (i1=num_subs-1-32; i1>0; i1--)
# u.qscnptr2[i1]=u.qscnptr2[i1-1];
Starting at line #296, add this one line:
# for (i1=num_subs-1-32; i1>0; i1--)
# u.qscnptr2[i1]=u.qscnptr2[i1-1];
# u.qscnptr2[0]=u.qscnptr[31];
+ }
# #endif
# for (i1=((num_subs<32)?num_subs:32)-1; i1>n; i1--)
# u.qscnptr[i1]=u.qscnptr[i1-1];
Starting at line #336, delete this one line:
# --u.sysopsub;
# for (i1=n-32; i1<num_subs-32; i1++)
# u.qscnptr2[i1]=u.qscnptr2[i1+1];
- u.qscnptr[MAX_SUBS-1]=0L;
# u.qscn2=(u.qscn2 & l1) | ((u.qscn2 >> 1) & l2);
# write_user(i,&u);
# }
Starting at line #357, add this one line:
# for (i1=n; i1<i2; i1++)
# u.qscnptr[i1]=u.qscnptr[i1+1];
# #if MAX_SUBS>32
+ if (max_subs>32) {
# u.qscnptr[31]=u.qscnptr2[0];
# for (i1=0; i1<num_subs-32; i1++)
# u.qscnptr2[i1]=u.qscnptr2[i1+1];
Starting at line #360, delete these 2 lines:
# #if MAX_SUBS>32
# u.qscnptr[31]=u.qscnptr2[0];
# for (i1=0; i1<num_subs-32; i1++)
- u.qscnptr2[i1]=u.qscnptr[i1+1];
- u.qscnptr2[MAX_SUBS-33]=0L;
# u.qscn=(u.qscn & l1) | ((u.qscn >> 1) & l2) | (u.qscn2 << 31);
# u.qscn2=u.qscn2 >> 1;
# #else
And insert this one line:
# if (max_subs>32) {
# u.qscnptr[31]=u.qscnptr2[0];
# for (i1=0; i1<num_subs-32; i1++)
+ u.qscnptr2[i1]=u.qscnptr2[i1+1];
# u.qscn=(u.qscn & l1) | ((u.qscn >> 1) & l2) | (u.qscn2 << 31);
# u.qscn2=u.qscn2 >> 1;
# } else {
Starting at line #363, add these 3 lines:
# u.qscnptr2[i1]=u.qscnptr2[i1+1];
# u.qscn=(u.qscn & l1) | ((u.qscn >> 1) & l2) | (u.qscn2 << 31);
# u.qscn2=u.qscn2 >> 1;
+ } else {
+ u.qscn=(u.qscn & l1) | ((u.qscn >> 1) & l2);
+ }
# #else
# u.qscn=(u.qscn & l1) | ((u.qscn >> 1) & l2);
# #endif
Starting at line #366, delete this one line:
# u.qscn2=u.qscn2 >> 1;
# #else
# u.qscn=(u.qscn & l1) | ((u.qscn >> 1) & l2);
- u.qscnptr[MAX_SUBS-1]=0L;
# #endif
# write_user(i,&u);
# }
Starting at line #374, delete this one line:
# }
#
#
- void boardedit()
# {
# int i,i1,i2,done,f;
# char s[81],s1[81],s2[81],ch;
And insert this one line:
# }
#
#
+ void boardedit(void)
# {
# int i,i1,i2,done,f;
# char s[81],s1[81],s2[81],ch;
Starting at line #403, delete this one line:
# modify_sub(i);
# break;
# case 'I':
- if (num_subs<MAX_SUBS) {
# nl();
# prt(2,"Insert before which sub? ");
# input(s,2);
And insert this one line:
# modify_sub(i);
# break;
# case 'I':
+ if (num_subs<max_subs) {
# nl();
# prt(2,"Insert before which sub? ");
# input(s,2);
/*****************************************************************************/
subreq.c:
Starting at line #28, delete this one line:
#
# nh.tosys=tosys;
# nh.touser=1;
- nh.fromsys=syscfg.systemnumber;
# nh.fromuser=1;
# nh.main_type=main_type;
# nh.minor_type=minor_type;
And insert this one line:
#
# nh.tosys=tosys;
# nh.touser=1;
+ nh.fromsys=net_sysnum;
# nh.fromuser=1;
# nh.main_type=main_type;
# nh.minor_type=minor_type;
Starting at line #48, delete this one line:
# int found=0;
# unsigned short ui;
#
- sprintf(s,"%sNN%u.NET",syscfg.datadir,type);
# unlink(s);
#
# sprintf(fn1,"%sNNALL.NET", syscfg.datadir);
And insert this one line:
# int found=0;
# unsigned short ui;
#
+ sprintf(s,"%sNN%u.NET",net_data,type);
# unlink(s);
#
# sprintf(fn1,"%sNNALL.NET", net_data);
Starting at line #51, delete these 2 lines:
# sprintf(s,"%sNN%u.NET",syscfg.datadir,type);
# unlink(s);
#
- sprintf(fn1,"%sNNALL.NET", syscfg.datadir);
- sprintf(fn2,"%sNNALL.NEW", syscfg.datadir);
# fi=fopen(fn1,"r");
# if (fi) {
# fo=fopen(fn2,"w");
And insert these 2 lines:
# sprintf(s,"%sNN%u.NET",net_data,type);
# unlink(s);
#
+ sprintf(fn1,"%sNNALL.NET", net_data);
+ sprintf(fn2,"%sNNALL.NEW", net_data);
# fi=fopen(fn1,"r");
# if (fi) {
# fo=fopen(fn2,"w");
Starting at line #88, delete this one line:
# FILE *f;
# char s[100];
#
- sprintf(s,"%sNNALL.NET",syscfg.datadir);
# f=fopen(s,"a");
# if (f) {
# fprintf(f,"%-6u %-6u %s\n",type,host,desc);
And insert this one line:
# FILE *f;
# char s[100];
#
+ sprintf(s,"%sNNALL.NET",net_data);
# f=fopen(s,"a");
# if (f) {
# fprintf(f,"%-6u %-6u %s\n",type,host,desc);
Starting at line #112, delete this one line:
#
# for (i=0; (i<256) && (!done); i++) {
# if (i)
- sprintf(s,"%sSUBS.%d",syscfg.datadir,i);
# else
# sprintf(s,"%sSUBS.LST",syscfg.datadir);
# f=fopen(s,"r");
And insert this one line:
#
# for (i=0; (i<256) && (!done); i++) {
# if (i)
+ sprintf(s,"%sSUBS.%d",net_data,i);
# else
# sprintf(s,"%sSUBS.LST",net_data);
# f=fopen(s,"r");
Starting at line #114, delete this one line:
# if (i)
# sprintf(s,"%sSUBS.%d",syscfg.datadir,i);
# else
- sprintf(s,"%sSUBS.LST",syscfg.datadir);
# f=fopen(s,"r");
# if (f) {
# while ((!done) && fgets(s,160,f)) {
And insert this one line:
# if (i)
# sprintf(s,"%sSUBS.%d",net_data,i);
# else
+ sprintf(s,"%sSUBS.LST",net_data);
# f=fopen(s,"r");
# if (f) {
# while ((!done) && fgets(s,160,f)) {
Starting at line #184, delete these 2 lines:
#
# void sub_type_change(subboardrec *r, unsigned int type)
# {
- unsigned short ui, opt,ok;
- char desc[81];
#
# if (r->type) {
# ok=1;
And insert these 3 lines:
#
# void sub_type_change(subboardrec *r, unsigned int type)
# {
+ unsigned short ui, opt, ok, i;
+ char desc[100],s[10],onx[20],*mmk,ch;
+ int onxi, odci,ii;
#
# if (r->type) {
# if (!r->age & 0x80) {
Starting at line #187, add these 6 lines:
# int onxi, odci,ii;
#
# if (r->type) {
+ if (!r->age & 0x80) {
+ r->age |= 0x80;
+ r->name[39]=0;
+ r->name[40]=0;
+ }
+ set_net_num(r->name[40]);
# ok=1;
# ui=find_host(r->type);
# if (ui) {
Starting at line #191, delete this one line:
# ok=1;
# ui=find_host(r->type);
# if (ui) {
- if (next_system(ui) && (ui!=syscfg.systemnumber)) {
# ok=0;
# if (status.net_version>=29) {
# if (find_hostfor(r->type, &ui, desc, &opt)) {
And insert this one line:
# ok=1;
# ui=find_host(r->type);
# if (ui) {
+ if (next_system(ui) && (ui!=net_sysnum)) {
# ok=0;
# if (status.net_version>=29) {
# if (find_hostfor(r->type, &ui, desc, &opt)) {
Starting at line #221, add these 44 lines:
# }
#
# if (type) {
+ if (!r->age & 0x80) {
+ r->age |= 0x80;
+ r->name[39]=0;
+ r->name[40]=0;
+ }
+ if (net_num_max>1) {
+ odc[0]=0;
+ odci=0;
+ onx[0]='Q';
+ onx[1]=0;
+ onxi=1;
+ nl();
+ for (ii=0; ii<net_num_max; ii++) {
+ if (ii<9) {
+ onx[onxi++]=ii+'1';
+ onx[onxi]=0;
+ } else {
+ odci=(ii+1)/10;
+ odc[odci-1]=odci+'0';
+ odc[odci]=0;
+ }
+ npr("%d. %s\r\n",ii+1,net_networks[ii].name);
+ }
+ pl("Q. Quit");
+ nl();
+ prt(2,"Which network (number)? ");
+ if (net_num_max<9) {
+ ch=onek(onx);
+ if (ch=='Q')
+ ii=-1;
+ else
+ ii=ch-'1';
+ } else {
+ mmk=mmkey(2);
+ if (*mmk=='Q')
+ ii=-1;
+ else
+ ii=atoi(mmk)-1;
+ }
+ if ((ii>=0) && (ii<net_num_max)) {
+ set_net_num(ii);
+ } else
+ return;
+ }
# ui=0;
# ok=find_hostfor(type, &ui, desc, &opt);
# if (!ok) {
Starting at line #231, delete this one line:
# ui=(unsigned short) atol(desc);
# strcpy(desc,r->name);
# }
- if (ui==syscfg.systemnumber)
# ui=0;
# if (ui) {
# add_nnall(type, ui, desc);
And insert this one line:
# ui=(unsigned short) atol(desc);
# strcpy(desc,r->name);
# }
+ if (ui==net_sysnum)
# ui=0;
# if (ui) {
# add_nnall(type, ui, desc);
Starting at line #272, add these 6 lines:
# /* user will have to set it up himself */
# }
# r->type=type;
+ }
+ if (r->type) {
+ r->age |= 0x80;
+ r->name[40]=net_num;
+ } else {
+ r->age &= 0x7f;
# }
# }
/*****************************************************************************/
sysopf.c:
Starting at line #41, delete this one line:
#
#
#
- void reset_files()
# {
# int i,i1;
# userrec u;
And insert this one line:
#
#
#
+ void reset_files(void)
# {
# int i,i1;
# userrec u;
Starting at line #76, delete this one line:
# }
#
#
- void get_status()
# {
# char s[81];
# int statusfile;
And insert this one line:
# }
#
#
+ void get_status(void)
# {
# char s[81];
# int statusfile;
Starting at line #93, delete this one line:
#
#
#
- void prstatus()
# {
# int i;
# long l;
And insert this one line:
#
#
#
+ void prstatus(void)
# {
# int i;
# long l;
Starting at line #284, delete this one line:
# void print_net_listing(unsigned int ss)
# {
# int i,i1,i2,abort,f;
- char s[161],ch;
# net_system_list_rec csne;
#
# ss = ss%10000;
And insert these 2 lines:
# void print_net_listing(unsigned int ss)
# {
# int i,i1,i2,abort,f;
+ char s[161],ch,onx[20],*mmk;
+ int onxi,odci;
# net_system_list_rec csne;
#
#
Starting at line #286, add these 43 lines:
# int onxi,odci;
# net_system_list_rec csne;
#
+
+ if (net_num_max>1) {
+ odc[0]=0;
+ odci=0;
+ onx[0]='Q';
+ onx[1]=0;
+ onxi=1;
+ nl();
+ for (i=0; i<net_num_max; i++) {
+ if (i<9) {
+ onx[onxi++]=i+'1';
+ onx[onxi]=0;
+ } else {
+ odci=(i+1)/10;
+ odc[odci-1]=odci+'0';
+ odc[odci]=0;
+ }
+ npr("%d. %s\r\n",i+1,net_networks[i].name);
+ }
+ pl("Q. Quit");
+ nl();
+ prt(2,"Which network (number)? ");
+ if (net_num_max<9) {
+ ch=onek(onx);
+ if (ch=='Q')
+ i=-1;
+ else
+ i=ch-'1';
+ } else {
+ mmk=mmkey(2);
+ if (*mmk=='Q')
+ i=-1;
+ else
+ i=atoi(mmk)-1;
+ }
+ if ((i>=0) && (i<net_num_max)) {
+ set_net_num(i);
+ } else
+ return;
+ }
+
+ read_bbs_list_index();
+
# ss = ss%10000;
#
# abort=0;
Starting at line #290, add this one line:
#
# abort=0;
# nl();
+ npr("%s network listing:\r\n\r\n",net_name);
# pla(" Num Phone Name Hop Next Grp",&abort);
# pla("----- ============ ---------------------------------------- === ----- ===",&abort);
# sprintf(s,"%sBBSDATA.NET",net_data);
Starting at line #293, delete this one line:
# nl();
# pla(" Num Phone Name Hop Next Grp",&abort);
# pla("----- ============ ---------------------------------------- === ----- ===",&abort);
- sprintf(s,"%sBBSDATA.NET",syscfg.datadir);
# f=open(s,O_RDONLY | O_BINARY);
# for (i=0; (i<num_sys_list) && (!abort); i++) {
# read(f,&csne,sizeof(net_system_list_rec));
And insert this one line:
# npr("%s network listing:\r\n\r\n",net_name);
# pla(" Num Phone Name Hop Next Grp",&abort);
# pla("----- ============ ---------------------------------------- === ----- ===",&abort);
+ sprintf(s,"%sBBSDATA.NET",net_data);
# f=open(s,O_RDONLY | O_BINARY);
# for (i=0; (i<num_sys_list) && (!abort); i++) {
# read(f,&csne,sizeof(net_system_list_rec));
Starting at line #306, delete this one line:
# ch='^';
# else
# ch=' ';
- sprintf(s,"%5d%c %12s %-40s %3d %5d %3d",
# csne.sysnum,ch,csne.phone,csne.name,csne.numhops,
# csne.forsys, csne.group);
# pla(s,&abort);
And insert this one line:
# ch='^';
# else
# ch=' ';
+ sprintf(s,"%5u%c %12s %-40s %3d %5d %3d",
# csne.sysnum,ch,csne.phone,csne.name,csne.numhops,
# csne.forsys, csne.group);
# pla(s,&abort);
Starting at line #317, delete this one line:
# }
#
#
- void read_new_stuff()
# {
# int i;
# char s[81];
And insert this one line:
# }
#
#
+ void read_new_stuff(void)
# {
# int i;
# char s[81];
Starting at line #322, delete these 12 lines:
# int i;
# char s[81];
#
- if (ncn!=NULL)
- farfree(ncn);
- if (cnn!=NULL)
- farfree(cnn);
- if (csn!=NULL)
- farfree((void far *) csn);
- if (con!=NULL)
- farfree(con);
- ncn=NULL;
- cnn=NULL;
- csn=NULL;
- con=NULL;
# read_in_file("MENUS.MSG",(menus),30);
# read_in_file("HELP.MSG",(helps),50);
# for (i=0; i<30; i++) {
And insert these 7 lines:
# int i;
# char s[81];
#
+ zap_bbs_list();
+ for (i=0; i<net_num_max; i++) {
+ zap_call_out_list();
+ zap_contacts();
+ }
+
+
# read_in_file("MENUS.MSG",(menus),30);
# read_in_file("HELP.MSG",(helps),50);
# for (i=0; i<30; i++) {
Starting at line #349, delete these 8 lines:
# if (exist(s))
# read_in_file("MENUS40.MSG",(menus2),30);
#
- if (csn!=NULL)
- farfree((void far *)csn);
- if (cnn!=NULL)
- farfree(cnn);
- if (con!=NULL)
- farfree(con);
- read_bbs_list_index();
- read_contacts();
# }
#
#
Starting at line #360, delete this one line:
# }
#
#
- void mailr()
# {
# int i,abort,a,f,next;
# mailrec m;
And insert this one line:
# }
#
#
+ void mailr(void)
# {
# int i,abort,a,f,next;
# mailrec m;
Starting at line #410, delete this one line:
# }
#
#
- void chuser()
# {
# char s[81];
# int i;
And insert this one line:
# }
#
#
+ void chuser(void)
# {
# char s[81];
# int i;
Starting at line #435, delete this one line:
# pl("Unknown user.");
# }
#
- void zlog()
# {
# zlogrec z;
# char s[81];
And insert this one line:
# pl("Unknown user.");
# }
#
+ void zlog(void)
# {
# zlogrec z;
# char s[81];
Starting at line #468, delete this one line:
# }
#
#
- void beginday()
# {
# char s[255];
# zlogrec z,z1;
And insert this one line:
# }
#
#
+ void beginday(void)
# {
# char s[255];
# zlogrec z,z1;
Starting at line #496, delete this one line:
# strcpy(status.log2,status.log1);
# sl1(3,status.log1);
# sl1(2,date());
- if (1) {
# sprintf(s,"%s%s",syscfg.gfilesdir, status.log2);
# unlink(s);
# }
And insert this one line:
# strcpy(status.log2,status.log1);
# sl1(3,status.log1);
# sl1(2,date());
+
# sprintf(s,"%s%s",syscfg.gfilesdir, status.log2);
# unlink(s);
#
Starting at line #499, delete this one line:
# if (1) {
# sprintf(s,"%s%s",syscfg.gfilesdir, status.log2);
# unlink(s);
- }
# sprintf(s,"%sUSER.LOG",syscfg.gfilesdir);
# unlink(s);
# save_status();
And insert this one line:
#
# sprintf(s,"%s%s",syscfg.gfilesdir, status.log2);
# unlink(s);
+
# sprintf(s,"%sUSER.LOG",syscfg.gfilesdir);
# unlink(s);
# save_status();
/*****************************************************************************/
uedit.c:
Starting at line #75, delete this one line:
# }
#
#
- void print_data(int un, userrec *u, int lng)
# {
# char s[81],s1[81],s2[81],s3[81],s4[81];
# int i;
And insert this one line:
# }
#
#
+ void print_data(int un, userrec *u, int lng, int cls)
# {
# char s[81],s1[81],s2[81],s3[81],s4[81];
# int i;
Starting at line #79, add this one line:
# char s[81],s1[81],s2[81],s3[81],s4[81];
# int i;
#
+ if (cls)
# outchr(12);
# if ((u->inact) & inact_deleted) {
# pl(">>> DELETED <<<");
Starting at line #94, delete this one line:
# u->month, u->day, u->year);
# npr("Comp: %s\r\n",&(ctypes[u->comp_type][0]));
# if (u->forwardusr) {
- if (u->forwardsys)
# npr("Forw: #%d @%d\r\n",u->forwardusr, u->forwardsys);
# else
# npr("Forw: #%d\r\n",u->forwardusr);
And insert these 5 lines:
# u->month, u->day, u->year);
# npr("Comp: %s\r\n",&(ctypes[u->comp_type][0]));
# if (u->forwardusr) {
+ if (u->forwardsys) {
+ if (net_num_max>1) {
+ npr("Forw: %s #%d @%d\r\n", net_networks[u->net_num].name,
+ u->forwardusr, u->forwardsys);
+ } else {
# npr("Forw: #%d @%d\r\n",u->forwardusr, u->forwardsys);
# }
# } else {
Starting at line #96, delete this one line:
# if (u->forwardusr) {
# if (u->forwardsys)
# npr("Forw: #%d @%d\r\n",u->forwardusr, u->forwardsys);
- else
# npr("Forw: #%d\r\n",u->forwardusr);
# }
# if (lng) {
And insert these 2 lines:
# u->forwardusr, u->forwardsys);
# } else {
# npr("Forw: #%d @%d\r\n",u->forwardusr, u->forwardsys);
+ }
+ } else {
# npr("Forw: #%d\r\n",u->forwardusr);
# }
# }
Starting at line #98, add this one line:
# } else {
# npr("Forw: #%d\r\n",u->forwardusr);
# }
+ }
# if (lng) {
# sprintf(s,"PW : %s\r\n",u->pw);
# if (lecho)
Starting at line #311, delete this one line:
#
# /****************************************************************************/
#
- void changeopt()
# {
# helpl=42;
# outchr(12);
And insert this one line:
#
# /****************************************************************************/
#
+ void changeopt(void)
# {
# helpl=42;
# outchr(12);
Starting at line #339, delete this one line:
# void uedit(int usern, int other)
# {
# char s[81],s1[81],s2[81],ch,ch1;
- int i,i1,i2,i3,un,done,nu,done1,full,temp_full,tempu;
# userrec u;
#
# if (incom)
And insert this one line:
# void uedit(int usern, int other)
# {
# char s[81],s1[81],s2[81],ch,ch1;
+ int i,i1,i2,i3,un,done,nu,done1,full,temp_full,tempu,cls=1;
# userrec u;
#
# if (incom)
Starting at line #345, add these 4 lines:
# full=0;
# else
# full=1;
+ if (other&1)
+ full=0;
+ if (other&2)
+ cls=0;
# un=usern;
# done=0;
# read_user(un,&u);
Starting at line #355, delete this one line:
# done1=0;
# temp_full=0;
# do {
- print_data(un,&u, ((full) || (temp_full)));
# nl();
# prt(2,"Uedit : ");
# if ((thisuser.sl==255) || (wfc))
And insert this one line:
# done1=0;
# temp_full=0;
# do {
+ print_data(un,&u, ((full) || (temp_full)), cls);
# nl();
# prt(2,"Uedit : ");
# if ((thisuser.sl==255) || (wfc))
Starting at line #408, add this one line:
# case '.':
# full=(!full);
# temp_full=full;
+ cls=0;
# break;
# case ',':
# temp_full=(!temp_full);
/*****************************************************************************/
utility.c:
Starting at line #210, delete this one line:
# /* end of functions for external programs to call */
#
#
- void reset_act_sl()
# {
# actsl = thisuser.sl;
# }
And insert this one line:
# /* end of functions for external programs to call */
#
#
+ void reset_act_sl(void)
# {
# actsl = thisuser.sl;
# }
Starting at line #237, delete this one line:
# }
# }
#
- void check_event()
# {
# double tl;
#
And insert this one line:
# }
# }
#
+ void check_event(void)
# {
# double tl;
#
Starting at line #243, delete this one line:
#
# if (syscfg.executetime) {
# tl=time_event-timer();
- if (tl<0.0)
# tl += 24.0*3600.0;
# if ((tl-last_time)>2.0)
# do_event=1;
And insert this one line:
#
# if (syscfg.executetime) {
# tl=time_event-timer();
+ if (tl<-30.0)
# tl += 24.0*3600.0;
# if ((tl-last_time)>2.0)
# do_event=1;
Starting at line #252, delete this one line:
# }
#
#
- void run_event()
# {
# if ((do_event) && (syscfg.executetime)) {
# do_event=0;
And insert this one line:
# }
#
#
+ void run_event(void)
# {
# if ((do_event) && (syscfg.executetime)) {
# do_event=0;
Starting at line #304, delete this one line:
#
#
#
- void itimer()
# /* This function initializes the high-resolution timer */
# {
# outportb(0x43,0x34);
And insert this one line:
#
#
#
+ void itimer(void)
# /* This function initializes the high-resolution timer */
# {
# outportb(0x43,0x34);
Starting at line #313, delete this one line:
#
# }
#
- double timer()
# /* This function returns the time, in seconds since midnight. */
# {
# double cputim;
And insert this one line:
#
# }
#
+ double timer(void)
# /* This function returns the time, in seconds since midnight. */
# {
# double cputim;
Starting at line #332, delete this one line:
# }
#
#
- long timer1()
# /* This function returns the time, in ticks since midnight. */
# {
# unsigned short h,m;
And insert this one line:
# }
#
#
+ long timer1(void)
# /* This function returns the time, in ticks since midnight. */
# {
# unsigned short h,m;
Starting at line #345, delete this one line:
# }
#
#
- int sysop1()
# /* This function returns the status of scoll lock. If scroll lock is active
# * (ie, the user has hit scroll lock + the light is lit if there is a
# * scoll lock LED), the sysop is assumed to be available.
And insert this one line:
# }
#
#
+ int sysop1(void)
# /* This function returns the status of scoll lock. If scroll lock is active
# * (ie, the user has hit scroll lock + the light is lit if there is a
# * scoll lock LED), the sysop is assumed to be available.
Starting at line #359, delete this one line:
#
#
#
- int okansi()
# /* This function checks the status of the current user's record to see if
# * the user has specified that he wants ANSI graphics displayed.
# */
And insert this one line:
#
#
#
+ int okansi(void)
# /* This function checks the status of the current user's record to see if
# * the user has specified that he wants ANSI graphics displayed.
# */
Starting at line #373, delete this one line:
# }
#
#
- void frequent_init()
# /* This should be called after a user is logged off, and will initialize
# * screen-access variables.
# */
And insert this one line:
# }
#
#
+ void frequent_init(void)
# /* This should be called after a user is logged off, and will initialize
# * screen-access variables.
# */
Starting at line #377, add this one line:
# * screen-access variables.
# */
# {
+ in_fsed=0;
# curlsub=-1;
# ansiptr=0;
# curatr=0x07;
Starting at line #425, add this one line:
# unlink(dszlog);
# ltime=0;
# set_x_only(0, NULL, 0);
+ set_net_num(0);
# }
#
#
Starting at line #478, delete these 14 lines:
# }
#
#
- void far *mallocx(unsigned long l)
- {
- void *x;
-
- x=farmalloc(l);
- if (!x) {
- printf("NOT ENOUGH MEMORY.\n");
- end_bbs(noklevel);
- }
- return(x);
- }
-
-
-
# void fix_user_rec(userrec *u)
# {
# u->name[30]=0;
Starting at line #506, delete this one line:
# u->macros[2][80]=0;
# }
#
- void close_user()
# {
# if (userfile!=-1) {
# close(userfile);
And insert this one line:
# u->macros[2][80]=0;
# }
#
+ void close_user(void)
# {
# if (userfile!=-1) {
# close(userfile);
Starting at line #514, delete this one line:
# }
# }
#
- void open_user()
# {
# char s[81];
#
And insert this one line:
# }
# }
#
+ void open_user(void)
# {
# char s[81];
#
Starting at line #528, delete this one line:
# }
#
#
- int number_userrecs()
# {
# open_user();
# return((int) (filelength(userfile)/syscfg.userreclen)-1);
And insert this one line:
# }
#
#
+ int number_userrecs(void)
# {
# open_user();
# return((int) (filelength(userfile)/syscfg.userreclen)-1);
Starting at line #605, delete this one line:
# }
#
#
- void save_status()
# {
# char s[80];
#
And insert this one line:
# }
#
#
+ void save_status(void)
# {
# char s[80];
#
Starting at line #619, delete this one line:
#
#
#
- double ratio()
# {
# double r;
#
And insert this one line:
#
#
#
+ double ratio(void)
# {
# double r;
#
Starting at line #632, delete this one line:
# }
#
#
- double post_ratio()
# {
# double r;
#
And insert this one line:
# }
#
#
+ double post_ratio(void)
# {
# double r;
#
Starting at line #688, delete this one line:
# return(o);
# }
#
- double nsl()
# {
# double tlt,tlc,tot,tpl,tpd,dd,rtn;
# slrec xx;
And insert this one line:
# return(o);
# }
#
+ double nsl(void)
# {
# double tlt,tlc,tot,tpl,tpd,dd,rtn;
# slrec xx;
Starting at line #734, delete this one line:
# }
#
#
- char *date()
# {
# static char ds[9];
# struct date today;
And insert this one line:
# }
#
#
+ char *date(void)
# {
# static char ds[9];
# struct date today;
Starting at line #744, delete this one line:
# return(ds);
# }
#
- char *times()
# {
# static char ti[9];
# int h,m,s;
And insert this one line:
# return(ds);
# }
#
+ char *times(void)
# {
# static char ti[9];
# int h,m,s;
Starting at line #809, delete this one line:
# }
#
#
- void changedsl()
# {
# int i,i1,i2,i3,i4,ok,dp,ddp;
# subboardrec s;
And insert this one line:
# }
#
#
+ void changedsl(void)
# {
# int i,i1,i2,i3,i4,ok,dp,ddp;
# subboardrec s;
Starting at line #825, delete this one line:
# s1.keys[i]=0;
# }
# s1.subnum=-1;
- for (i=0; i<MAX_SUBS; i++)
# usub[i]=s1;
# for (i=0; i<MAX_DIRS; i++)
# udir[i]=s1;
And insert this one line:
# s1.keys[i]=0;
# }
# s1.subnum=-1;
+ for (i=0; i<max_subs; i++)
# usub[i]=s1;
# for (i=0; i<MAX_DIRS; i++)
# udir[i]=s1;
Starting at line #837, delete this one line:
# s=subboards[i];
# if (actsl<s.readsl)
# ok=0;
- if (thisuser.age<s.age)
# ok=0;
# if ((s.ar!=0) && (((thisuser.ar) & (s.ar))==0))
# ok=0;
And insert this one line:
# s=subboards[i];
# if (actsl<s.readsl)
# ok=0;
+ if (thisuser.age<(s.age&0x7f))
# ok=0;
# if ((s.ar!=0) && (((thisuser.ar) & (s.ar))==0))
# ok=0;
Starting at line #1011, delete this one line:
# }
#
#
- int find_interrupt()
# {
# long far *l;
# int i;
And insert this one line:
# }
#
#
+ int find_interrupt(void)
# {
# long far *l;
# int i;
Starting at line #1035, delete this one line:
# int f;
# char s[100];
#
- sprintf(s,"%sP1.NET",syscfg.datadir);
# f=open(s,O_RDWR | O_BINARY | O_CREAT, S_IREAD | S_IWRITE);
# lseek(f,0L,SEEK_END);
# if (!list)
And insert this one line:
# int f;
# char s[100];
#
+ sprintf(s,"%sP1.NET",net_data);
# f=open(s,O_RDWR | O_BINARY | O_CREAT, S_IREAD | S_IWRITE);
# lseek(f,0L,SEEK_END);
# if (!list)
/*****************************************************************************/
version.c:
Starting at line #16, delete this one line:
# *****************************************************************************/
#
#
- char *wwiv_version = "WWIV v4.21";
#
# unsigned int wwiv_num_version=421;
#
And insert this one line:
# *****************************************************************************/
#
#
+ char *wwiv_version = "WWIV v4.21a";
#
# unsigned int wwiv_num_version=421;
#
/*****************************************************************************/
voteedit.c:
Starting at line #91, delete this one line:
# }
#
#
- void ivotes()
# {
# int i,f,abort,n,done;
# char s[81];
And insert this one line:
# }
#
#
+ void ivotes(void)
# {
# int i,f,abort,n,done;
# char s[81];
Starting at line #126, delete this one line:
# }
#
#
- void voteprint()
# {
# int f,f1,i,i1,i2,i3,nu;
# char s[81],s1[81],s2[81];
And insert this one line:
# }
#
#
+ void voteprint(void)
# {
# int f,f1,i,i1,i2,i3,nu;
# char s[81],s1[81],s2[81];
/*****************************************************************************/
xfer.c:
Starting at line #123, delete this one line:
# }
# }
#
- void find_devices()
# {
# finddevs(NULL, &num_devices);
# devices=farmalloc((num_devices+2)*9);
And insert this one line:
# }
# }
#
+ void find_devices(void)
# {
# finddevs(NULL, &num_devices);
# devices=farmalloc((num_devices+2)*9);
Starting at line #142, delete this one line:
# ch=s[i];
# if ((ch==' ') || (ch=='/') || (ch=='\\') || (ch==':') ||
# (ch=='>') || (ch=='<') || (ch=='|') || (ch=='+') ||
- (ch==',') || (ch==';') || (ch=='^') || (ch>126))
# return(0);
# }
#
And insert these 2 lines:
# ch=s[i];
# if ((ch==' ') || (ch=='/') || (ch=='\\') || (ch==':') ||
# (ch=='>') || (ch=='<') || (ch=='|') || (ch=='+') ||
+ (ch==',') || (ch==';') || (ch=='^') || (ch=='\"') ||
+ (ch=='\'') || (ch>126))
# return(0);
# }
#
Starting at line #156, delete this one line:
# return(1);
# }
#
- void print_devices()
# {
# int i;
# for (i=0; i<num_devices; i++)
And insert this one line:
# return(1);
# }
#
+ void print_devices(void)
# {
# int i;
# for (i=0; i<num_devices; i++)
Starting at line #261, delete this one line:
# }
#
#
- int ratio_ok()
# {
# int ok=1;
# char s[101];
And insert this one line:
# }
#
#
+ int ratio_ok(void)
# {
# int ok=1;
# char s[101];
Starting at line #293, delete this one line:
# }
#
#
- int dcs()
# {
# if (cs())
# return(1);
And insert this one line:
# }
#
#
+ int dcs(void)
# {
# if (cs())
# return(1);
Starting at line #376, delete this one line:
# }
#
#
- void dliscan()
# {
# dliscan1(udir[curdir].subnum);
# }
And insert this one line:
# }
#
#
+ void dliscan(void)
# {
# dliscan1(udir[curdir].subnum);
# }
Starting at line #382, delete this one line:
# }
#
#
- void closedl()
# {
# if (dlf>0) {
# close(dlf);
And insert this one line:
# }
#
#
+ void closedl(void)
# {
# if (dlf>0) {
# close(dlf);
Starting at line #506, delete this one line:
#
#
#
- void modify_extended_description(char **sss)
# {
# char s[161],s1[161];
# int f,ii,i,i1,i2;
And insert this one line:
#
#
#
+ void modify_extended_description(char **sss, char *dest, char *title)
# {
# char s[161],s1[161];
# int f,ii,i,i1,i2;
Starting at line #543, delete this one line:
# i=thisuser.screenchars;
# if (thisuser.screenchars>(76-INDENTION))
# thisuser.screenchars=76-INDENTION;
- i1=external_edit("extended.dsc",syscfg.tempdir,(int) thisuser.defed-1,MAX_LINES);
# thisuser.screenchars=i;
# if (i1) {
# if ((*sss=malloca(10240))==NULL)
And insert these 2 lines:
# i=thisuser.screenchars;
# if (thisuser.screenchars>(76-INDENTION))
# thisuser.screenchars=76-INDENTION;
+ i1=external_edit("extended.dsc",syscfg.tempdir,(int) thisuser.defed-1,
+ MAX_LINES, dest, title, 1);
# thisuser.screenchars=i;
# if (i1) {
# if ((*sss=malloca(10240))==NULL)
Starting at line #764, delete this one line:
# }
#
#
- void listfiles()
# {
# char s[81];
# int i,abort,next=0;
And insert this one line:
# }
#
#
+ void listfiles(void)
# {
# char s[81];
# int i,abort,next=0;
Starting at line #827, delete this one line:
# }
#
#
- void nscanall()
# {
# int abort,i,i1;
# char s[81];
And insert this one line:
# }
#
#
+ void nscanall(void)
# {
# int abort,i,i1;
# char s[81];
Starting at line #854, delete this one line:
# }
#
#
- void searchall()
# {
# int i,i1,pts,abort,pty,ocd,next=0;
# char s[81],s1[81];
And insert this one line:
# }
#
#
+ void searchall(void)
# {
# int i,i1,pts,abort,pty,ocd,next=0;
# char s[81],s1[81];
Starting at line #1076, delete this one line:
# u.numdloads=0;
# u.filetype=0;
# u.mask=0;
- strcpy(u.upby,nam1(&thisuser,usernum,syscfg.systemnumber));
# strcpy(u.date,date());
# nl();
# ok=1;
And insert this one line:
# u.numdloads=0;
# u.filetype=0;
# u.mask=0;
+ strcpy(u.upby,nam(&thisuser,usernum));
# strcpy(u.date,date());
# nl();
# ok=1;
Starting at line #1185, delete this one line:
# inputl(u.description,58);
# nl();
# ss=NULL;
- modify_extended_description(&ss);
# if (ss) {
# add_extended_description(u.filename,ss);
# u.mask |= mask_extended;
And insert this one line:
# inputl(u.description,58);
# nl();
# ss=NULL;
+ modify_extended_description(&ss, directories[dn].name,u.filename);
# if (ss) {
# add_extended_description(u.filename,ss);
# u.mask |= mask_extended;
Starting at line #1362, delete this one line:
# /****************************************************************************/
#
#
- void download()
# {
# char s[81];
# int dn;
And insert this one line:
# /****************************************************************************/
#
#
+ void download(void)
# {
# char s[81];
# int dn;
Starting at line #1396, delete this one line:
# }
#
#
- void setldate()
# {
# struct date d;
# struct time t;
And insert this one line:
# }
#
#
+ void setldate(void)
# {
# struct date d;
# struct time t;
Starting at line #1434, delete this one line:
# }
#
#
- void finddescription()
# {
# uploadsrec u;
# int i,i1,i2,abort,pty,d,ocd,pts,next=0;
And insert this one line:
# }
#
#
+ void finddescription(void)
# {
# uploadsrec u;
# int i,i1,i2,abort,pty,d,ocd,pts,next=0;
Starting at line #1498, delete this one line:
# }
#
#
- void arc_l()
# {
# char s[81],s1[81],s2[81];
# int i,abort,next,i1;
And insert this one line:
# }
#
#
+ void arc_l(void)
# {
# char s[81],s1[81],s2[81];
# int i,abort,next,i1;
Starting at line #1534, delete this one line:
# /****************************************************************************/
#
#
- void yourinfodl()
# {
#
# nl();
And insert this one line:
# /****************************************************************************/
#
#
+ void yourinfodl(void)
# {
#
# nl();
Starting at line #1546, delete this one line:
# nl();
# }
#
- void l_config_nscan()
# {
# int i,abort,i1;
# char s[81], s2[81];
And insert this one line:
# nl();
# }
#
+ void l_config_nscan(void)
# {
# int i,abort,i1;
# char s[81], s2[81];
Starting at line #1575, delete this one line:
# nl();
# }
#
- void config_nscan()
# {
# char *s;
# int i,done,i1;
And insert this one line:
# nl();
# }
#
+ void config_nscan(void)
# {
# char *s;
# int i,done,i1;
Starting at line #1604, delete this one line:
# }
#
#
- void xfer_defaults()
# {
# char s[81],s1[81],ch;
# int i,i1,i2,done;
And insert this one line:
# }
#
#
+ void xfer_defaults(void)
# {
# char s[81],s1[81],ch;
# int i,i1,i2,done;
Starting at line #1674, delete this one line:
# }
#
#
- void removefile()
# {
# int i,i1,ok,rm,abort,rdlp;
# char ch,s[81],s1[81];
And insert this one line:
# }
#
#
+ void removefile(void)
# {
# int i,i1,ok,rm,abort,rdlp;
# char ch,s[81],s1[81];
/*****************************************************************************/
xferovl.c:
Starting at line #28, delete this one line:
#
# #define SETREC(i) lseek(dlf,((long) (i))*((long)sizeof(uploadsrec)),SEEK_SET);
#
- void move_file()
# {
# char sx[81],s[81],s1[81],s2[81],ch,*ss;
# int i,i1,ok,d1,d2,done,cp;
And insert this one line:
#
# #define SETREC(i) lseek(dlf,((long) (i))*((long)sizeof(uploadsrec)),SEEK_SET);
#
+ void move_file(void)
# {
# char sx[81],s[81],s1[81],s2[81],ch,*ss;
# int i,i1,ok,d1,d2,done,cp;
Starting at line #271, delete this one line:
# }
#
#
- void rename_file()
# {
# char s[81],s1[81],s2[81],*ss,s3[81],ch;
# int i,cp;
And insert this one line:
# }
#
#
+ void rename_file(void)
# {
# char s[81],s1[81],s2[81],*ss,s3[81],ch;
# int i,cp;
Starting at line #355, delete this one line:
# u.mask &= ~mask_extended;
# } else {
# u.mask |= mask_extended;
- modify_extended_description(&ss);
# if (ss) {
# delete_extended_description(u.filename);
# add_extended_description(u.filename,ss);
And insert these 2 lines:
# u.mask &= ~mask_extended;
# } else {
# u.mask |= mask_extended;
+ modify_extended_description(&ss,
+ directories[udir[curdir].subnum].name,u.filename);
# if (ss) {
# delete_extended_description(u.filename);
# add_extended_description(u.filename,ss);
Starting at line #363, delete this one line:
# }
# }
# } else {
- modify_extended_description(&ss);
# if (ss) {
# add_extended_description(u.filename,ss);
# farfree(ss);
And insert these 2 lines:
# }
# }
# } else {
+ modify_extended_description(&ss,
+ directories[udir[curdir].subnum].name,u.filename);
# if (ss) {
# add_extended_description(u.filename,ss);
# farfree(ss);
Starting at line #419, delete this one line:
# l=filelength(f);
# u.numbytes=l;
# close(f);
- strcpy(u.upby,nam1(&thisuser,usernum,syscfg.systemnumber));
# strcpy(u.date,date());
# if (d.mask & mask_PD)
# d.mask=mask_PD;
And insert this one line:
# l=filelength(f);
# u.numbytes=l;
# close(f);
+ strcpy(u.upby, nam(&thisuser,usernum));
# strcpy(u.date,date());
# if (d.mask & mask_PD)
# d.mask=mask_PD;
Starting at line #504, add these 4 lines:
#
# f=fopen(fn,"r");
# if (!f) {
+ sprintf(s,"%s%s",directories[dn].path,fn);
+ f=fopen(s,"r");
+ }
+ if (!f) {
# npr("\r\nFile '%s' not found.\r\n\r\n",fn);
# } else {
# while (ok && fgets(s,250,f)) {
Starting at line #508, delete this one line:
# npr("\r\nFile '%s' not found.\r\n\r\n",fn);
# } else {
# while (ok && fgets(s,250,f)) {
- if ((s[0]<=32) || (s[0]>127))
# continue;
# ok1=0;
# fn1=strtok(s," \t\n");
And insert this one line:
# npr("\r\nFile '%s' not found.\r\n\r\n",fn);
# } else {
# while (ok && fgets(s,250,f)) {
+ if (s[0]<=32)
# continue;
# ok1=0;
# fn1=strtok(s," \t\n");
/*****************************************************************************/
xfertmp.c:
Starting at line #452, add these 2 lines:
# get_arc_cmd(s,s1,2,fn);
# if (s[0]) {
# cd_to(syscfg.tempdir);
+ outs(s);
+ outs("\r\n");
# if (dos) {
# do_external(s,0);
# } else {
Starting at line #467, delete this one line:
# pl("Sorry, can't add to temp archive.");
# }
#
- void add_temp_arc()
# {
# char s[81],s2[81];
# int i;
And insert this one line:
# pl("Sorry, can't add to temp archive.");
# }
#
+ void add_temp_arc(void)
# {
# char s[81],s2[81];
# int i;
Starting at line #491, delete this one line:
# add_arc("TEMP", s2, 1);
# }
#
- void del_temp()
# {
# char s[81],s1[81];
# nl();
And insert this one line:
# add_arc("TEMP", s2, 1);
# }
#
+ void del_temp(void)
# {
# char s[81],s1[81];
# nl();
Starting at line #506, delete this one line:
# }
# }
#
- void list_temp_dir()
# {
# int i,i1,f1,abort;
# char s[81],s1[81];
And insert this one line:
# }
# }
#
+ void list_temp_dir(void)
# {
# int i,i1,f1,abort;
# char s[81],s1[81];
Starting at line #539, delete this one line:
# }
#
#
- void temp_extract()
# {
# int i,i1,i2,i3,ok,abort,ok1;
# char s[255],s1[255],s2[81],s3[255],s4[129];
And insert this one line:
# }
#
#
+ void temp_extract(void)
# {
# int i,i1,i2,i3,ok,abort,ok1;
# char s[255],s1[255],s2[81],s3[255],s4[129];
Starting at line #629, delete this one line:
# closedl();
# }
#
- void list_temp_text()
# {
# int i,i1,f1,ok,sent;
# char s[81],s1[81];
And insert this one line:
# closedl();
# }
#
+ void list_temp_text(void)
# {
# int i,i1,f1,ok,sent;
# char s[81],s1[81];
Starting at line #669, delete this one line:
# }
#
#
- void list_temp_arc()
# {
# char s1[81],s2[81];
#
And insert this one line:
# }
#
#
+ void list_temp_arc(void)
# {
# char s1[81],s2[81];
#
Starting at line #681, delete this one line:
#
#
#
- void temporary_stuff()
# {
# char s[81],s1[81],ch;
# int done;
And insert this one line:
#
#
#
+ void temporary_stuff(void)
# {
# char s[81],s1[81],ch;
# int done;
/*****************************************************************************/
xinit.c:
Starting at line #45, delete this one line:
# void far interrupt mpli();
#
#
- void init()
# {
# char s[161],*buf,ch,*ss;
# int i,i1,i2,sm,cp,n,f;
And insert this one line:
# void far interrupt mpli();
#
#
+ void far *mallocx(unsigned long l, char *where)
# {
# void *x;
#
Starting at line #46, add these 15 lines:
#
# void far *mallocx(unsigned long l, char *where)
# {
+ void *x;
+
+ x=farmalloc(l);
+ if (!x) {
+ printf("Insufficient memory (%ld bytes) for %s.\n",l,where);
+ end_bbs(noklevel);
+ }
+ return(x);
+ }
+
+
+
+
+ void init(void)
+ {
# char s[161],*buf,ch,*ss;
# int i,i1,i2,sm,cp,n,f;
# long l;
Starting at line #94, add these 6 lines:
# strcpy(cdir,"X:\\");
# cdir[0]='A'+getdisk();
# getcurdir(0,&(cdir[3]));
+
+ #ifdef EMS_XMS
+ if (_OvrInitEms(0,0,16)!=0)
+ _OvrInitExt(0L,0);
+ #endif
+
# userfile=-1;
# configfile=-1;
# statusfile=-1;
Starting at line #126, delete these 2 lines:
# chat_file=0;
# do_event=0;
# sysop_alert=0;
- ncn=NULL;
- num_ncn=0;
# global_handle=0;
#
# for (i=0; i<25; i++)
Starting at line #169, delete this one line:
# close(configfile);
#
# /* update user info data */
- syscfg.userreclen=sizeof(userrec);
# syscfg.waitingoffset=FP_OFF(&(thisuser.waiting))-FP_OFF(&thisuser);
# syscfg.inactoffset=FP_OFF(&(thisuser.inact))-FP_OFF(&thisuser);
# syscfg.sysstatusoffset=FP_OFF(&(thisuser.sysstatus))-FP_OFF(&thisuser);
And insert these 2 lines:
# close(configfile);
#
# /* update user info data */
+ if (!syscfg.userreclen)
+ syscfg.userreclen=700;
# syscfg.waitingoffset=FP_OFF(&(thisuser.waiting))-FP_OFF(&thisuser);
# syscfg.inactoffset=FP_OFF(&(thisuser.inact))-FP_OFF(&thisuser);
# syscfg.sysstatusoffset=FP_OFF(&(thisuser.sysstatus))-FP_OFF(&thisuser);
Starting at line #172, add these 3 lines:
# syscfg.waitingoffset=FP_OFF(&(thisuser.waiting))-FP_OFF(&thisuser);
# syscfg.inactoffset=FP_OFF(&(thisuser.inact))-FP_OFF(&thisuser);
# syscfg.sysstatusoffset=FP_OFF(&(thisuser.sysstatus))-FP_OFF(&thisuser);
+ syscfg.fuoffset=FP_OFF(&(thisuser.forwardusr))-FP_OFF(&thisuser);
+ syscfg.fsoffset=FP_OFF(&(thisuser.forwardsys))-FP_OFF(&thisuser);
+ syscfg.fnoffset=FP_OFF(&(thisuser.net_num))-FP_OFF(&thisuser);
#
# /* check for changes in userrec - hack code */
# #pragma warn -rch
Starting at line #173, add these 6 lines:
# syscfg.fsoffset=FP_OFF(&(thisuser.forwardsys))-FP_OFF(&thisuser);
# syscfg.fnoffset=FP_OFF(&(thisuser.net_num))-FP_OFF(&thisuser);
#
+ /* check for changes in userrec - hack code */
+ #pragma warn -rch
+ if (sizeof(userrec)!=832)
+ syscfg.userreclen=sizeof(userrec);
+ #pragma warn +rch
+
# /* store the new config.dat file */
# configfile=open("CONFIG.DAT",O_RDWR | O_BINARY);
# write(configfile,(void *) (&syscfg), sizeof(configrec));
Starting at line #181, add these 24 lines:
# if (!syscfg.primaryport)
# ok_modem_stuff=0;
#
+
+ net_networks=NULL;
+ net_num=0;
+ sprintf(s,"%sNETWORKS.DAT", syscfg.datadir);
+ f=open(s,O_RDONLY|O_BINARY);
+ if (f>0) {
+ net_num_max=filelength(f)/sizeof(net_networks_rec);
+ if (net_num_max) {
+ net_networks=mallocx(net_num_max*sizeof(net_networks_rec),"networks.dat");
+ read(f, net_networks, net_num_max*sizeof(net_networks_rec));
+ }
+ close(f);
+ }
+ if (!net_networks) {
+ net_networks=mallocx(sizeof(net_networks_rec), "networks.dat");
+ memset(net_networks, 0, sizeof(net_networks_rec));
+ net_num_max=1;
+ strcpy(net_networks->name,"WWIVnet");
+ strcpy(net_networks->dir, syscfg.datadir);
+ net_networks->sysnum=syscfg.systemnumber;
+ }
+
+ set_net_num(0);
+
# strcpy(s,syscfg.tempdir);
# i=strlen(s);
# if (s[0]==0)
Starting at line #223, delete these 3 lines:
# read(statusfile,(void *)(&status), sizeof(statusrec));
# close(statusfile);
# status.wwiv_version=wwiv_num_version;
- gat=(short *) mallocx(2048 * sizeof(short));
- smallist=(smalrec *) mallocx((long)syscfg.maxusers * (long)sizeof(smalrec));
- gfilesec=(gfiledirrec *) mallocx((long) (32 * sizeof(gfiledirrec)));
#
# screensave.scrn1=(char *)mallocx(screenlen);
#
And insert these 4 lines:
# read(statusfile,(void *)(&status), sizeof(statusrec));
# close(statusfile);
# status.wwiv_version=wwiv_num_version;
+ gat=(short *) mallocx(2048 * sizeof(short), "gat");
+ smallist=(smalrec *) mallocx((long)syscfg.maxusers * (long)sizeof(smalrec),
+ "names.lst - try decreasing max users in INIT");
+ gfilesec=(gfiledirrec *) mallocx((long) (32 * sizeof(gfiledirrec)), "gfiles");
#
# screensave.scrn1=(char *)mallocx(screenlen, "screensave");
#
Starting at line #227, delete this one line:
# smallist=(smalrec *) mallocx((long)syscfg.maxusers * (long)sizeof(smalrec));
# gfilesec=(gfiledirrec *) mallocx((long) (32 * sizeof(gfiledirrec)));
#
- screensave.scrn1=(char *)mallocx(screenlen);
#
# read_in_file("MENUS.MSG",(menus),30);
# read_in_file("HELP.MSG",(helps),50);
And insert this one line:
# "names.lst - try decreasing max users in INIT");
# gfilesec=(gfiledirrec *) mallocx((long) (32 * sizeof(gfiledirrec)), "gfiles");
#
+ screensave.scrn1=(char *)mallocx(screenlen, "screensave");
#
# read_in_file("MENUS.MSG",(menus),30);
# read_in_file("HELP.MSG",(helps),50);
Starting at line #261, delete these 2 lines:
# read(i,(void *) (smallist), (sizeof(smalrec) * status.users));
# close(i);
#
- subboards=(subboardrec *) mallocx(MAX_SUBS*sizeof(subboardrec));
- directories=(directoryrec *)mallocx(MAX_DIRS*sizeof(directoryrec));
#
# sprintf(s,"%sSUBS.DAT",syscfg.datadir);
# i=open(s,O_RDWR | O_BINARY);
And insert these 4 lines:
# read(i,(void *) (smallist), (sizeof(smalrec) * status.users));
# close(i);
#
+ if (syscfg.userreclen == sizeof(userrec))
+ max_subs=MAX_SUBS;
+ else
+ max_subs=32;
#
# subboards=(subboardrec *) mallocx(max_subs*sizeof(subboardrec), "subboards");
# directories=(directoryrec *)mallocx(MAX_DIRS*sizeof(directoryrec), "directories");
Starting at line #263, add these 3 lines:
# else
# max_subs=32;
#
+ subboards=(subboardrec *) mallocx(max_subs*sizeof(subboardrec), "subboards");
+ directories=(directoryrec *)mallocx(MAX_DIRS*sizeof(directoryrec), "directories");
+
# sprintf(s,"%sSUBS.DAT",syscfg.datadir);
# i=open(s,O_RDWR | O_BINARY);
# if (i<0) {
Starting at line #270, delete this one line:
# printf("%s NOT FOUND.\n",s);
# end_bbs(noklevel);
# }
- num_subs=(read(i,subboards, (MAX_SUBS*sizeof(subboardrec))))/
# sizeof(subboardrec);
# close(i);
#
And insert this one line:
# printf("%s NOT FOUND.\n",s);
# end_bbs(noklevel);
# }
+ num_subs=(read(i,subboards, (max_subs*sizeof(subboardrec))))/
# sizeof(subboardrec);
# close(i);
#
Starting at line #284, delete this one line:
# sizeof(directoryrec);
# close(i);
#
- chains=(chainfilerec *) mallocx(50 * sizeof(chainfilerec));
# numextrn=0;
# numchain=0;
# numed=0;
And insert this one line:
# sizeof(directoryrec);
# close(i);
#
+ chains=(chainfilerec *) mallocx(50 * sizeof(chainfilerec), "chains");
# numextrn=0;
# numchain=0;
# numed=0;
Starting at line #299, delete this one line:
# i=open(s,O_RDWR | O_BINARY);
# if (i>0) {
# l=filelength(i);
- modem_i = mallocx(l);
# read(i,modem_i, (unsigned) l);
# close(i);
# } else {
And insert this one line:
# i=open(s,O_RDWR | O_BINARY);
# if (i>0) {
# l=filelength(i);
+ modem_i = mallocx(l, "modem.dat");
# read(i,modem_i, (unsigned) l);
# close(i);
# } else {
Starting at line #313, delete this one line:
# l=filelength(i);
# if (l>15*sizeof(newexternalrec))
# l=15*sizeof(newexternalrec);
- externs=mallocx(l+10);
# numextrn=(read(i,(void *)externs, (unsigned) l))/sizeof(newexternalrec);
# close(i);
# } else
And insert this one line:
# l=filelength(i);
# if (l>15*sizeof(newexternalrec))
# l=15*sizeof(newexternalrec);
+ externs=mallocx(l+10, "external protocols");
# numextrn=(read(i,(void *)externs, (unsigned) l))/sizeof(newexternalrec);
# close(i);
# } else
Starting at line #326, delete this one line:
# l=filelength(i);
# if (l>10*sizeof(editorrec))
# l=10*sizeof(editorrec);
- editors=mallocx(l+10);
# numed=(read(i,(void *)editors, (unsigned) l))/sizeof(editorrec);
# numed=numed;
# close(i);
And insert this one line:
# l=filelength(i);
# if (l>10*sizeof(editorrec))
# l=10*sizeof(editorrec);
+ editors=mallocx(l+10, "external editors");
# numed=(read(i,(void *)editors, (unsigned) l))/sizeof(editorrec);
# numed=numed;
# close(i);
Starting at line #331, delete this one line:
# numed=numed;
# close(i);
# }
- batch=mallocx(MAX_BATCH * sizeof(batchrec));
#
# read_user(1,&thisuser);
# if (thisuser.inact & inact_deleted)
And insert this one line:
# numed=numed;
# close(i);
# }
+ batch=mallocx(MAX_BATCH * sizeof(batchrec), "batch list");
#
# read_user(1,&thisuser);
# if (thisuser.inact & inact_deleted)
Starting at line #363, delete this one line:
# if (strncmp(environ[i],"DSZLOG=",7)==0)
# xenviron[i1++]=strdup(s);
# else {
- if (strncmp(environ[i],"BBS=",4) && (strncmp(environ[i],"WWIV_FP=",8)))
# xenviron[i1++]=environ[i];
# }
# ++i;
And insert these 3 lines:
# if (strncmp(environ[i],"DSZLOG=",7)==0)
# xenviron[i1++]=strdup(s);
# else {
+ if ((strncmp(environ[i],"BBS=",4)) &&
+ (strncmp(environ[i],"WWIV_FP=",8)) &&
+ (strncmp(environ[i],"WWIV_NET=",8)))
# xenviron[i1++]=environ[i];
# }
# ++i;
Starting at line #373, add this one line:
# xenviron[i1++]=newprompt;
# xenviron[i1++]=ver_no1;
# xenviron[i1++]=ver_no2;
+ xenviron[i1++]=wwiv_net_no;
# xenviron[i1]=NULL;
# for (i=0; i<20; i++)
# questused[i]=0;
Starting at line #403, delete this one line:
# status.callernum=65535;
# save_status();
# }
- msgs=(postrec *) mallocx((long)(255 * sizeof(postrec)));
# read_bbs_list_index();
# frequent_init();
# read_contacts();
And insert this one line:
# status.callernum=65535;
# save_status();
# }
+ msgs=(postrec *) mallocx((long)(255 * sizeof(postrec)), "posts");
# read_bbs_list_index();
# frequent_init();
# if (!restoring_shrink && !already_on) {
Starting at line #406, delete this one line:
# msgs=(postrec *) mallocx((long)(255 * sizeof(postrec)));
# read_bbs_list_index();
# frequent_init();
- read_contacts();
# if (!restoring_shrink && !already_on) {
# remove_from_temp("*.*", syscfg.tempdir, 1);
# remove_from_temp("*.*", syscfg.batchdir, 1);
Starting at line #418, delete this one line:
# find_devices();
#
# if (!restoring_shrink) {
- sprintf(s,"BBS brought up at %s on %s.",times(), date());
# sl1(0,"");
# sl1(0,s);
# sl1(0,"");
And insert this one line:
# find_devices();
#
# if (!restoring_shrink) {
+ sprintf(s,"%s brought up at %s on %s.",wwiv_version, times(), date());
# sl1(0,"");
# sl1(0,s);
# sl1(0,"");
/*****************************************************************************/
net.h:
Starting at line #218, add these 11 lines:
# } sys_for_rec;
#
#
+ typedef struct {
+ unsigned char type; /* type of network */
+ char name[16]; /* network name */
+ char dir[69]; /* directory for net data */
+ unsigned short sysnum; /* system number */
+ net_call_out_rec *con; /* ptr to callout data */
+ net_contact_rec *ncn; /* ptr to contact info */
+ int num_con; /* number in array */
+ int num_ncn; /* number in array */
+ } net_networks_rec;
+
# #endif
/*****************************************************************************/
vardec.h:
Starting at line #46, delete these 5 lines:
# /****************************************************************************/
# /*
# * BE CAREFUL with this stuff. DO NOT try to change MAX_DIRS - you'll have
- * to do a lot of additional programming to support more than 64. Changing
- * MAX_SUBS to 64 SHOULD work.
- *
- * HOWEVER: if you #define EXTENDED (do it BEFORE the #ifdef STANDARD),
- * be forewarned that you WILL have to reformat your userlist.
# */
#
# #ifdef STANDARD
And insert this one line:
# /****************************************************************************/
# /*
# * BE CAREFUL with this stuff. DO NOT try to change MAX_DIRS - you'll have
+ * to do a lot of additional programming to support more than 64.
# */
#
# #define EXTENDED
Starting at line #52, add these 2 lines:
# * to do a lot of additional programming to support more than 64.
# */
#
+ #define EXTENDED
+
# #ifdef STANDARD
# #undef EXTENDED
# #endif
Starting at line #138, delete this one line:
# unsigned char num_extended; /* num lines of ext desc */
# unsigned char optional_val; /* optional lines in msgs */
# unsigned long wwiv_regnum; /* users WWIV reg number */
- char res[29]; /* reserved bytes */
# #if MAX_SUBS>32
# unsigned long qscn2; /* additional qscan ptr */
# unsigned long qscnptr2[MAX_SUBS-32]; /* additional quickscan ptrs */
And insert these 2 lines:
# unsigned char num_extended; /* num lines of ext desc */
# unsigned char optional_val; /* optional lines in msgs */
# unsigned long wwiv_regnum; /* users WWIV reg number */
+ unsigned char net_num; /* net_num for forwarding */
+ char res[28]; /* reserved bytes */
# #if MAX_SUBS>32
# unsigned long qscn2; /* additional qscan ptr */
# unsigned long qscnptr2[MAX_SUBS-32]; /* additional quickscan ptrs */
Starting at line #245, delete this one line:
# char batchdir[81];
# int sysstatusoffset;
# char network_type;
- char res[36]; /* RESERVED */
# } configrec;
#
#
And insert these 4 lines:
# char batchdir[81];
# int sysstatusoffset;
# char network_type;
+ short fuoffset,
+ fsoffset,
+ fnoffset;
+ char res[30]; /* RESERVED */
# } configrec;
#
#
Starting at line #557, add this one line:
# /* mailrec.status */
# #define status_multimail 0x01
# #define status_source_verified 0x02
+ #define status_new_net 0x04
#
# /* configrec.sysconfig */
# #define sysconfig_no_local 0x0001
Starting at line #574, add this one line:
# #define sysconfig_shrink_term 0x1000
# #define sysconfig_free_phone 0x2000
# #define sysconfig_log_dl 0x4000
+ #define sysconfig_standard_userrec 0x8000
#
# /* editorrec.config */
# #define config_80_25 0x0001
Starting at line #637, delete this one line:
# } resultrec;
#
#
- #define VERSION_NUMBER "WWIV v4.21"
# #define max_buf 1024
# #define MSG_COLOR 0
# #define MAX_BATCH 50