diff --git a/Source/Weights.hpp b/Source/Weights.hpp index 968884d..b4a5f93 100644 --- a/Source/Weights.hpp +++ b/Source/Weights.hpp @@ -224,29 +224,41 @@ public: if (!pFile) return; - fscanf(pFile, "%d %d %d\n", &numVisibleX, &numVisibleY, &numHidden); - + int result = fscanf(pFile, "%d %d %d\n", &numVisibleX, &numVisibleY, &numHidden); + if (result < 0) + { + return; + } setUnits(numVisibleX, numVisibleY, numHidden); uint32_t i, j; float v; for (i=0; i < m_numVisible; i++) { - fscanf(pFile, "%f", &v); - m_bv(i) = v; + result = fscanf(pFile, "%f", &v); + if (result > 0) + { + m_bv(i) = v; + } } for (i=0; i < m_numHidden; i++) { - fscanf(pFile, "%f", &v); - m_bh(i) = v; + result = fscanf(pFile, "%f", &v); + if (result > 0) + { + m_bh(i) = v; + } } for (i=0; i < m_numVisible; i++) { for (j=0; j < m_numHidden; j++) { - fscanf(pFile, "%f", &v); - m_w(i, j) = v; + result = fscanf(pFile, "%f", &v); + if (result > 0) + { + m_w(i, j) = v; + } } }