pull/526/merge
denxxjkee 3 weeks ago committed by GitHub
commit 99ad9b17b4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -174,7 +174,7 @@ Ethernet_createSocket(const char* interfaceId, uint8_t* destAddress)
if (self) if (self)
{ {
self->rawSocket = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL)); self->rawSocket = socket(AF_PACKET, SOCK_RAW, 0);
if (self->rawSocket == -1) if (self->rawSocket == -1)
{ {

@ -826,22 +826,14 @@ void
mmsMsg_createFileReadResponse(int maxPduSize, uint32_t invokeId, mmsMsg_createFileReadResponse(int maxPduSize, uint32_t invokeId,
ByteBuffer* response, MmsFileReadStateMachine* frsm) ByteBuffer* response, MmsFileReadStateMachine* frsm)
{ {
/* determine remaining bytes in file */
uint32_t bytesLeft = frsm->fileSize - frsm->readPosition;
uint32_t fileChunkSize = 0;
uint32_t maxFileChunkSize = maxPduSize - 20; uint32_t maxFileChunkSize = maxPduSize - 20;
uint32_t fileReadResponseSize = 1; /* for tag */ uint32_t fileReadResponseSize = 1; /* for tag */
bool moreFollows = true; bool moreFollows = true;
if (bytesLeft > maxFileChunkSize) { uint32_t fileChunkSize = FileSystem_readFile(frsm->fileHandle, response->buffer + 20, maxFileChunkSize);
fileChunkSize = maxFileChunkSize; if (fileChunkSize != maxFileChunkSize) {
}
else {
fileChunkSize = bytesLeft;
moreFollows = false; moreFollows = false;
fileReadResponseSize += 3; /* for moreFollows */ fileReadResponseSize += 3; /* for moreFollows */
} }
@ -869,7 +861,7 @@ mmsMsg_createFileReadResponse(int maxPduSize, uint32_t invokeId,
bufPos = BerEncoder_encodeTL(0x49, fileReadResponseSize, buffer, bufPos); bufPos = BerEncoder_encodeTL(0x49, fileReadResponseSize, buffer, bufPos);
bufPos = BerEncoder_encodeTL(0x80, fileChunkSize, buffer, bufPos); bufPos = BerEncoder_encodeTL(0x80, fileChunkSize, buffer, bufPos);
FileSystem_readFile(frsm->fileHandle, buffer + bufPos, fileChunkSize); memmove(buffer + bufPos, buffer + 20, fileChunkSize);
bufPos += fileChunkSize; bufPos += fileChunkSize;
if (!moreFollows) if (!moreFollows)

Loading…
Cancel
Save