Skip to content

Fix incorrect return value, resulting in compilation error, being there for 8 years! #49

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

forGGe
Copy link

@forGGe forGGe commented Dec 29, 2018

Error in question:

ArduinoHttpClient/src/HttpClient.h: In member function 'virtual void HttpClient::flush()':
ArduinoHttpClient/src/HttpClient.h:310:50: error: return-statement with a value, in function returning 'void' [-fpermissive]

Now this one really pissed me off. It is not the error itself, but a fact that this was ignored from the first time it was uploaded to GitHub:

$ git blame -L 309,311 -- src/HttpClient.h

^6e63262 HttpClient.h (amcewen 2011-05-14 14:42:26 +0100 309)     virtual int peek() { return iClient->peek(); };
^6e63262 HttpClient.h (amcewen 2011-05-14 14:42:26 +0100 310)     virtual void flush() { return iClient->flush(); };

...AND ESP team was knowing about it and no one give a single bit of effort porting that change into mainstream. Despite hundreds of people using arduino ecosystem and this lib.

It looks even more retarded , that avr-gcc let it pass trough.

Notes for future: please add CI here with grain of static analysis tool. It is not that hard.

Error in question:

ArduinoHttpClient/src/HttpClient.h: In member function 'virtual void HttpClient::flush()':
ArduinoHttpClient/src/HttpClient.h:310:50: error: return-statement with a value, in function returning 'void' [-fpermissive]
@facchinm
Copy link

facchinm commented Jan 2, 2019

ESP team arbitrarily changed the signature of flush . This is something that should be resolved on the ESP side (or at least discussed by everyone before approaching such a breaking change)
Original API: https://github.com/arduino/ArduinoCore-API/blob/master/api/Client.h#L36
Related issue: #48

@sandeepmistry sandeepmistry merged commit 7805467 into arduino-libraries:master Jan 2, 2019
@sandeepmistry sandeepmistry mentioned this pull request Jan 2, 2019
@forGGe forGGe deleted the fix_retarded_http_client_function_returning_void branch January 2, 2019 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants