diff --git a/YSFGateway/WiresX.cpp b/YSFGateway/WiresX.cpp index 179f0aa..aa92096 100644 --- a/YSFGateway/WiresX.cpp +++ b/YSFGateway/WiresX.cpp @@ -920,7 +920,7 @@ void CWiresX::sendSearchReply() unsigned int n = search.size() - m_start; if (n > 20U) n = 20U; - ::sprintf((char*)(data + 23U), "%02u%03u", n, total); + ::sprintf((char*)(data + 23U), "%02u%03u", 20U, total); data[28U] = 0x0DU; @@ -952,8 +952,16 @@ void CWiresX::sendSearchReply() unsigned int k = 1029U - offset; for(unsigned int i = 0U; i < k; i++) - data[i + offset] = 0x20U; - + { + if (i % 50U == 49 && i>0) + { + data[i + offset] = 0x0DU; + } + else + { + data[i + offset] = 0x20U; + } + } offset += k; data[offset + 0U] = 0x03U; // End of data marker