Fixed incompatabilities between GCC and MSCV
Build errors have been fixed, but there are build warnings remaining about unsafe conversions, because Visual C++'s network conversion functions have a differing return type to mine. To be fixed in the future.
This commit is contained in:
parent
ae61464aee
commit
5778310798
@ -41,7 +41,7 @@ namespace fr
|
||||
*
|
||||
* @param header_end_pos The position in 'body' of the end of the header
|
||||
*/
|
||||
void parse_header(ssize_t header_end_pos);
|
||||
void parse_header(int32_t header_end_pos);
|
||||
|
||||
/*!
|
||||
* Parses the POST data from the body
|
||||
@ -64,7 +64,7 @@ namespace fr
|
||||
|
||||
//State
|
||||
bool header_ended;
|
||||
ssize_t last_parsed_character;
|
||||
int32_t last_parsed_character;
|
||||
size_t content_length;
|
||||
|
||||
};
|
||||
|
||||
@ -41,7 +41,7 @@ namespace fr
|
||||
*
|
||||
* @param header_end_pos The position in 'body' of the end of the header
|
||||
*/
|
||||
void parse_header(ssize_t header_end_pos);
|
||||
void parse_header(int32_t header_end_pos);
|
||||
|
||||
//State
|
||||
bool header_ended;
|
||||
|
||||
@ -28,44 +28,49 @@
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef __GNUC__
|
||||
|
||||
#define htonll(x) ((1==htonl(1)) ? (x) : ((uint64_t)htonl((x) & 0xFFFFFFFF) << 32) | htonl((x) >> 32))
|
||||
#define ntohll(x) ((1==ntohl(1)) ? (x) : ((uint64_t)ntohl((x) & 0xFFFFFFFF) << 32) | ntohl((x) >> 32))
|
||||
|
||||
inline float htonf(float val)
|
||||
{
|
||||
uint32_t ret;
|
||||
memcpy(&ret, &val, sizeof(ret));
|
||||
ret = htonl(ret);
|
||||
memcpy(&val, &ret, sizeof(val));
|
||||
return val;
|
||||
uint32_t ret;
|
||||
memcpy(&ret, &val, sizeof(ret));
|
||||
ret = htonl(ret);
|
||||
memcpy(&val, &ret, sizeof(val));
|
||||
return val;
|
||||
}
|
||||
|
||||
inline float ntohf(float val)
|
||||
{
|
||||
uint32_t ret;
|
||||
memcpy(&ret, &val, sizeof(ret));
|
||||
ret = ntohl(ret);
|
||||
memcpy(&val, &ret, sizeof(val));
|
||||
return val;
|
||||
uint32_t ret;
|
||||
memcpy(&ret, &val, sizeof(ret));
|
||||
ret = ntohl(ret);
|
||||
memcpy(&val, &ret, sizeof(val));
|
||||
return val;
|
||||
}
|
||||
|
||||
inline double htond(double val)
|
||||
{
|
||||
uint64_t ret;
|
||||
memcpy(&ret, &val, sizeof(ret));
|
||||
ret = htonll(ret);
|
||||
memcpy(&val, &ret, sizeof(val));
|
||||
return val;
|
||||
uint64_t ret;
|
||||
memcpy(&ret, &val, sizeof(ret));
|
||||
ret = htonll(ret);
|
||||
memcpy(&val, &ret, sizeof(val));
|
||||
return val;
|
||||
}
|
||||
|
||||
inline double ntohd(double val)
|
||||
{
|
||||
uint64_t ret;
|
||||
memcpy(&ret, &val, sizeof(ret));
|
||||
ret = ntohll(ret);
|
||||
memcpy(&val, &ret, sizeof(val));
|
||||
return val;
|
||||
uint64_t ret;
|
||||
memcpy(&ret, &val, sizeof(ret));
|
||||
ret = ntohll(ret);
|
||||
memcpy(&val, &ret, sizeof(val));
|
||||
return val;
|
||||
}
|
||||
#endif
|
||||
|
||||
inline void *get_sin_addr(struct sockaddr *sa)
|
||||
{
|
||||
if(sa->sa_family == AF_INET)
|
||||
|
||||
@ -53,6 +53,7 @@ namespace fr
|
||||
*/
|
||||
bool load_ca_certs_from_memory(const std::string &ca_certs)
|
||||
{
|
||||
std::cerr << "Note: load_ca_certs_from_memory() seems to be broken. Please use load_ca_certs_from_file() until this is resolved." << std::endl;
|
||||
int error = mbedtls_x509_crt_parse(&cacert, (const unsigned char *)ca_certs.c_str(), ca_certs.size());
|
||||
if(error < 0)
|
||||
{
|
||||
|
||||
@ -52,7 +52,7 @@ namespace fr
|
||||
return true;
|
||||
}
|
||||
|
||||
void HttpRequest::parse_header(ssize_t header_end_pos)
|
||||
void HttpRequest::parse_header(int32_t header_end_pos)
|
||||
{
|
||||
//Split the header into lines
|
||||
size_t line = 0;
|
||||
@ -74,7 +74,7 @@ namespace fr
|
||||
//Store content length value if it exists
|
||||
auto length_header_iter = header_data.find("content-length");
|
||||
if(length_header_iter != header_data.end())
|
||||
content_length = std::stoull(length_header_iter->second);
|
||||
content_length = (size_t)std::stoull(length_header_iter->second);
|
||||
}
|
||||
|
||||
std::string HttpRequest::construct(const std::string &host) const
|
||||
|
||||
@ -62,7 +62,7 @@ namespace fr
|
||||
return response;
|
||||
}
|
||||
|
||||
void HttpResponse::parse_header(ssize_t header_end_pos)
|
||||
void HttpResponse::parse_header(int32_t header_end_pos)
|
||||
{
|
||||
//Split the header into lines
|
||||
size_t line = 0;
|
||||
|
||||
@ -83,7 +83,7 @@ namespace fr
|
||||
if(!connected())
|
||||
return Socket::Disconnected;
|
||||
|
||||
ssize_t bytes_remaining = buffer_size;
|
||||
int32_t bytes_remaining = buffer_size;
|
||||
size_t bytes_read = 0;
|
||||
while(bytes_remaining > 0)
|
||||
{
|
||||
|
||||
@ -25,7 +25,7 @@ namespace fr
|
||||
size_t sent = 0;
|
||||
while(sent < size)
|
||||
{
|
||||
ssize_t status = ::send(socket_descriptor, data + sent, size - sent, 0);
|
||||
int32_t status = ::send(socket_descriptor, data + sent, size - sent, 0);
|
||||
if(status > 0)
|
||||
{
|
||||
sent += status;
|
||||
@ -53,7 +53,7 @@ namespace fr
|
||||
received = 0;
|
||||
|
||||
//Read RECV_CHUNK_SIZE bytes into the recv buffer
|
||||
ssize_t status = ::recv(socket_descriptor, (char*)data, buffer_size, 0);
|
||||
int32_t status = ::recv(socket_descriptor, (char*)data, buffer_size, 0);
|
||||
|
||||
if(status > 0)
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user