Skip to content
Snippets Groups Projects
Commit c7ca69e9 authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Store the last read configuration filename in scfg_t.filename

Allows SCFG to more easily display the most relevant .ini file using the
UIFC timedisplay() callback.
parent 5a8e1dfd
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
......@@ -362,11 +362,15 @@ void cfg_wizard(void)
free_msgs_cfg(&cfg);
}
void display_filename(const char* fname)
void display_filename(BOOL force)
{
static char last[MAX_PATH + 1];
const char* fname = cfg.filename;
if(strlen(fname) + 30 > uifc.scrn_width)
fname = getfname(fname);
uifc.printf(29, 1, uifc.bclr|(uifc.cclr<<4), "%*s", uifc.scrn_width - 30, fname);
if(force || strcmp(last, fname) != 0)
uifc.printf(29, 1, uifc.bclr|(uifc.cclr<<4), "%*s", uifc.scrn_width - 30, fname);
SAFECOPY(last, fname);
}
int main(int argc, char **argv)
......@@ -374,7 +378,7 @@ int main(int argc, char **argv)
char **mopt,*p;
char errormsg[MAX_PATH*2];
int i,j,main_dflt=0,chat_dflt=0;
char cfg_fname[MAX_PATH+1];
char cfg_fname[MAX_PATH + 1];
BOOL door_mode=FALSE;
int ciolib_mode=CIOLIB_MODE_AUTO;
char compiler[32];
......@@ -654,7 +658,7 @@ int main(int argc, char **argv)
if((mopt[i]=(char *)malloc(64))==NULL)
allocfail(64);
uifc.timedisplay = NULL;
uifc.timedisplay = display_filename;
SAFEPRINTF2(title,"Synchronet for %s v%s",PLATFORM_DESC,VERSION);
if(uifc.scrn(title)) {
printf(" USCRN (len=%d) failed!\n",uifc.scrn_len+1);
......@@ -697,7 +701,7 @@ int main(int argc, char **argv)
i = cryptInit();
(void)i;
while(1) {
display_filename(cfg_fname);
*cfg.filename = '\0';
uifc.helpbuf=
"`Main Configuration Menu:`\n"
"\n"
......@@ -731,12 +735,12 @@ int main(int argc, char **argv)
free_main_cfg(&cfg);
break;
case 1:
if(!load_main_cfg(&cfg, error, sizeof(error))) {
if(!load_xtrn_cfg(&cfg, error, sizeof(error))) {
SAFEPRINTF(errormsg,"ERROR: %s",error);
uifc.msg(errormsg);
break;
}
if(!load_xtrn_cfg(&cfg, error, sizeof(error))) {
if(!load_main_cfg(&cfg, error, sizeof(error))) {
SAFEPRINTF(errormsg,"ERROR: %s",error);
uifc.msg(errormsg);
break;
......
......@@ -115,7 +115,6 @@ extern char* area_sort_desc[AREA_SORT_TYPES+1];
/* Function Prototypes */
/***********************/
void display_filename(const char*);
void bail(int code);
void errormsg(int line, const char* function, const char *source, const char* action, const char *object, ulong access);
void clearptrs(int subnum);
......
......@@ -62,7 +62,7 @@ bool new_qhub_sub(qhub_t* qhub, unsigned subnum, sub_t* sub, unsigned confnum)
for(unsigned u = qhub->subs; u > subnum; u--) {
qhub->sub[u]=qhub->sub[u-1];
qhub->conf[u]=qhub->conf[u-1];
qhub->mode[u]=qhub->mode[u-1];
qhub->mode[u]=qhub->mode[u-1];
}
qhub->sub[subnum] = sub;
qhub->conf[subnum] = confnum;
......@@ -82,14 +82,14 @@ faddr_t atofaddr(char *str)
addr.zone=addr.net=addr.node=addr.point=0;
if((p=strchr(str,':'))!=NULL) {
addr.zone=atoi(str);
addr.net=atoi(p+1);
addr.net=atoi(p+1);
}
else {
if(cfg.total_faddrs)
addr.zone=cfg.faddr[0].zone;
else
addr.zone=1;
addr.net=atoi(str);
addr.net=atoi(str);
}
if(!addr.zone) /* no such thing as zone 0 */
addr.zone=1;
......@@ -100,7 +100,7 @@ faddr_t atofaddr(char *str)
addr.net=cfg.faddr[0].net;
else
addr.net=1;
addr.node=atoi(str);
addr.node=atoi(str);
}
if((p=strchr(str,'.'))!=NULL)
addr.point=atoi(p+1);
......@@ -132,7 +132,7 @@ uint getsub(void)
for(j=k=0;j<cfg.total_subs && k<MAX_OPTS;j++)
if(cfg.sub[j]->grp==i) {
sprintf(opt[k],"%-25s",cfg.sub[j]->lname);
subnum[k++]=j;
subnum[k++]=j;
}
opt[k][0]=0;
sprintf(str,"Select %s Sub-board",cfg.grp[i]->sname);
......@@ -141,7 +141,7 @@ uint getsub(void)
continue;
sub_dflt++;
sub_bar++;
return(subnum[j]);
return(subnum[j]);
}
}
......@@ -388,6 +388,7 @@ void net_cfg()
int mode;
while(1) {
*cfg.filename = '\0';
i=0;
strcpy(opt[i++],"Internet E-mail");
strcpy(opt[i++],"QWK Packet Networks");
......@@ -498,7 +499,7 @@ void net_cfg()
cfg.qhub[i]->node = NODE_ANY;
cfg.qhub[i]->days=0x7f; /* all days */
uifc.changes=1;
continue;
continue;
}
if (msk == MSK_DEL) {
free(cfg.qhub[i]->mode);
......@@ -508,16 +509,16 @@ void net_cfg()
cfg.total_qhubs--;
while(i<cfg.total_qhubs) {
cfg.qhub[i]=cfg.qhub[i+1];
i++;
i++;
}
uifc.changes=1;
continue;
continue;
}
qhub_edit(i);
qhub_edit(i);
}
break;
}
}
break;
}
}
}
else if(i==2) { /* FidoNet Stuff */
......@@ -601,7 +602,7 @@ void net_cfg()
else
sprintf(str,"AKA %u",i);
sprintf(opt[i],"%-8.8s %16s"
,str,smb_faddrtoa(&cfg.faddr[i],tmp));
,str,smb_faddrtoa(&cfg.faddr[i],tmp));
}
opt[i][0]=0;
mode=WIN_RHT|WIN_SAV|WIN_ACT|WIN_INSACT;
......@@ -633,7 +634,7 @@ void net_cfg()
,sizeof(faddr_t)*cfg.total_faddrs+1);
cfg.total_faddrs=0;
bail(1);
continue;
continue;
}
for(j=cfg.total_faddrs;j>i;j--)
......@@ -642,7 +643,7 @@ void net_cfg()
cfg.faddr[i]=newfaddr;
cfg.total_faddrs++;
uifc.changes=1;
continue;
continue;
}
if (msk == MSK_COPY) {
savfaddr = cfg.faddr[i];
......@@ -654,15 +655,15 @@ void net_cfg()
cfg.total_faddrs--;
while(i<cfg.total_faddrs) {
cfg.faddr[i]=cfg.faddr[i+1];
i++;
i++;
}
uifc.changes=1;
continue;
continue;
}
smb_faddrtoa(&cfg.faddr[i],str);
if(uifc.input(WIN_MID|WIN_SAV,0,0,"Address"
,str,25,K_EDIT|K_UPPER) >= 1)
cfg.faddr[i]=atofaddr(str);
cfg.faddr[i]=atofaddr(str);
}
break;
case 1:
......@@ -726,11 +727,11 @@ void net_cfg()
,"Allow Users to Send NetMail",uifcYesNoOpts);
if(!i && !(cfg.netmail_misc&NMAIL_ALLOW)) {
uifc.changes=1;
cfg.netmail_misc|=NMAIL_ALLOW;
cfg.netmail_misc|=NMAIL_ALLOW;
}
else if(i==1 && cfg.netmail_misc&NMAIL_ALLOW) {
uifc.changes=1;
cfg.netmail_misc&=~NMAIL_ALLOW;
cfg.netmail_misc&=~NMAIL_ALLOW;
}
break;
case 6:
......@@ -745,11 +746,11 @@ void net_cfg()
,"Allow Users to Send NetMail File Attachments",uifcYesNoOpts);
if(!i && !(cfg.netmail_misc&NMAIL_FILE)) {
uifc.changes=1;
cfg.netmail_misc|=NMAIL_FILE;
cfg.netmail_misc|=NMAIL_FILE;
}
else if(i==1 && cfg.netmail_misc&NMAIL_FILE) {
uifc.changes=1;
cfg.netmail_misc&=~NMAIL_FILE;
cfg.netmail_misc&=~NMAIL_FILE;
}
break;
case 7:
......@@ -769,11 +770,11 @@ void net_cfg()
,"Use Aliases in NetMail",uifcYesNoOpts);
if(!i && !(cfg.netmail_misc&NMAIL_ALIAS)) {
uifc.changes=1;
cfg.netmail_misc|=NMAIL_ALIAS;
cfg.netmail_misc|=NMAIL_ALIAS;
}
else if(i==1 && cfg.netmail_misc&NMAIL_ALIAS) {
uifc.changes=1;
cfg.netmail_misc&=~NMAIL_ALIAS;
cfg.netmail_misc&=~NMAIL_ALIAS;
}
break;
case 8:
......@@ -788,11 +789,11 @@ void net_cfg()
,"NetMail Defaults to Crash Status",uifcYesNoOpts);
if(!i && !(cfg.netmail_misc&NMAIL_CRASH)) {
uifc.changes=1;
cfg.netmail_misc|=NMAIL_CRASH;
cfg.netmail_misc|=NMAIL_CRASH;
}
else if(i==1 && cfg.netmail_misc&NMAIL_CRASH) {
uifc.changes=1;
cfg.netmail_misc&=~NMAIL_CRASH;
cfg.netmail_misc&=~NMAIL_CRASH;
}
break;
case 9:
......@@ -807,11 +808,11 @@ void net_cfg()
,"NetMail Defaults to Direct Status",uifcYesNoOpts);
if(!i && !(cfg.netmail_misc&NMAIL_DIRECT)) {
uifc.changes=1;
cfg.netmail_misc|=NMAIL_DIRECT;
cfg.netmail_misc|=NMAIL_DIRECT;
}
else if(i==1 && cfg.netmail_misc&NMAIL_DIRECT) {
uifc.changes=1;
cfg.netmail_misc&=~NMAIL_DIRECT;
cfg.netmail_misc&=~NMAIL_DIRECT;
}
break;
case 10:
......@@ -826,11 +827,11 @@ void net_cfg()
,"NetMail Defaults to Hold Status",uifcYesNoOpts);
if(!i && !(cfg.netmail_misc&NMAIL_HOLD)) {
uifc.changes=1;
cfg.netmail_misc|=NMAIL_HOLD;
cfg.netmail_misc|=NMAIL_HOLD;
}
else if(i==1 && cfg.netmail_misc&NMAIL_HOLD) {
uifc.changes=1;
cfg.netmail_misc&=~NMAIL_HOLD;
cfg.netmail_misc&=~NMAIL_HOLD;
}
break;
case 11:
......@@ -845,11 +846,11 @@ void net_cfg()
,"Kill NetMail After it is Sent",uifcYesNoOpts);
if(!i && !(cfg.netmail_misc&NMAIL_KILL)) {
uifc.changes=1;
cfg.netmail_misc|=NMAIL_KILL;
cfg.netmail_misc|=NMAIL_KILL;
}
else if(i==1 && cfg.netmail_misc&NMAIL_KILL) {
uifc.changes=1;
cfg.netmail_misc&=~NMAIL_KILL;
cfg.netmail_misc&=~NMAIL_KILL;
}
break;
case 12:
......@@ -864,7 +865,7 @@ void net_cfg()
,"Cost in Credits to Send NetMail"
,str,10,K_EDIT|K_NUMBER);
cfg.netmail_cost=atol(str);
break;
break;
case 13:
i = (cfg.netmail_misc & NMAIL_CHSRCADDR) ? 0 : 1;
uifc.helpbuf=
......@@ -878,15 +879,15 @@ void net_cfg()
,"Allow Senders of NetMail to Choose the Source Address",uifcYesNoOpts);
if(!i && !(cfg.netmail_misc&NMAIL_CHSRCADDR)) {
uifc.changes=1;
cfg.netmail_misc|=NMAIL_CHSRCADDR;
cfg.netmail_misc|=NMAIL_CHSRCADDR;
}
else if(i==1 && cfg.netmail_misc&NMAIL_CHSRCADDR) {
uifc.changes=1;
cfg.netmail_misc&=~NMAIL_CHSRCADDR;
cfg.netmail_misc&=~NMAIL_CHSRCADDR;
}
break;
}
}
}
}
}
else if(i==0) { /* Internet E-mail */
done=0;
......@@ -968,11 +969,11 @@ void net_cfg()
,"Allow Users to Send E-mail",uifcYesNoOpts);
if(!i && !(cfg.inetmail_misc&NMAIL_ALLOW)) {
uifc.changes=1;
cfg.inetmail_misc|=NMAIL_ALLOW;
cfg.inetmail_misc|=NMAIL_ALLOW;
}
else if(i==1 && cfg.inetmail_misc&NMAIL_ALLOW) {
uifc.changes=1;
cfg.inetmail_misc&=~NMAIL_ALLOW;
cfg.inetmail_misc&=~NMAIL_ALLOW;
}
break;
case 4:
......@@ -987,11 +988,11 @@ void net_cfg()
,"Allow Users to Send E-mail with File Attachments",uifcYesNoOpts);
if(!i && !(cfg.inetmail_misc&NMAIL_FILE)) {
uifc.changes=1;
cfg.inetmail_misc|=NMAIL_FILE;
cfg.inetmail_misc|=NMAIL_FILE;
}
else if(i==1 && cfg.inetmail_misc&NMAIL_FILE) {
uifc.changes=1;
cfg.inetmail_misc&=~NMAIL_FILE;
cfg.inetmail_misc&=~NMAIL_FILE;
}
break;
case 5:
......@@ -1011,11 +1012,11 @@ void net_cfg()
,"Use Aliases in Internet E-mail",uifcYesNoOpts);
if(!i && !(cfg.inetmail_misc&NMAIL_ALIAS)) {
uifc.changes=1;
cfg.inetmail_misc|=NMAIL_ALIAS;
cfg.inetmail_misc|=NMAIL_ALIAS;
}
else if(i==1 && cfg.inetmail_misc&NMAIL_ALIAS) {
uifc.changes=1;
cfg.inetmail_misc&=~NMAIL_ALIAS;
cfg.inetmail_misc&=~NMAIL_ALIAS;
}
break;
case 6:
......@@ -1030,7 +1031,7 @@ void net_cfg()
,"Kill Internet E-mail After it is Sent",uifcYesNoOpts);
if(!i && !(cfg.inetmail_misc&NMAIL_KILL)) {
uifc.changes=1;
cfg.inetmail_misc|=NMAIL_KILL;
cfg.inetmail_misc|=NMAIL_KILL;
}
else if(i==1 && cfg.inetmail_misc&NMAIL_KILL) {
uifc.changes=1;
......@@ -1050,9 +1051,9 @@ void net_cfg()
,"Cost in Credits to Send Internet E-mail"
,str,10,K_EDIT|K_NUMBER);
cfg.inetmail_cost=atol(str);
break;
}
}
break;
}
}
}
i=save_changes(WIN_MID|WIN_SAV);
......@@ -1139,11 +1140,11 @@ void qhub_edit(int num)
sprintf(opt[i++],"%-27.27s%s","Call-out Days",daystr(cfg.qhub[num]->days));
if(cfg.qhub[num]->freq) {
sprintf(str,"%u times a day",1440/cfg.qhub[num]->freq);
sprintf(opt[i++],"%-27.27s%s","Call-out Frequency",str);
sprintf(opt[i++],"%-27.27s%s","Call-out Frequency",str);
}
else {
sprintf(str,"%2.2u:%2.2u",cfg.qhub[num]->time/60,cfg.qhub[num]->time%60);
sprintf(opt[i++],"%-27.27s%s","Call-out Time",str);
sprintf(opt[i++],"%-27.27s%s","Call-out Time",str);
}
sprintf(opt[i++],"%-27.27s%s","Include Kludge Lines", cfg.qhub[num]->misc&QHUB_NOKLUDGES ? "No":"Yes");
sprintf(opt[i++],"%-27.27s%s","Include VOTING.DAT File", cfg.qhub[num]->misc&QHUB_NOVOTING ? "No":"Yes");
......@@ -1302,7 +1303,7 @@ void qhub_edit(int num)
if(i==-1)
break;
cfg.qhub[num]->days^=(1<<i);
uifc.changes=1;
uifc.changes=1;
}
break;
case __COUNTER__:
......@@ -1332,8 +1333,8 @@ void qhub_edit(int num)
cfg.qhub[num]->freq=0;
cfg.qhub[num]->time=atoi(str)*60;
if((p=strchr(str,':'))!=NULL)
cfg.qhub[num]->time+=atoi(p+1);
}
cfg.qhub[num]->time+=atoi(p+1);
}
}
else if(i==1) {
sprintf(str,"%u",cfg.qhub[num]->freq
......@@ -1355,8 +1356,8 @@ void qhub_edit(int num)
if(i && i<=1440)
cfg.qhub[num]->freq=1440/i;
else
cfg.qhub[num]->freq=0;
}
cfg.qhub[num]->freq=0;
}
}
break;
case __COUNTER__:
......@@ -1395,8 +1396,8 @@ void qhub_edit(int num)
break;
case __COUNTER__:
qhub_sub_edit(num);
break;
}
break;
}
}
}
......@@ -1419,7 +1420,7 @@ void qhub_sub_edit(uint num)
"a `CONTROL.DAT` file extracted from a `.QWK` packet downloaded from\n"
"the QWK network hub."
;
char* qwk_ctrl_a_help =
char* qwk_ctrl_a_help =
"`Ctrl-A Codes:`\n"
"\n"
"You are being prompted for the method of handling Ctrl-A attribute codes\n"
......@@ -1501,7 +1502,7 @@ void qhub_sub_edit(uint num)
uifc.changes=1;
k++;
bar++;
continue;
continue;
}
if((j&MSK_ON)==MSK_DEL) {
j&=MSK_OFF;
......@@ -1510,10 +1511,10 @@ void qhub_sub_edit(uint num)
cfg.qhub[num]->sub[j]=cfg.qhub[num]->sub[j+1];
cfg.qhub[num]->mode[j]=cfg.qhub[num]->mode[j+1];
cfg.qhub[num]->conf[j]=cfg.qhub[num]->conf[j+1];
j++;
j++;
}
uifc.changes=1;
continue;
continue;
}
l=0;
while(1) {
......@@ -1561,8 +1562,8 @@ void qhub_sub_edit(uint num)
m=getsub();
if(m!=-1) {
cfg.qhub[num]->sub[j]=cfg.sub[m];
uifc.changes=1;
}
uifc.changes=1;
}
}
else if(l==1) {
uifc.helpbuf=qwk_conf_num_help;
......@@ -1570,7 +1571,7 @@ void qhub_sub_edit(uint num)
if(uifc.input(WIN_MID|WIN_SAV,0,0
,"Conference Number on Hub"
,str,5,K_NUMBER|K_EDIT) > 0)
cfg.qhub[num]->conf[j] = atoi(str);
cfg.qhub[num]->conf[j] = atoi(str);
}
else if(l==2) {
strcpy(opt[0],"Strip out");
......@@ -1587,9 +1588,9 @@ void qhub_sub_edit(uint num)
else if(m==1)
cfg.qhub[num]->mode[j]=QHUB_RETCTLA;
else if(m==2)
cfg.qhub[num]->mode[j]=QHUB_EXPCTLA;
}
}
cfg.qhub[num]->mode[j]=QHUB_EXPCTLA;
}
}
}
}
......@@ -1627,7 +1628,7 @@ BOOL import_qwk_conferences(uint qhubnum)
FILE *fp;
if((fp = fopen(filename, "rt"))==NULL) {
uifc.msg("File Open Failure");
return FALSE;
return FALSE;
}
uifc.pop("Importing Areas...");
long added = 0;
......@@ -1660,7 +1661,7 @@ char *daystr(char days)
for(i=0;i<7;i++) {
if(days&(1<<i)) {
SAFECAT(str,wday[i]);
SAFECAT(str," ");
SAFECAT(str," ");
}
}
return(str);
......
......@@ -32,11 +32,13 @@ static char* node_path_help =
void node_menu()
{
char str[81],savnode=0;
char cfg_filename[MAX_PATH + 1];
int i,j;
static int node_menu_dflt, node_bar;
SAFECOPY(cfg_filename, cfg.filename);
while(1) {
display_filename("");
SAFECOPY(cfg.filename, cfg_filename);
for(i=0;i<cfg.sys_nodes;i++)
sprintf(opt[i],"Node %d",i+1);
opt[i][0]=0;
......@@ -156,9 +158,6 @@ void node_menu()
cfg.node_num = i + 1; /* so fix it */
save_node_cfg(&cfg, backup_level); /* and write it back */
}
char cfg_fname[MAX_PATH + 1];
SAFEPRINTF(cfg_fname, "%snode.ini", cfg.node_dir);
display_filename(cfg_fname);
node_cfg();
free_node_cfg(&cfg);
......
......@@ -52,6 +52,7 @@ static const char* maximum(uint val)
static void global_cfg(global_startup_t* startup)
{
static int cur;
char str[256];
char tmp[256];
while(1) {
......@@ -85,6 +86,35 @@ static void global_cfg(global_startup_t* startup)
,"Global Server Setttings",opt)) {
default:
return;
case 0:
i = startup->log_level;
i = uifc.list(WIN_MID|WIN_SAV, 0, 0, 0, &i, 0, "Log Level", iniLogLevelStringList());
if(i >= 0 && startup->log_level != i) {
startup->log_level = i;
uifc.changes = true;
}
break;
case 1:
i = startup->tls_error_level;
i = uifc.list(WIN_MID|WIN_SAV, 0, 0, 0, &i, 0, "TLS Error Log Level", iniLogLevelStringList());
if(i >= 0 && startup->tls_error_level != i) {
startup->tls_error_level = i;
uifc.changes = true;
}
break;
case 2:
strListCombine(startup->interfaces, str, sizeof(str), ", ");
if(uifc.input(WIN_MID|WIN_SAV, 0, 0, "", str, sizeof(str)-1, K_NONE|K_EDIT) >= 0) {
strListFree(&startup->interfaces);
strListSplitCopy(&startup->interfaces, str, ", ");
uifc.changes = true;
}
break;
case 3:
IPv4AddressToStr(startup->outgoing4.s_addr, str, sizeof(str));
if(uifc.input(WIN_MID|WIN_SAV, 0, 0, "Outbound Network Interface", str, sizeof(str)-1, K_NONE|K_EDIT) > 0)
startup->outgoing4.s_addr = parseIPv4Address(str);
break;
}
}
}
......@@ -380,17 +410,15 @@ void server_cfg(void)
mail_startup_t mail_startup = {0};
services_startup_t services_startup = {0};
char ini_fname[MAX_PATH + 1];
sbbs_get_ini_fname(ini_fname, cfg.ctrl_dir);
FILE* fp = fopen(ini_fname, "r");
sbbs_get_ini_fname(cfg.filename, cfg.ctrl_dir);
FILE* fp = fopen(cfg.filename, "r");
if(fp == NULL) {
uifc.msgf("Error opening %s", ini_fname);
uifc.msgf("Error opening %s", cfg.filename);
return;
}
display_filename(ini_fname);
sbbs_read_ini(
fp
,ini_fname
,cfg.filename
,&global_startup
,&run_bbs
,&bbs_startup
......
......@@ -286,7 +286,7 @@ enum xedit_soft_cr { // What to do with so-called "Soft CRs"
XEDIT_SOFT_CR_EXPAND,
XEDIT_SOFT_CR_STRIP,
XEDIT_SOFT_CR_RETAIN
};
};
typedef struct { /* External Editors */
char code[LEN_CODE+1],
......@@ -392,10 +392,11 @@ struct mqtt_cfg {
} tls;
};
typedef struct
typedef struct
{
DWORD size; /* sizeof(scfg_t) */
BOOL prepped; /* TRUE if prep_cfg() has been used */
char filename[MAX_PATH + 1]; // last-loaded cfg file path/name
grp_t **grp; /* Each message group */
uint16_t total_grps; /* Total number of groups */
......
......@@ -39,16 +39,15 @@ BOOL allocerr(char* error, size_t maxerrlen, const char* fname, const char *item
/****************************************************************************/
BOOL read_node_cfg(scfg_t* cfg, char* error, size_t maxerrlen)
{
char path[MAX_PATH+1];
char errstr[256];
FILE* fp;
str_list_t ini;
char value[INI_MAX_VALUE_LEN];
const char* fname = "node.ini";
SAFEPRINTF2(path,"%s%s",cfg->node_dir,fname);
if((fp = fnopen(NULL, path, O_RDONLY)) == NULL) {
safe_snprintf(error, maxerrlen, "%d (%s) opening %s",errno,safe_strerror(errno, errstr, sizeof(errstr)),path);
SAFEPRINTF2(cfg->filename,"%s%s",cfg->node_dir,fname);
if((fp = fnopen(NULL, cfg->filename, O_RDONLY)) == NULL) {
safe_snprintf(error, maxerrlen, "%d (%s) opening %s",errno,safe_strerror(errno, errstr, sizeof(errstr)),cfg->filename);
return FALSE;
}
ini = iniReadFile(fp);
......@@ -76,7 +75,6 @@ BOOL read_node_cfg(scfg_t* cfg, char* error, size_t maxerrlen)
BOOL read_main_cfg(scfg_t* cfg, char* error, size_t maxerrlen)
{
BOOL result = FALSE;
char path[MAX_PATH+1];
char errstr[256];
FILE* fp;
str_list_t ini = NULL;
......@@ -84,9 +82,9 @@ BOOL read_main_cfg(scfg_t* cfg, char* error, size_t maxerrlen)
str_list_t section;
const char* fname = "main.ini";
SAFEPRINTF2(path,"%s%s",cfg->ctrl_dir,fname);
if((fp = fnopen(NULL, path, O_RDONLY)) == NULL) {
safe_snprintf(error, maxerrlen, "%d (%s) opening %s",errno,safe_strerror(errno, errstr, sizeof(errstr)),path);
SAFEPRINTF2(cfg->filename,"%s%s",cfg->ctrl_dir,fname);
if((fp = fnopen(NULL, cfg->filename, O_RDONLY)) == NULL) {
safe_snprintf(error, maxerrlen, "%d (%s) opening %s",errno,safe_strerror(errno, errstr, sizeof(errstr)),cfg->filename);
} else {
ini = iniReadFile(fp);
fclose(fp);
......@@ -332,16 +330,15 @@ BOOL read_main_cfg(scfg_t* cfg, char* error, size_t maxerrlen)
/****************************************************************************/
BOOL read_msgs_cfg(scfg_t* cfg, char* error, size_t maxerrlen)
{
char path[MAX_PATH+1];
char errstr[256];
FILE* fp;
str_list_t ini;
char value[INI_MAX_VALUE_LEN];
const char* fname = "msgs.ini";
SAFEPRINTF2(path,"%s%s",cfg->ctrl_dir,fname);
if((fp = fnopen(NULL, path, O_RDONLY)) == NULL) {
safe_snprintf(error, maxerrlen, "%d (%s) opening %s",errno,safe_strerror(errno, errstr, sizeof(errstr)),path);
SAFEPRINTF2(cfg->filename,"%s%s",cfg->ctrl_dir,fname);
if((fp = fnopen(NULL, cfg->filename, O_RDONLY)) == NULL) {
safe_snprintf(error, maxerrlen, "%d (%s) opening %s",errno,safe_strerror(errno, errstr, sizeof(errstr)),cfg->filename);
return FALSE;
}
ini = iniReadFile(fp);
......@@ -678,7 +675,7 @@ void make_data_dirs(scfg_t* cfg)
for(int i = 0; i < cfg->total_dirs; i++) {
md(cfg->dir[i]->data_dir);
if(cfg->dir[i]->misc & DIR_FCHK)
if(cfg->dir[i]->misc & DIR_FCHK)
md(cfg->dir[i]->path);
}
}
......
......@@ -46,16 +46,15 @@ static void read_dir_defaults_cfg(scfg_t* cfg, str_list_t ini, dir_t* dir)
/****************************************************************************/
BOOL read_file_cfg(scfg_t* cfg, char* error, size_t maxerrlen)
{
char path[MAX_PATH+1];
char errstr[256];
FILE* fp;
str_list_t ini;
char value[INI_MAX_VALUE_LEN];
const char* fname = "file.ini";
SAFEPRINTF2(path,"%s%s",cfg->ctrl_dir,fname);
if((fp = fnopen(NULL, path, O_RDONLY)) == NULL) {
safe_snprintf(error, maxerrlen, "%d (%s) opening %s",errno,safe_strerror(errno, errstr, sizeof(errstr)),path);
SAFEPRINTF2(cfg->filename,"%s%s",cfg->ctrl_dir,fname);
if((fp = fnopen(NULL, cfg->filename, O_RDONLY)) == NULL) {
safe_snprintf(error, maxerrlen, "%d (%s) opening %s",errno,safe_strerror(errno, errstr, sizeof(errstr)),cfg->filename);
return FALSE;
}
ini = iniReadFile(fp);
......@@ -364,16 +363,15 @@ BOOL read_file_cfg(scfg_t* cfg, char* error, size_t maxerrlen)
/****************************************************************************/
BOOL read_xtrn_cfg(scfg_t* cfg, char* error, size_t maxerrlen)
{
char path[MAX_PATH+1];
char errstr[256];
FILE* fp;
str_list_t ini;
char value[INI_MAX_VALUE_LEN];
const char* fname = "xtrn.ini";
SAFEPRINTF2(path,"%s%s",cfg->ctrl_dir,fname);
if((fp = fnopen(NULL, path, O_RDONLY)) == NULL) {
safe_snprintf(error, maxerrlen, "%d (%s) opening %s",errno,safe_strerror(errno, errstr, sizeof(errstr)),path);
SAFEPRINTF2(cfg->filename,"%s%s",cfg->ctrl_dir,fname);
if((fp = fnopen(NULL, cfg->filename, O_RDONLY)) == NULL) {
safe_snprintf(error, maxerrlen, "%d (%s) opening %s",errno,safe_strerror(errno, errstr, sizeof(errstr)),cfg->filename);
return FALSE;
}
ini = iniReadFile(fp);
......@@ -576,16 +574,15 @@ BOOL read_xtrn_cfg(scfg_t* cfg, char* error, size_t maxerrlen)
/****************************************************************************/
BOOL read_chat_cfg(scfg_t* cfg, char* error, size_t maxerrlen)
{
char path[MAX_PATH+1];
char errstr[256];
FILE* fp;
str_list_t ini;
char value[INI_MAX_VALUE_LEN];
const char* fname = "chat.ini";
SAFEPRINTF2(path,"%s%s",cfg->ctrl_dir,fname);
if((fp = fnopen(NULL, path, O_RDONLY)) == NULL) {
safe_snprintf(error, maxerrlen, "%d (%s) opening %s",errno,safe_strerror(errno, errstr, sizeof(errstr)),path);
SAFEPRINTF2(cfg->filename,"%s%s",cfg->ctrl_dir,fname);
if((fp = fnopen(NULL, cfg->filename, O_RDONLY)) == NULL) {
safe_snprintf(error, maxerrlen, "%d (%s) opening %s",errno,safe_strerror(errno, errstr, sizeof(errstr)),cfg->filename);
return FALSE;
}
ini = iniReadFile(fp);
......@@ -746,7 +743,7 @@ uint32_t aftou32(const char *str)
ch=toupper(str[c]);
if(ch>='A' && ch<='Z')
l|=FLAG(ch);
c++;
c++;
}
return(l);
}
......@@ -762,7 +759,7 @@ char *u32toaf(uint32_t l,char *str)
if(l & (1 << c))
str[c]='A'+c;
else str[c]=' ';
c++;
c++;
}
str[c]=0;
return(str);
......@@ -832,12 +829,12 @@ uint attrstr(char *str)
break;
case '6': /* Cyan Background */
atr=(uchar)((atr&0x8f)|BG_CYAN);
break;
break;
case '7': /* White Background */
atr=(uchar)((atr&0x8f)|BG_LIGHTGRAY);
break;
}
l++;
l++;
}
return(atr);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment