mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 16:53:09 +00:00
Fix a coverity scan warning
Coverity scan warns about uninitialized 'sf' argument when calling probe(). Actually it is a false positive because argument is passed by reference and assigned inside probe(). Nevertheless it is a hint that fucntion signature is a bit tricky, so rewrite it in a more conventional way, assigning 'sf' from probe() return value. No functional change.
This commit is contained in:
parent
f53aea45e3
commit
f7d8ea3866
2 changed files with 4 additions and 4 deletions
|
@ -113,8 +113,8 @@ class Endgames {
|
||||||
public:
|
public:
|
||||||
Endgames();
|
Endgames();
|
||||||
|
|
||||||
template<typename T> T* probe(Key key, T** eg)
|
template<typename T, typename E = EndgameBase<T>> E* probe(Key key)
|
||||||
{ return *eg = map<T>().count(key) ? map<T>()[key].get() : nullptr; }
|
{ return map<E>().count(key) ? map<E>()[key].get() : nullptr; }
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // #ifndef ENDGAME_H_INCLUDED
|
#endif // #ifndef ENDGAME_H_INCLUDED
|
||||||
|
|
|
@ -139,7 +139,7 @@ Entry* probe(const Position& pos) {
|
||||||
// Let's look if we have a specialized evaluation function for this particular
|
// Let's look if we have a specialized evaluation function for this particular
|
||||||
// material configuration. Firstly we look for a fixed configuration one, then
|
// material configuration. Firstly we look for a fixed configuration one, then
|
||||||
// for a generic one if the previous search failed.
|
// for a generic one if the previous search failed.
|
||||||
if (pos.this_thread()->endgames.probe(key, &e->evaluationFunction))
|
if ((e->evaluationFunction = pos.this_thread()->endgames.probe<Value>(key)) != nullptr)
|
||||||
return e;
|
return e;
|
||||||
|
|
||||||
if (is_KXK<WHITE>(pos))
|
if (is_KXK<WHITE>(pos))
|
||||||
|
@ -158,7 +158,7 @@ Entry* probe(const Position& pos) {
|
||||||
// configuration. Is there a suitable specialized scaling function?
|
// configuration. Is there a suitable specialized scaling function?
|
||||||
EndgameBase<ScaleFactor>* sf;
|
EndgameBase<ScaleFactor>* sf;
|
||||||
|
|
||||||
if (pos.this_thread()->endgames.probe(key, &sf))
|
if ((sf = pos.this_thread()->endgames.probe<ScaleFactor>(key)) != nullptr)
|
||||||
{
|
{
|
||||||
e->scalingFunction[sf->strong_side()] = sf; // Only strong color assigned
|
e->scalingFunction[sf->strong_side()] = sf; // Only strong color assigned
|
||||||
return e;
|
return e;
|
||||||
|
|
Loading…
Add table
Reference in a new issue