Changeset 048cd69 in mainline for uspace/lib/http/src/http.c
- Timestamp:
- 2015-06-07T15:41:04Z (10 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 204ba47
- Parents:
- 4d11204 (diff), c3f7d37 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/http/src/http.c
r4d11204 r048cd69 34 34 */ 35 35 36 #include <errno.h> 36 37 #include <stdio.h> 37 38 #include <stdlib.h> … … 39 40 #include <macros.h> 40 41 41 #include <net/socket.h>42 42 #include <inet/dnsr.h> 43 #include <inet/tcp.h> 43 44 44 45 #include <http/http.h> … … 48 49 { 49 50 http_t *http = client_data; 50 return recv(http->conn_sd, buf, buf_size, 0); 51 size_t nrecv; 52 int rc; 53 54 rc = tcp_conn_recv_wait(http->conn, buf, buf_size, &nrecv); 55 if (rc != EOK) 56 return rc; 57 58 return nrecv; 51 59 } 52 60 … … 77 85 int http_connect(http_t *http) 78 86 { 79 if (http->conn ected)87 if (http->conn != NULL) 80 88 return EBUSY; 81 89 … … 95 103 } 96 104 97 struct sockaddr *saddr; 98 socklen_t saddrlen; 105 inet_ep2_t epp; 99 106 100 rc = inet_addr_sockaddr(&http->addr, http->port, &saddr, &saddrlen); 101 if (rc != EOK) { 102 assert(rc == ENOMEM); 103 return ENOMEM; 104 } 107 inet_ep2_init(&epp); 108 epp.remote.addr = http->addr; 109 epp.remote.port = http->port; 105 110 106 http->conn_sd = socket(saddr->sa_family, SOCK_STREAM, 0);107 if ( http->conn_sd < 0)108 return http->conn_sd;111 rc = tcp_create(&http->tcp); 112 if (rc != EOK) 113 return rc; 109 114 110 rc = connect(http->conn_sd, saddr, saddrlen); 111 free(saddr); 115 rc = tcp_conn_create(http->tcp, &epp, NULL, NULL, &http->conn); 116 if (rc != EOK) 117 return rc; 118 119 rc = tcp_conn_wait_connected(http->conn); 120 if (rc != EOK) 121 return rc; 112 122 113 123 return rc; … … 116 126 int http_close(http_t *http) 117 127 { 118 if ( !http->connected)128 if (http->conn == NULL) 119 129 return EINVAL; 120 130 121 return closesocket(http->conn_sd); 131 tcp_conn_destroy(http->conn); 132 tcp_destroy(http->tcp); 133 return EOK; 122 134 } 123 135
Note:
See TracChangeset
for help on using the changeset viewer.