Fix "possible loss of data" Win64 compiler warnings.
[openssl.git] / crypto / modes / cfb128.c
index 0512c3f986c1c634d03cbe96d9633117b0a4149a..b6d1e886b9c38592485db56894c52e59e98d60b6 100644 (file)
@@ -48,7 +48,7 @@
  *
  */
 
-#include <stddef.h>
+#include "modes.h"
 #include <string.h>
 
 #ifndef MODES_DEBUG
@@ -58,8 +58,6 @@
 #endif
 #include <assert.h>
 
-#include "modes.h"
-
 #define STRICT_ALIGNMENT
 #if defined(__i386) || defined(__i386__) || \
     defined(__x86_64) || defined(__x86_64__) || \
@@ -75,7 +73,7 @@
 void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out,
                        size_t len, const void *key,
                        unsigned char ivec[16], int *num,
-                       int enc, block_f block)
+                       int enc, block128_f block)
 {
     unsigned int n;
     size_t l = 0;
@@ -184,7 +182,7 @@ void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out,
 static void cfbr_encrypt_block(const unsigned char *in,unsigned char *out,
                            int nbits,const void *key,
                            unsigned char ivec[16],int enc,
-                           block_f block)
+                           block128_f block)
 {
     int n,rem,num;
     unsigned char ovec[16*2 + 1];  /* +1 because we dererefence (but don't use) one byte off the end */
@@ -218,7 +216,7 @@ static void cfbr_encrypt_block(const unsigned char *in,unsigned char *out,
 void CRYPTO_cfb128_1_encrypt(const unsigned char *in, unsigned char *out,
                        size_t bits, const void *key,
                        unsigned char ivec[16], int *num,
-                       int enc, block_f block)
+                       int enc, block128_f block)
 {
     size_t n;
     unsigned char c[1],d[1];
@@ -231,14 +229,15 @@ void CRYPTO_cfb128_1_encrypt(const unsigned char *in, unsigned char *out,
        {
        c[0]=(in[n/8]&(1 << (7-n%8))) ? 0x80 : 0;
        cfbr_encrypt_block(c,d,1,key,ivec,enc,block);
-       out[n/8]=(out[n/8]&~(1 << (7-n%8)))|((d[0]&0x80) >> (n%8));
+       out[n/8]=(out[n/8]&~(1 << (unsigned int)(7-n%8))) |
+                ((d[0]&0x80) >> (unsigned int)(n%8));
        }
 }
 
 void CRYPTO_cfb128_8_encrypt(const unsigned char *in, unsigned char *out,
                        size_t length, const void *key,
                        unsigned char ivec[16], int *num,
-                       int enc, block_f block)
+                       int enc, block128_f block)
 {
     size_t n;