Changeset c42f50d in mainline for uspace/lib/http/src/http.c


Ignore:
Timestamp:
2013-10-05T11:53:43Z (12 years ago)
Author:
Martin Sucha <sucha14@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
cbfc8b7
Parents:
408424e (diff), 3e896e1 (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.
Message:

Merge mainline changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/http/src/http.c

    r408424e rc42f50d  
    8686                /* Interpret as a host name */
    8787                dnsr_hostinfo_t *hinfo = NULL;
    88                 rc = dnsr_name2host(http->host, &hinfo, AF_NONE);
     88                rc = dnsr_name2host(http->host, &hinfo, ip_any);
    8989               
    9090                if (rc != EOK)
     
    9595        }
    9696       
    97         struct sockaddr_in addr;
    98         struct sockaddr_in6 addr6;
    99         uint16_t af = inet_addr_sockaddr_in(&http->addr, &addr, &addr6);
     97        struct sockaddr *saddr;
     98        socklen_t saddrlen;
    10099       
    101         http->conn_sd = socket(PF_INET, SOCK_STREAM, 0);
     100        rc = inet_addr_sockaddr(&http->addr, http->port, &saddr, &saddrlen);
     101        if (rc != EOK) {
     102                assert(rc == ENOMEM);
     103                return ENOMEM;
     104        }
     105       
     106        http->conn_sd = socket(saddr->sa_family, SOCK_STREAM, 0);
    102107        if (http->conn_sd < 0)
    103108                return http->conn_sd;
    104109       
    105         switch (af) {
    106         case AF_INET:
    107                 addr.sin_port = htons(http->port);
    108                 rc = connect(http->conn_sd, (struct sockaddr *) &addr, sizeof(addr));
    109                 break;
    110         case AF_INET6:
    111                 addr6.sin6_port = htons(http->port);
    112                 rc = connect(http->conn_sd, (struct sockaddr *) &addr6, sizeof(addr6));
    113                 break;
    114         default:
    115                 return ENOTSUP;
    116         }
     110        rc = connect(http->conn_sd, saddr, saddrlen);
     111        free(saddr);
    117112       
    118113        return rc;
Note: See TracChangeset for help on using the changeset viewer.