diff --git a/src/syncterm/bbslist.c b/src/syncterm/bbslist.c index 6c2a95042ff314d82ba7061cbaf2518475f9056b..70109f1fdbeeee5d967c74429aab4fcf3df7dfea 100644 --- a/src/syncterm/bbslist.c +++ b/src/syncterm/bbslist.c @@ -522,8 +522,9 @@ void free_list(struct bbslist **list, int listcount) void read_item(str_list_t listfile, struct bbslist *entry, char *bbsname, int id, int type) { - BOOL dumb; - char home[MAX_PATH+1]; + BOOL dumb; + char home[MAX_PATH+1]; + str_list_t section; get_syncterm_filename(home, sizeof(home), SYNCTERM_DEFAULT_TRANSFER_PATH, FALSE); if(bbsname != NULL) { @@ -540,34 +541,37 @@ void read_item(str_list_t listfile, struct bbslist *entry, char *bbsname, int id SAFECOPY(entry->name,bbsname); #endif } - iniGetString(listfile,bbsname,"Address","",entry->addr); - entry->conn_type=iniGetEnum(listfile,bbsname,"ConnectionType",conn_types,CONN_TYPE_RLOGIN); - entry->port=iniGetShortInt(listfile,bbsname,"Port",conn_ports[entry->conn_type]); - entry->added=iniGetDateTime(listfile,bbsname,"Added",0); - entry->connected=iniGetDateTime(listfile,bbsname,"LastConnected",0); - entry->calls=iniGetInteger(listfile,bbsname,"TotalCalls",0); - iniGetString(listfile,bbsname,"UserName","",entry->user); - iniGetString(listfile,bbsname,"Password","",entry->password); - iniGetString(listfile,bbsname,"SystemPassword","",entry->syspass); - dumb=iniGetBool(listfile,bbsname,"BeDumb",0); + section=iniGetSection(listfile,bbsname); + iniGetString(section,bbsname,"Address","",entry->addr); + entry->conn_type=iniGetEnum(section,bbsname,"ConnectionType",conn_types,CONN_TYPE_RLOGIN); + entry->port=iniGetShortInt(section,bbsname,"Port",conn_ports[entry->conn_type]); + entry->added=iniGetDateTime(section,bbsname,"Added",0); + entry->connected=iniGetDateTime(section,bbsname,"LastConnected",0); + entry->calls=iniGetInteger(section,bbsname,"TotalCalls",0); + iniGetString(section,bbsname,"UserName","",entry->user); + iniGetString(section,bbsname,"Password","",entry->password); + iniGetString(section,bbsname,"SystemPassword","",entry->syspass); + dumb=iniGetBool(section,bbsname,"BeDumb",0); if(dumb) entry->conn_type=CONN_TYPE_RAW; - entry->reversed=iniGetBool(listfile,bbsname,"Reversed",0); - entry->screen_mode=iniGetEnum(listfile,bbsname,"ScreenMode",screen_modes,SCREEN_MODE_CURRENT); - entry->nostatus=iniGetBool(listfile,bbsname,"NoStatus",0); - iniGetString(listfile,bbsname,"DownloadPath",home,entry->dldir); - iniGetString(listfile,bbsname,"UploadPath",home,entry->uldir); + entry->reversed=iniGetBool(section,bbsname,"Reversed",0); + entry->screen_mode=iniGetEnum(section,bbsname,"ScreenMode",screen_modes,SCREEN_MODE_CURRENT); + entry->nostatus=iniGetBool(section,bbsname,"NoStatus",0); + iniGetString(section,bbsname,"DownloadPath",home,entry->dldir); + iniGetString(section,bbsname,"UploadPath",home,entry->uldir); /* Log Stuff */ - iniGetString(listfile,bbsname,"LogFile","",entry->logfile); - entry->xfer_loglevel=iniGetEnum(listfile,bbsname,"TransferLogLevel",log_levels,LOG_INFO); - entry->telnet_loglevel=iniGetEnum(listfile,bbsname,"TelnetLogLevel",log_levels,LOG_INFO); + iniGetString(section,bbsname,"LogFile","",entry->logfile); + entry->xfer_loglevel=iniGetEnum(section,bbsname,"TransferLogLevel",log_levels,LOG_INFO); + entry->telnet_loglevel=iniGetEnum(section,bbsname,"TelnetLogLevel",log_levels,LOG_INFO); - entry->bpsrate=iniGetInteger(listfile,bbsname,"BPSRate",0); - entry->music=iniGetInteger(listfile,bbsname,"ANSIMusic",CTERM_MUSIC_BANSI); - iniGetString(listfile,bbsname,"Font","Codepage 437 English",entry->font); + entry->bpsrate=iniGetInteger(section,bbsname,"BPSRate",0); + entry->music=iniGetInteger(section,bbsname,"ANSIMusic",CTERM_MUSIC_BANSI); + iniGetString(section,bbsname,"Font","Codepage 437 English",entry->font); entry->type=type; entry->id=id; + + strListFree(§ion); } /*