arduino-libraries / Ethernet

Ethernet Library for Arduino
http://arduino.cc/
252 stars 253 forks source link

Fix erroneous return value of EthernetClient::write() #187

Open margaretselzer opened 2 years ago

margaretselzer commented 2 years ago

Fix the issue that the method always returned the incoming size parameter regardless of how many bytes were actually sent by EthernetClass::socketSend(). The return value was always wrong if the data size was bigger than the socket buffer size.

CLAassistant commented 2 years ago

CLA assistant check
All committers have signed the CLA.

github-actions[bot] commented 2 years ago

Memory usage change @ 50d62a229dc82b3fa91c896880e1099710eb151b

Board flash % RAM for global variables %
arduino:avr:leonardo :green_heart: -14 - 0 -0.05 - 0.0 0 - 0 0.0 - 0.0
arduino:avr:mega :green_heart: -14 - 0 -0.01 - 0.0 0 - 0 0.0 - 0.0
arduino:avr:nano :green_heart: -14 - 0 -0.05 - 0.0 0 - 0 0.0 - 0.0
arduino:megaavr:nona4809 :grey_question: -14 - +8 -0.03 - +0.02 0 - 0 0.0 - 0.0
arduino:megaavr:uno2018 :grey_question: -14 - +8 -0.03 - +0.02 0 - 0 0.0 - 0.0
arduino:sam:arduino_due_x_dbg :green_heart: -8 - 0 -0.0 - 0.0 N/A N/A
arduino:samd:arduino_zero_edbg :green_heart: -4 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkr1000 :green_heart: -4 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrfox1200 :green_heart: -4 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrgsm1400 :green_heart: -4 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrnb1500 :green_heart: -4 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrvidor4000 :green_heart: -4 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwan1300 :green_heart: -4 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwan1310 :green_heart: -4 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 :green_heart: -4 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrzero :green_heart: -4 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:nano_33_iot :green_heart: -4 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
Click for full report table Board|examples/AdvancedChatServer
flash|%|examples/AdvancedChatServer
RAM for global variables|%|examples/BarometricPressureWebServer
flash|%|examples/BarometricPressureWebServer
RAM for global variables|%|examples/ChatServer
flash|%|examples/ChatServer
RAM for global variables|%|examples/DhcpAddressPrinter
flash|%|examples/DhcpAddressPrinter
RAM for global variables|%|examples/DhcpChatServer
flash|%|examples/DhcpChatServer
RAM for global variables|%|examples/LinkStatus
flash|%|examples/LinkStatus
RAM for global variables|%|examples/PagerServer
flash|%|examples/PagerServer
RAM for global variables|%|examples/TelnetClient
flash|%|examples/TelnetClient
RAM for global variables|%|examples/UDPSendReceiveString
flash|%|examples/UDPSendReceiveString
RAM for global variables|%|examples/UdpNtpClient
flash|%|examples/UdpNtpClient
RAM for global variables|%|examples/WebClient
flash|%|examples/WebClient
RAM for global variables|%|examples/WebClientRepeating
flash|%|examples/WebClientRepeating
RAM for global variables|%|examples/WebServer
flash|%|examples/WebServer
RAM for global variables|% -|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|- arduino:avr:leonardo|-14|-0.05|0|0.0|-14|-0.05|0|0.0|-14|-0.05|0|0.0|0|0.0|0|0.0|-14|-0.05|0|0.0|0|0.0|0|0.0|-14|-0.05|0|0.0|-10|-0.03|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-10|-0.03|0|0.0|-10|-0.03|0|0.0|-14|-0.05|0|0.0 arduino:avr:mega|-14|-0.01|0|0.0|-14|-0.01|0|0.0|-14|-0.01|0|0.0|0|0.0|0|0.0|-14|-0.01|0|0.0|0|0.0|0|0.0|-14|-0.01|0|0.0|-10|-0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-10|-0.0|0|0.0|-10|-0.0|0|0.0|-14|-0.01|0|0.0 arduino:avr:nano|-14|-0.05|0|0.0|-14|-0.05|0|0.0|-14|-0.05|0|0.0|0|0.0|0|0.0|-14|-0.05|0|0.0|0|0.0|0|0.0|-14|-0.05|0|0.0|-10|-0.03|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-10|-0.03|0|0.0|-10|-0.03|0|0.0|-14|-0.05|0|0.0 arduino:megaavr:nona4809|-14|-0.03|0|0.0|-14|-0.03|0|0.0|-14|-0.03|0|0.0|0|0.0|0|0.0|-14|-0.03|0|0.0|0|0.0|0|0.0|-14|-0.03|0|0.0|8|0.02|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|8|0.02|0|0.0|8|0.02|0|0.0|-14|-0.03|0|0.0 arduino:megaavr:uno2018|-14|-0.03|0|0.0|-14|-0.03|0|0.0|-14|-0.03|0|0.0|0|0.0|0|0.0|-14|-0.03|0|0.0|0|0.0|0|0.0|-14|-0.03|0|0.0|8|0.02|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|8|0.02|0|0.0|8|0.02|0|0.0|-14|-0.03|0|0.0 arduino:sam:arduino_due_x_dbg|-8|-0.0|N/A|N/A|-8|-0.0|N/A|N/A|-8|-0.0|N/A|N/A|0|0.0|N/A|N/A|-8|-0.0|N/A|N/A|0|0.0|N/A|N/A|-8|-0.0|N/A|N/A|-8|-0.0|N/A|N/A|0|0.0|N/A|N/A|0|0.0|N/A|N/A|-8|-0.0|N/A|N/A|-8|-0.0|N/A|N/A|-8|-0.0|N/A|N/A arduino:samd:arduino_zero_edbg|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0 arduino:samd:mkr1000|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0 arduino:samd:mkrfox1200|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0 arduino:samd:mkrgsm1400|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0 arduino:samd:mkrnb1500|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0 arduino:samd:mkrvidor4000|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0 arduino:samd:mkrwan1300|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0 arduino:samd:mkrwan1310|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0 arduino:samd:mkrwifi1010|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0 arduino:samd:mkrzero|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0 arduino:samd:nano_33_iot|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0|-4|-0.0|0|0.0
Click for full report CSV ``` Board,examples/AdvancedChatServer
flash,%,examples/AdvancedChatServer
RAM for global variables,%,examples/BarometricPressureWebServer
flash,%,examples/BarometricPressureWebServer
RAM for global variables,%,examples/ChatServer
flash,%,examples/ChatServer
RAM for global variables,%,examples/DhcpAddressPrinter
flash,%,examples/DhcpAddressPrinter
RAM for global variables,%,examples/DhcpChatServer
flash,%,examples/DhcpChatServer
RAM for global variables,%,examples/LinkStatus
flash,%,examples/LinkStatus
RAM for global variables,%,examples/PagerServer
flash,%,examples/PagerServer
RAM for global variables,%,examples/TelnetClient
flash,%,examples/TelnetClient
RAM for global variables,%,examples/UDPSendReceiveString
flash,%,examples/UDPSendReceiveString
RAM for global variables,%,examples/UdpNtpClient
flash,%,examples/UdpNtpClient
RAM for global variables,%,examples/WebClient
flash,%,examples/WebClient
RAM for global variables,%,examples/WebClientRepeating
flash,%,examples/WebClientRepeating
RAM for global variables,%,examples/WebServer
flash,%,examples/WebServer
RAM for global variables,% arduino:avr:leonardo,-14,-0.05,0,0.0,-14,-0.05,0,0.0,-14,-0.05,0,0.0,0,0.0,0,0.0,-14,-0.05,0,0.0,0,0.0,0,0.0,-14,-0.05,0,0.0,-10,-0.03,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-10,-0.03,0,0.0,-10,-0.03,0,0.0,-14,-0.05,0,0.0 arduino:avr:mega,-14,-0.01,0,0.0,-14,-0.01,0,0.0,-14,-0.01,0,0.0,0,0.0,0,0.0,-14,-0.01,0,0.0,0,0.0,0,0.0,-14,-0.01,0,0.0,-10,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-10,-0.0,0,0.0,-10,-0.0,0,0.0,-14,-0.01,0,0.0 arduino:avr:nano,-14,-0.05,0,0.0,-14,-0.05,0,0.0,-14,-0.05,0,0.0,0,0.0,0,0.0,-14,-0.05,0,0.0,0,0.0,0,0.0,-14,-0.05,0,0.0,-10,-0.03,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-10,-0.03,0,0.0,-10,-0.03,0,0.0,-14,-0.05,0,0.0 arduino:megaavr:nona4809,-14,-0.03,0,0.0,-14,-0.03,0,0.0,-14,-0.03,0,0.0,0,0.0,0,0.0,-14,-0.03,0,0.0,0,0.0,0,0.0,-14,-0.03,0,0.0,8,0.02,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,8,0.02,0,0.0,8,0.02,0,0.0,-14,-0.03,0,0.0 arduino:megaavr:uno2018,-14,-0.03,0,0.0,-14,-0.03,0,0.0,-14,-0.03,0,0.0,0,0.0,0,0.0,-14,-0.03,0,0.0,0,0.0,0,0.0,-14,-0.03,0,0.0,8,0.02,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,8,0.02,0,0.0,8,0.02,0,0.0,-14,-0.03,0,0.0 arduino:sam:arduino_due_x_dbg,-8,-0.0,N/A,N/A,-8,-0.0,N/A,N/A,-8,-0.0,N/A,N/A,0,0.0,N/A,N/A,-8,-0.0,N/A,N/A,0,0.0,N/A,N/A,-8,-0.0,N/A,N/A,-8,-0.0,N/A,N/A,0,0.0,N/A,N/A,0,0.0,N/A,N/A,-8,-0.0,N/A,N/A,-8,-0.0,N/A,N/A,-8,-0.0,N/A,N/A arduino:samd:arduino_zero_edbg,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0 arduino:samd:mkr1000,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0 arduino:samd:mkrfox1200,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0 arduino:samd:mkrgsm1400,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0 arduino:samd:mkrnb1500,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0 arduino:samd:mkrvidor4000,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0 arduino:samd:mkrwan1300,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0 arduino:samd:mkrwan1310,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0 arduino:samd:mkrwifi1010,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0 arduino:samd:mkrzero,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0 arduino:samd:nano_33_iot,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0,-4,-0.0,0,0.0 ```