You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2020/08/18 15:08:00 UTC
[incubator-nuttx-apps] 01/03: netutils/webclient: Enable to send
long HTTP request
This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx-apps.git
commit 7a1d6265045051db4936ccff53e554c73272804d
Author: SPRESENSE <41...@users.noreply.github.com>
AuthorDate: Tue Jul 28 15:23:33 2020 +0900
netutils/webclient: Enable to send long HTTP request
Call send() repeatedly until whole buffer to be sent.
---
netutils/webclient/webclient.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/netutils/webclient/webclient.c b/netutils/webclient/webclient.c
index 675ce78..8773f11 100644
--- a/netutils/webclient/webclient.c
+++ b/netutils/webclient/webclient.c
@@ -658,12 +658,17 @@ static int wget_base(FAR const char *url, FAR char *buffer, int buflen,
len = dest - buffer;
- ret = send(sockfd, buffer, len, 0);
- if (ret < 0)
+ do
{
- nerr("ERROR: send failed: %d\n", errno);
- goto errout;
+ ret = send(sockfd, buffer + ((dest - buffer) - len), len, 0);
+ if (ret < 0)
+ {
+ nerr("ERROR: send failed: %d\n", errno);
+ goto errout;
+ }
+ len -= ret;
}
+ while(len > 0);
/* Now loop to get the file sent in response to the GET. This
* loop continues until either we read the end of file (nbytes == 0)