aboutsummaryrefslogtreecommitdiff
path: root/lib/warnless.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/warnless.c')
-rw-r--r--lib/warnless.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/warnless.c b/lib/warnless.c
index d01490b15..aab95ab2b 100644
--- a/lib/warnless.c
+++ b/lib/warnless.c
@@ -159,6 +159,25 @@ unsigned char curlx_ultouc(unsigned long ulnum)
}
/*
+** unsigned long to signed int
+*/
+
+int curlx_ultosi(unsigned long ulnum)
+{
+#ifdef __INTEL_COMPILER
+# pragma warning(push)
+# pragma warning(disable:810) /* conversion may lose significant bits */
+#endif
+
+ DEBUGASSERT(ulnum <= (unsigned long) CURL_MASK_SINT);
+ return (int)(ulnum & (unsigned long) CURL_MASK_SINT);
+
+#ifdef __INTEL_COMPILER
+# pragma warning(pop)
+#endif
+}
+
+/*
** unsigned size_t to signed int
*/