// Written by Alexander Kappes, started March 2002.
// Based on navlist.cxx by Curtis Olson, started April 2000.
//
-// Copyright (C) 2000 Curtis L. Olson - curt@flightgear.org
+// Copyright (C) 2000 Curtis L. Olson - http://www.flightgear.org/~curt
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//
// $Id$
// load default.transmissions
-bool FGTransmissionList::init( SGPath path ) {
+bool FGTransmissionList::init( const SGPath& path ) {
FGTransmission a;
transmissionlist_station.erase( transmissionlist_station.begin(), transmissionlist_station.end() );
while ( ! in.eof() ) {
in >> a;
- transmissionlist_station[a.get_station()].push_back(a);
-
+ transmissionlist_station[a.get_station()].push_back(a);
+
in >> skipcomment;
- if ( a.get_station() < min ) {
- min = a.get_station();
- }
- if ( a.get_station() > max ) {
- max = a.get_station();
- }
- cout << a.get_station() << " " << a.get_code().c1 << " " << a.get_code().c2 << " "
- << a.get_code().c3 << " " << a.get_transtext()
- << " " << a.get_menutext() << endl;
+ if ( a.get_station() < min ) {
+ min = a.get_station();
+ }
+ if ( a.get_station() > max ) {
+ max = a.get_station();
+ }
+
+ /*
+ cout << a.get_station() << " " << a.get_code().c1 << " " << a.get_code().c2 << " "
+ << a.get_code().c3 << " " << a.get_transtext()
+ << " " << a.get_menutext() << endl;
+ */
}
-
+
#endif
// init ATC menu
// query the database for the specified station type;
// for station see FlightGear/ATC/default.transmissions
-bool FGTransmissionList::query_station( const int &station, FGTransmission *t,
+bool FGTransmissionList::query_station( const atc_type &station, FGTransmission *t,
int max_trans, int &num_trans )
{
transmission_list_type tmissions = transmissionlist_station[station];
}
}
-string FGTransmissionList::gen_text(const int &station, const TransCode code,
+string FGTransmissionList::gen_text(const atc_type &station, const TransCode code,
const TransPar &tpars, const bool ttext )
{
const int cmax = 300;
for ( ; current != last ; ++current ) {
if ( current->get_code().c1 == code.c1 &&
current->get_code().c2 == code.c2 &&
- current->get_code().c3 == code.c3 ) {
+ current->get_code().c3 == code.c3 ) {
if ( ttext ) message = current->get_transtext();
else message = current->get_menutext();
strcpy( &mes[0], message.c_str() );
+ // Replace all the '@' parameters with the actual text.
int check = 0; // If mes gets overflowed the while loop can go infinite
- while ( strchr(&mes[0], crej) != NULL ) {
+ while ( strchr(&mes[0], crej) != NULL ) { // ie. loop until no more occurances of crej ('@') found
pos = strchr( &mes[0], crej );
- bcopy(pos, &tag[0], 3);
+ memmove(&tag[0], pos, 3);
tag[3] = '\0';
int i;
len = 0;