static void console_execute_file_real(const char *filename) { IOHANDLE file; file = engine_openfile(filename, IOFLAG_READ); if(file) { //VOTEOPTION *current = voteoption_first; //while(current) //{ // current = current->next; // current->prev=0; //} //int i=0; //for(i;i<MAX_CLIENTS;i++) // if (game.players[i]->authed==0) // server_kick(i, "Server settings reload"); char *line; LINEREADER lr; dbg_msg("console", "executing '%s'", filename); linereader_init(&lr, file); while((line = linereader_get(&lr))) console_execute_line(line,-1); io_close(file); } else dbg_msg("console", "failed to open '%s'", filename); }
bool LOCALIZATIONDATABASE::load(const char *filename) { // empty string means unload if(filename[0] == 0) { strings.clear(); return true; } LINEREADER lr; IOHANDLE io = io_open(filename, IOFLAG_READ); if(!io) return false; dbg_msg("localization", "loaded '%s'", filename); strings.clear(); linereader_init(&lr, io); char *line; while((line = linereader_get(&lr))) { if(!str_length(line)) continue; if(line[0] == '#') // skip comments continue; char *replacement = linereader_get(&lr); if(!replacement) { dbg_msg("", "unexpected end of file"); break; } if(replacement[0] != '=' || replacement[1] != '=' || replacement[2] != ' ') { dbg_msg("", "malform replacement line for '%s'", line); continue; } replacement += 3; localization.add_string(line, replacement); } current_version++; return true; }
int mastersrv_load() { LINEREADER lr; IOHANDLE file; int count = 0; /* try to open file */ file = engine_openfile("masters.cfg", IOFLAG_READ); if(!file) return -1; linereader_init(&lr, file); while(1) { MASTER_INFO info = {{0}}; int ip[4]; const char *line = linereader_get(&lr); if(!line) break; /* parse line */ if(sscanf(line, "%s %d.%d.%d.%d", info.hostname, &ip[0], &ip[1], &ip[2], &ip[3]) == 5) { info.addr.ip[0] = (unsigned char)ip[0]; info.addr.ip[1] = (unsigned char)ip[1]; info.addr.ip[2] = (unsigned char)ip[2]; info.addr.ip[3] = (unsigned char)ip[3]; info.addr.port = 8300; if(count != MAX_MASTERSERVERS) { master_servers[count] = info; count++; } else dbg_msg("engine/mastersrv", "warning: skipped master server '%s' due to limit of %d", line, MAX_MASTERSERVERS); } else dbg_msg("engine/mastersrv", "warning: couldn't parse master server '%s'", line); } io_close(file); return 0; }
static void console_execute_file_real(const char *filename) { IOHANDLE file; file = engine_openfile(filename, IOFLAG_READ); if(file) { char *line; LINEREADER lr; dbg_msg("console", "executing '%s'", filename); linereader_init(&lr, file); while((line = linereader_get(&lr))) console_execute_line(line); io_close(file); } else dbg_msg("console", "failed to open '%s'", filename); }