Skip to content

Commit

Permalink
http_negotiate_sspi.c: fix compiler warning
Browse files Browse the repository at this point in the history
  • Loading branch information
yangtse committed Jan 13, 2012
1 parent d016f5f commit 8e82ef9
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 4 deletions.
5 changes: 3 additions & 2 deletions lib/http_negotiate_sspi.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
#include "urldata.h"
#include "sendf.h"
#include "rawstr.h"
#include "warnless.h"
#include "curl_base64.h"
#include "http_negotiate.h"
#include "curl_memory.h"
Expand Down Expand Up @@ -189,7 +190,7 @@ int Curl_input_negotiate(struct connectdata *conn, bool proxy,
out_buff_desc.cBuffers = 1;
out_buff_desc.pBuffers = &out_sec_buff;

out_sec_buff.cbBuffer = neg_ctx->max_token_length;
out_sec_buff.cbBuffer = curlx_uztoul(neg_ctx->max_token_length);
out_sec_buff.BufferType = SECBUFFER_TOKEN;
out_sec_buff.pvBuffer = neg_ctx->output_token;

Expand All @@ -199,7 +200,7 @@ int Curl_input_negotiate(struct connectdata *conn, bool proxy,
in_buff_desc.cBuffers = 1;
in_buff_desc.pBuffers = &in_sec_buff;

in_sec_buff.cbBuffer = input_token_len;
in_sec_buff.cbBuffer = curlx_uztoul(input_token_len);
in_sec_buff.BufferType = SECBUFFER_TOKEN;
in_sec_buff.pvBuffer = input_token;
}
Expand Down
20 changes: 19 additions & 1 deletion lib/warnless.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
Expand Down Expand Up @@ -174,6 +174,24 @@ int curlx_uztosi(size_t uznum)
#endif
}

/*
** unsigned size_t to unsigned long
*/

unsigned long curlx_uztoul(size_t uznum)
{
#ifdef __INTEL_COMPILER
# pragma warning(push)
# pragma warning(disable:810) /* conversion may lose significant bits */
#endif

return (unsigned long)(uznum & (size_t) CURL_MASK_ULONG);

#ifdef __INTEL_COMPILER
# pragma warning(pop)
#endif
}

/*
** signed long to signed int
*/
Expand Down
4 changes: 3 additions & 1 deletion lib/warnless.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
Expand All @@ -28,6 +28,8 @@ unsigned char curlx_ultouc(unsigned long ulnum);

int curlx_uztosi(size_t uznum);

unsigned long curlx_uztoul(size_t uznum);

int curlx_sltosi(long slnum);

unsigned int curlx_sltoui(long slnum);
Expand Down

0 comments on commit 8e82ef9

Please sign in to comment.