| 127 | } |
| 128 | |
| 129 | bool RouterInfo::LoadFile (const std::string& fullPath) |
| 130 | { |
| 131 | std::ifstream s(fullPath, std::ifstream::binary); |
| 132 | if (s.is_open ()) |
| 133 | { |
| 134 | s.seekg (0,std::ios::end); |
| 135 | size_t bufferLen = s.tellg (); |
| 136 | if (bufferLen < 40 || bufferLen > MAX_RI_BUFFER_SIZE) |
| 137 | { |
| 138 | LogPrint(eLogError, "RouterInfo: File ", fullPath, " is malformed"); |
| 139 | return false; |
| 140 | } |
| 141 | s.seekg(0, std::ios::beg); |
| 142 | if (!m_Buffer) |
| 143 | m_Buffer = NewBuffer (); |
| 144 | s.read((char *)m_Buffer->data (), bufferLen); |
| 145 | m_Buffer->SetBufferLen (bufferLen); |
| 146 | } |
| 147 | else |
| 148 | { |
| 149 | LogPrint (eLogError, "RouterInfo: Can't open file ", fullPath); |
| 150 | return false; |
| 151 | } |
| 152 | return true; |
| 153 | } |
| 154 | |
| 155 | void RouterInfo::ReadFromFile (const std::string& fullPath) |
| 156 | { |
nothing calls this directly
no test coverage detected