Skip to content
Snippets Groups Projects
Commit c843d27e authored by rswindell's avatar rswindell
Browse files

Increased maximum number of supported sub-board ptr indexes from 32K to 64K.

clearptrs() now sets N/S scan cfg to OFF for unknown sub-boards.
parent 993e2fc6
Branches
Tags
No related merge requests found
......@@ -66,7 +66,7 @@ return(out);
void clearptrs(int subnum)
{
char str[256];
ushort idx,ch;
ushort idx,scancfg;
int file,i,gi;
long l=0L;
glob_t g;
......@@ -88,26 +88,30 @@ void clearptrs(int subnum)
for(i=0;i<cfg.total_subs;i++)
if(cfg.sub[i]->ptridx==idx)
break;
write(file,&l,4);
write(file,&l,4);
ch=0xff; /* default to scan ON for unknown sub */
write(file,&l,sizeof(l));
write(file,&l,sizeof(l));
scancfg=0xff;
if(i<cfg.total_subs) {
if(!(cfg.sub[i]->misc&SUB_NSDEF))
ch&=~5;
scancfg&=~SUB_CFG_NSCAN;
if(!(cfg.sub[i]->misc&SUB_SSDEF))
ch&=~2; }
write(file,&ch,2); }
scancfg&=~SUB_CFG_SSCAN;
} else /* Default to scan OFF for unknown sub */
scancfg&=~(SUB_CFG_NSCAN|SUB_CFG_SSCAN);
write(file,&scancfg,sizeof(scancfg));
}
lseek(file,((long)cfg.sub[subnum]->ptridx)*10L,SEEK_SET);
write(file,&l,4); /* date set to null */
write(file,&l,4); /* date set to null */
ch=0xff;
write(file,&l,sizeof(l)); /* date set to null */
write(file,&l,sizeof(l)); /* date set to null */
scancfg=0xff;
if(!(cfg.sub[subnum]->misc&SUB_NSDEF))
ch&=~5;
scancfg&=~SUB_CFG_NSCAN;
if(!(cfg.sub[subnum]->misc&SUB_SSDEF))
ch&=~2;
write(file,&ch,2);
close(file); }
}
scancfg&=~SUB_CFG_SSCAN;
write(file,&scancfg,sizeof(scancfg));
close(file);
}
}
globfree(&g);
uifc.pop(0);
}
......@@ -712,7 +716,7 @@ import into the current message group.
cfg.sub[j]->maxmsgs=1000;
}
if(j==cfg.total_subs) { /* adding new sub-board */
for(ptridx=0;ptridx>-1;ptridx++) {
for(ptridx=0;ptridx<USHRT_MAX;ptridx++) {
for(n=0;n<cfg.total_subs;n++)
if(cfg.sub[n]->ptridx==ptridx)
break;
......
......@@ -148,7 +148,7 @@ usually an abreviation of the sub-board's name.
bail(1);
continue; }
for(ptridx=0;ptridx>-1;ptridx++) { /* Search for unused pointer indx */
for(ptridx=0;ptridx<USHRT_MAX;ptridx++) { /* Search for unused pointer indx */
for(n=0;n<cfg.total_subs;n++)
if(cfg.sub[n]->ptridx==ptridx)
break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment