aboutsummaryrefslogtreecommitdiffstats
path: root/mpi/mpicoder.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>1998-02-03 12:09:20 +0000
committerWerner Koch <[email protected]>1998-02-03 12:09:20 +0000
commit899b8378eca7a3801d02bab5fb4cd13dfb6a8595 (patch)
tree71b685933a39dfbdc7d6801775dc2c6ff99aeddf /mpi/mpicoder.c
parentchanged structure of trustdb (diff)
downloadgnupg-899b8378eca7a3801d02bab5fb4cd13dfb6a8595.tar.gz
gnupg-899b8378eca7a3801d02bab5fb4cd13dfb6a8595.zip
Fixed a few bugs
Diffstat (limited to 'mpi/mpicoder.c')
-rw-r--r--mpi/mpicoder.c34
1 files changed, 18 insertions, 16 deletions
diff --git a/mpi/mpicoder.c b/mpi/mpicoder.c
index efb5d0904..bccb51ff5 100644
--- a/mpi/mpicoder.c
+++ b/mpi/mpicoder.c
@@ -20,6 +20,7 @@
#include <config.h>
#include <stdio.h>
+#include <string.h>
#include <stdlib.h>
#include <assert.h>
@@ -326,14 +327,15 @@ mpi_set_buffer( MPI a, const byte *buffer, unsigned nbytes, int sign )
alimb |= *p-- << 16 ;
alimb |= *p-- << 24 ;
#elif BYTES_PER_MPI_LIMB == 8
- alimb = *p-- ;
- alimb |= *p-- << 8 ;
- alimb |= *p-- << 16 ;
- alimb |= *p-- << 24 ;
- alimb |= *p-- << 32 ;
- alimb |= *p-- << 40 ;
- alimb |= *p-- << 48 ;
- alimb |= *p-- << 56 ;
+ /* cast due to egc's "left shift count >= width of type" warning*/
+ alimb = (mpi_limb_t)*p-- ;
+ alimb |= (mpi_limb_t)*p-- << 8 ;
+ alimb |= (mpi_limb_t)*p-- << 16 ;
+ alimb |= (mpi_limb_t)*p-- << 24 ;
+ alimb |= (mpi_limb_t)*p-- << 32 ;
+ alimb |= (mpi_limb_t)*p-- << 40 ;
+ alimb |= (mpi_limb_t)*p-- << 48 ;
+ alimb |= (mpi_limb_t)*p-- << 56 ;
#else
#error please implement for this limb size.
#endif
@@ -346,14 +348,14 @@ mpi_set_buffer( MPI a, const byte *buffer, unsigned nbytes, int sign )
if( p >= buffer ) alimb |= *p-- << 16 ;
if( p >= buffer ) alimb |= *p-- << 24 ;
#elif BYTES_PER_MPI_LIMB == 8
- alimb = *p-- ;
- if( p >= buffer ) alimb |= *p-- << 8 ;
- if( p >= buffer ) alimb |= *p-- << 16 ;
- if( p >= buffer ) alimb |= *p-- << 24 ;
- if( p >= buffer ) alimb |= *p-- << 32 ;
- if( p >= buffer ) alimb |= *p-- << 40 ;
- if( p >= buffer ) alimb |= *p-- << 48 ;
- if( p >= buffer ) alimb |= *p-- << 56 ;
+ alimb = (mpi_limb_t)*p-- ;
+ if( p >= buffer ) alimb |= (mpi_limb_t)*p-- << 8 ;
+ if( p >= buffer ) alimb |= (mpi_limb_t)*p-- << 16 ;
+ if( p >= buffer ) alimb |= (mpi_limb_t)*p-- << 24 ;
+ if( p >= buffer ) alimb |= (mpi_limb_t)*p-- << 32 ;
+ if( p >= buffer ) alimb |= (mpi_limb_t)*p-- << 40 ;
+ if( p >= buffer ) alimb |= (mpi_limb_t)*p-- << 48 ;
+ if( p >= buffer ) alimb |= (mpi_limb_t)*p-- << 56 ;
#else
#error please implement for this limb size.
#endif