diff -uNr a/mpi/mpi-scan.c b/mpi/mpi-scan.c --- a/mpi/mpi-scan.c a5515e663fe1096bc9e9187508e493a8992770e13039758663f0b5979f49ab422f7f5847b707007a6d53190493f5250c8963c147405defee82bca6037731b869 +++ b/mpi/mpi-scan.c c6dc295615e1d7c4ad7084b18de973b4be4f7c602d19c1a4b213c2166db78caa3290ae449240349148ff99c0a2b555394fb22d7e7ba9876d8ded5b75f78463e7 @@ -1,5 +1,6 @@ /* mpi-scan.c - MPI functions * Modified by No Such Labs. (C) 2015. See README. + * Modified by S.MG 2017 (removed code that is not used by eucrypt and at the same time so ugly it needs rewrite anyway) * * This file was originally part of Gnu Privacy Guard (GPG), ver. 1.4.10, * SHA256(gnupg-1.4.10.tar.gz): @@ -27,97 +28,10 @@ #include "mpi-internal.h" #include "longlong.h" -/**************** - * Scan through an mpi and return byte for byte. a -1 is returned to indicate - * the end of the mpi. Scanning is done from the lsb to the msb, returned - * values are in the range of 0 .. 255. - * - * FIXME: This code is VERY ugly! - */ -#if 0 /* Code is not used */ -int -mpi_getbyte( MPI a, unsigned idx ) -{ - int i, j; - unsigned n; - mpi_ptr_t ap; - mpi_limb_t limb; - - ap = a->d; - for(n=0,i=0; i < a->nlimbs; i++ ) { - limb = ap[i]; - for( j=0; j < BYTES_PER_MPI_LIMB; j++, n++ ) - if( n == idx ) - return (limb >> j*8) & 0xff; - } - return -1; -} -#endif /* Code is not used */ - - -/**************** - * Put a value at position IDX into A. idx counts from lsb to msb - */ -/* FIXME: There is a problem with the long constants which should have -a LL prefix or better the macros we use at other places. */ -#if 0 /* Code is not used */ -void -mpi_putbyte( MPI a, unsigned idx, int xc ) -{ - - int i, j; - unsigned n; - mpi_ptr_t ap; - mpi_limb_t limb, c; - - c = xc & 0xff; - ap = a->d; - for(n=0,i=0; i < a->alloced; i++ ) { - limb = ap[i]; - for( j=0; j < BYTES_PER_MPI_LIMB; j++, n++ ) - if( n == idx ) { -#if BYTES_PER_MPI_LIMB == 4 - if( j == 0 ) - limb = (limb & 0xffffff00) | c; - else if( j == 1 ) - limb = (limb & 0xffff00ff) | (c<<8); - else if( j == 2 ) - limb = (limb & 0xff00ffff) | (c<<16); - else - limb = (limb & 0x00ffffff) | (c<<24); -#elif BYTES_PER_MPI_LIMB == 8 - if( j == 0 ) - limb = (limb & 0xffffffffffffff00) | c; - else if( j == 1 ) - limb = (limb & 0xffffffffffff00ff) | (c<<8); - else if( j == 2 ) - limb = (limb & 0xffffffffff00ffff) | (c<<16); - else if( j == 3 ) - limb = (limb & 0xffffffff00ffffff) | (c<<24); - else if( j == 4 ) - limb = (limb & 0xffffff00ffffffff) | (c<<32); - else if( j == 5 ) - limb = (limb & 0xffff00ffffffffff) | (c<<40); - else if( j == 6 ) - limb = (limb & 0xff00ffffffffffff) | (c<<48); - else - limb = (limb & 0x00ffffffffffffff) | (c<<56); -#else -#error please enhance this function, its ugly - i know. -#endif - if( a->nlimbs <= i ) - a->nlimbs = i+1; - ap[i] = limb; - return; - } - } - abort(); /* index out of range */ -} -#endif /* Code is not used */ - /**************** * Count the number of zerobits at the low end of A + * This is used currently by eucrypt's primality tests. */ unsigned int mpi_trailing_zeros( MPI a )