/*
Stockfish, a UCI chess playing engine derived from Glaurung 2.1
Copyright (C) 2004-2008 Tord Romstad (Glaurung author)
- Copyright (C) 2008 Marco Costalba
+ Copyright (C) 2008-2009 Marco Costalba
Stockfish is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
////
+/// Destructor. Be sure file is closed before we leave.
+
+Book::~Book() {
+
+ close();
+}
+
+
/// Book::open() opens a book file with a given file name
void Book::open(const string& fName) {
+ // Close old file before opening the new
+ close();
+
fileName = fName;
ifstream::open(fileName.c_str(), ifstream::in | ifstream::binary);
if (!is_open())
if (!good())
{
cerr << "Failed to open book file " << fileName << endl;
- close();
- exit(EXIT_FAILURE);
+ Application::exit_with_failure();
}
}
if (!good())
{
cerr << "Failed to read book entry at index " << idx << endl;
- close();
- exit(EXIT_FAILURE);
+ Application::exit_with_failure();
}
}