Hello, Please find below the message by Dragoslav Sicarov with a patch to fix the tests failures reported in the same message,
The file attached is the patch by Dragoslav Sicarov. Cheers, Anibal On Sun, 2013-12-29 15:13:16 +0000, Dragoslav Sicarov wrote: > Package: grib-api > Version: 1.10.4-3 > Tags: sid > > Hi all, > > FTBFS: 21 of 38 tests fail when trying to build package from source on > mips. Part of build log has been attached. > > The root cause of failing tests for mips is in function > grib_encode_unsigned_long() that is used for writing into grib message > buffer (function is implemented differently for big-endian and > little-endian architectures). > > On big-endian architectures, function uses shift operations, where in > some corner-case situations left operand (which is of type unsigned > long; size of long equals 4 bytes for 32bit system) is shifted right > by 32 bits. > > According to C standard, if the value of the right operand of shift > operation is negative, or is greater than or equal to the width of the > left operand, the behaviour is undefined. > > On 32-bit mips architecture shift operations by a variable number of > bits are translated to/use 'srlv' and 'sllv' instructions which shift > left operand by (right_operand mod 32) bits. In case of shifting by > 32 bits, this results in left operand being unchanged. However, in > order for this package to function properly a result of 0 is expected. > > Proposed patch fixes these corner-cases by setting the result of shift > operation to 0 if right operand is greater than or equal to size of > long (actually, no shifting is performed, the result is set to zero). > > Patch has been attached. > --- a/src/grib_bits.c > +++ b/src/grib_bits.c > @@ -24,7 +24,7 @@ > long GRIB_MASK = -1; /* Mask of sword bits */ > > # define VALUE(p,q,b) \ > - (((b)==max_nbits ? GRIB_MASK : ~(GRIB_MASK<<(b))) & > ((p)>>(max_nbits-((q)+(b))))) > + (((b)==max_nbits ? GRIB_MASK : ~(GRIB_MASK<<(b))) & (((max_nbits-((q)+(b))) > >= max_nbits) ? 0 : ((p)>>(max_nbits-((q)+(b)))))) > > # define MASKVALUE(q,b) \ > ((b)==max_nbits ? GRIB_MASK : (~(GRIB_MASK<<(b))<<(max_nbits-((q)+(b))))) > --- a/src/grib_bits_fast_big_endian.c > +++ b/src/grib_bits_fast_big_endian.c > @@ -62,9 +62,16 @@ > countOfLeftmostBits = max_nbits - startBit; > startBit = max_nbits - remainingBits; > remainingBits -= countOfLeftmostBits; > - destination[nextWord] = > - ((destination[nextWord] >> countOfLeftmostBits) << countOfLeftmostBits) > - + (VALUE(val,startBit,countOfLeftmostBits)); > + if (countOfLeftmostBits < max_nbits) > + { > + destination[nextWord] = > + ((destination[nextWord] >> countOfLeftmostBits) << > countOfLeftmostBits) > + + (VALUE(val,startBit,countOfLeftmostBits)); > + } > + else > + { > + destination[nextWord] = (VALUE(val,startBit,countOfLeftmostBits)); > + } > startBit = 0; > nextWord++; > } > Making check in tests > make[2]: Entering directory `/??PKGBUILDDIR??/tests' > make check-TESTS > make[3]: Entering directory `/??PKGBUILDDIR??/tests' > > TEST: ./definitions.sh > PASS: definitions.sh > > TEST: ./ieee.sh > PASS: ieee.sh > > TEST: ./grib1to2.sh > FAIL: grib1to2.sh > > TEST: ./grib2to1.sh > FAIL: grib2to1.sh > > TEST: ./badgrib.sh > PASS: badgrib.sh > > TEST: ./ls.sh > FAIL: ls.sh > > TEST: ./convert.sh > Invalid grib message(s) found in /??PKGBUILDDIR??/data/out.grib2 > FAIL: convert.sh > > TEST: ./filter.sh > GRIB_API ERROR : Message is too large for the current architecture > FAIL: filter.sh > > TEST: ./multi.sh > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 7494-7494 > over message boundary (3747) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 119278-119278 > over message boundary (59639) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 193150-193150 > over message boundary (96575) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 191834-191834 > over message boundary (95917) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 195092-195092 > over message boundary (97546) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 193926-193926 > over message boundary (96963) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 195560-195560 > over message boundary (97780) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 194616-194616 > over message boundary (97308) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 195440-195440 > over message boundary (97720) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 194772-194772 > over message boundary (97386) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 196066-196066 > over message boundary (98033) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 194430-194430 > over message boundary (97215) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 197412-197412 > over message boundary (98706) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 194880-194880 > over message boundary (97440) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 199542-199542 > over message boundary (99771) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 196902-196902 > over message boundary (98451) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 200202-200202 > over message boundary (100101) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 197258-197258 > over message boundary (98629) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 200008-200008 > over message boundary (100004) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 196896-196896 > over message boundary (98448) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 201242-201242 > over message boundary (100621) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 198372-198372 > over message boundary (99186) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 197716-197716 > over message boundary (98858) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 195034-195034 > over message boundary (97517) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 198362-198362 > over message boundary (99181) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 194932-194932 > over message boundary (97466) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 200802-200802 > over message boundary (100401) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 198614-198614 > over message boundary (99307) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 198566-198566 > over message boundary (99283) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 196920-196920 > over message boundary (98460) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 204564-204564 > over message boundary (102282) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 202982-202982 > over message boundary (101491) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 201748-201748 > over message boundary (100874) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 198722-198722 > over message boundary (99361) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 202698-202698 > over message boundary (101349) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 200584-200584 > over message boundary (100292) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 195584-195584 > over message boundary (97792) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 193676-193676 > over message boundary (96838) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 183778-183778 > over message boundary (91889) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 182186-182186 > over message boundary (91093) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 169128-169128 > over message boundary (84564) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 166494-166494 > over message boundary (83247) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 160512-160512 > over message boundary (80256) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 156488-156488 > over message boundary (78244) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 153212-153212 > over message boundary (76606) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 149744-149744 > over message boundary (74872) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 148080-148080 > over message boundary (74040) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 145326-145326 > over message boundary (72663) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 140628-140628 > over message boundary (70314) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 138610-138610 > over message boundary (69305) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 142890-142890 > over message boundary (71445) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 139762-139762 > over message boundary (69881) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 141374-141374 > over message boundary (70687) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 137144-137144 > over message boundary (68572) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 180936-180936 > over message boundary (90468) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 150002-150002 > over message boundary (75001) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 7494-7494 > over message boundary (3747) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 119278-119278 > over message boundary (59639) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 193150-193150 > over message boundary (96575) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 191834-191834 > over message boundary (95917) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 195092-195092 > over message boundary (97546) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 193926-193926 > over message boundary (96963) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 195560-195560 > over message boundary (97780) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 194616-194616 > over message boundary (97308) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 195440-195440 > over message boundary (97720) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 194772-194772 > over message boundary (97386) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 196066-196066 > over message boundary (98033) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 194430-194430 > over message boundary (97215) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 197412-197412 > over message boundary (98706) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 194880-194880 > over message boundary (97440) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 199542-199542 > over message boundary (99771) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 196902-196902 > over message boundary (98451) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 200202-200202 > over message boundary (100101) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 197258-197258 > over message boundary (98629) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 200008-200008 > over message boundary (100004) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 196896-196896 > over message boundary (98448) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 201242-201242 > over message boundary (100621) > GRIB_API ERROR : Creating ()_if0x57a020 of section at offset 198372-198372 > over message boundary (99186) > Segmentation fault > FAIL: multi.sh > > TEST: ./budg.sh > PASS: budg.sh > > TEST: ./gridType.sh > PASS: gridType.sh > > TEST: ./concept.sh > GRIB_API ERROR : Creating ()_if0x57b6e0 of section at offset 16612-16612 > over message boundary (8306) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 81052-81052 > over message boundary (40526) > GRIB_API ERROR : Creating ()_if0x5795e8 of section at offset 2352-2352 > over message boundary (1176) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 7494-7494 > over message boundary (3747) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 119278-119278 > over message boundary (59639) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 193150-193150 > over message boundary (96575) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 191834-191834 > over message boundary (95917) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 195092-195092 > over message boundary (97546) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 193926-193926 > over message boundary (96963) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 195560-195560 > over message boundary (97780) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 194616-194616 > over message boundary (97308) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 195440-195440 > over message boundary (97720) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 194772-194772 > over message boundary (97386) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 196066-196066 > over message boundary (98033) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 194430-194430 > over message boundary (97215) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 197412-197412 > over message boundary (98706) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 194880-194880 > over message boundary (97440) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 199542-199542 > over message boundary (99771) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 196902-196902 > over message boundary (98451) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 200202-200202 > over message boundary (100101) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 197258-197258 > over message boundary (98629) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 200008-200008 > over message boundary (100004) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 196896-196896 > over message boundary (98448) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 201242-201242 > over message boundary (100621) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 198372-198372 > over message boundary (99186) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 197716-197716 > over message boundary (98858) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 195034-195034 > over message boundary (97517) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 198362-198362 > over message boundary (99181) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 194932-194932 > over message boundary (97466) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 200802-200802 > over message boundary (100401) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 198614-198614 > over message boundary (99307) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 198566-198566 > over message boundary (99283) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 196920-196920 > over message boundary (98460) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 204564-204564 > over message boundary (102282) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 202982-202982 > over message boundary (101491) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 201748-201748 > over message boundary (100874) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 198722-198722 > over message boundary (99361) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 202698-202698 > over message boundary (101349) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 200584-200584 > over message boundary (100292) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 195584-195584 > over message boundary (97792) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 193676-193676 > over message boundary (96838) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 183778-183778 > over message boundary (91889) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 182186-182186 > over message boundary (91093) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 169128-169128 > over message boundary (84564) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 166494-166494 > over message boundary (83247) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 160512-160512 > over message boundary (80256) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 156488-156488 > over message boundary (78244) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 153212-153212 > over message boundary (76606) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 149744-149744 > over message boundary (74872) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 148080-148080 > over message boundary (74040) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 145326-145326 > over message boundary (72663) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 140628-140628 > over message boundary (70314) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 138610-138610 > over message boundary (69305) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 142890-142890 > over message boundary (71445) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 139762-139762 > over message boundary (69881) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 141374-141374 > over message boundary (70687) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 137144-137144 > over message boundary (68572) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 180936-180936 > over message boundary (90468) > GRIB_API ERROR : Creating ()_if0x579ff0 of section at offset 150002-150002 > over message boundary (75001) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57ed70 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x57b2d0 of section at offset 17160-17160 > over message boundary (8580) > GRIB_API ERROR : Creating ()_if0x5795e8 of section at offset 2358-2358 > over message boundary (1179) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3158-3158 > over message boundary (1579) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 4478-4478 > over message boundary (2239) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3158-3158 > over message boundary (1579) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 1980-1980 > over message boundary (990) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3158-3158 > over message boundary (1579) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3158-3158 > over message boundary (1579) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3158-3158 > over message boundary (1579) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3158-3158 > over message boundary (1579) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3158-3158 > over message boundary (1579) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3158-3158 > over message boundary (1579) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3158-3158 > over message boundary (1579) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3158-3158 > over message boundary (1579) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3158-3158 > over message boundary (1579) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3158-3158 > over message boundary (1579) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3158-3158 > over message boundary (1579) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3158-3158 > over message boundary (1579) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 4526-4526 > over message boundary (2263) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579760 of section at offset 3110-3110 > over message boundary (1555) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 191834-191834 > over message boundary (95917) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 193926-193926 > over message boundary (96963) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 194616-194616 > over message boundary (97308) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 194772-194772 > over message boundary (97386) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 194430-194430 > over message boundary (97215) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 194880-194880 > over message boundary (97440) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 196902-196902 > over message boundary (98451) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 197258-197258 > over message boundary (98629) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 196896-196896 > over message boundary (98448) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 198372-198372 > over message boundary (99186) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 195034-195034 > over message boundary (97517) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 194932-194932 > over message boundary (97466) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 198614-198614 > over message boundary (99307) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 196920-196920 > over message boundary (98460) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 202982-202982 > over message boundary (101491) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 198722-198722 > over message boundary (99361) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 200584-200584 > over message boundary (100292) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 193676-193676 > over message boundary (96838) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 182186-182186 > over message boundary (91093) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 166494-166494 > over message boundary (83247) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 156488-156488 > over message boundary (78244) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 149744-149744 > over message boundary (74872) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 145326-145326 > over message boundary (72663) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 138610-138610 > over message boundary (69305) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 139762-139762 > over message boundary (69881) > GRIB_API ERROR : Creating ()_if0x579148 of section at offset 137144-137144 > over message boundary (68572) > PASS: concept.sh > > TEST: ./decimalPrecision.sh > /??PKGBUILDDIR??/data/regular_latlon_surface.grib2: No such file or directory > FAIL: decimalPrecision.sh > > TEST: ./bitsPerValue.sh > /??PKGBUILDDIR??/data/regular_latlon_surface.grib2: No such file or directory > FAIL: bitsPerValue.sh > > TEST: ./get_fail.sh > PASS: get_fail.sh > > TEST: ./missing.sh > GRIB_API ERROR : Creating ()_if0x5795d8 of section at offset 2352-2352 > over message boundary (1176) > GRIB_API ERROR : Creating ()_if0x5795d8 of section at offset 2352-2352 > over message boundary (1176) > GRIB_API ERROR : Creating ()_if0x579680 of section at offset 2352-2352 > over message boundary (1176) > GRIB_API ERROR : Message is too large for the current architecture > FAIL: missing.sh > > TEST: ./local.sh > GRIB_API ERROR : Message is too large for the current architecture > FAIL: local.sh > > TEST: ./step.sh > /??PKGBUILDDIR??/data/reduced_latlon_surface_constant.grib2: No such file or > directory > FAIL: step.sh > > TEST: ./set.sh > /??PKGBUILDDIR??/data/regular_gaussian_surface.grib2: No such file or > directory > FAIL: set.sh > > TEST: ./iterator.sh > /??PKGBUILDDIR??/data/reduced_latlon_surface.grib2: No such file or directory > /??PKGBUILDDIR??/data/reduced_latlon_surface.grib2: No such file or directory > FAIL: iterator.sh > > TEST: ./compare.sh > PASS: compare.sh > > TEST: ./level.sh > PASS: level.sh > > TEST: ./index.sh > PASS: index.sh > > TEST: ./bitmap.sh > /??PKGBUILDDIR??/data/regular_latlon_surface.grib2: No such file or directory > FAIL: bitmap.sh > > TEST: ./list.sh > /??PKGBUILDDIR??/data/reduced_gaussian_model_level.grib2: No such file or > directory > FAIL: list.sh > > TEST: ./second_order.sh > PASS: second_order.sh > > TEST: ./multi_from_message.sh > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 7494-7494 > over message boundary (3747) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 119278-119278 > over message boundary (59639) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 193150-193150 > over message boundary (96575) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 191834-191834 > over message boundary (95917) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 195092-195092 > over message boundary (97546) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 193926-193926 > over message boundary (96963) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 195560-195560 > over message boundary (97780) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 194616-194616 > over message boundary (97308) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 195440-195440 > over message boundary (97720) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 194772-194772 > over message boundary (97386) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 196066-196066 > over message boundary (98033) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 194430-194430 > over message boundary (97215) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 197412-197412 > over message boundary (98706) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 194880-194880 > over message boundary (97440) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 199542-199542 > over message boundary (99771) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 196902-196902 > over message boundary (98451) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 200202-200202 > over message boundary (100101) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 197258-197258 > over message boundary (98629) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 200008-200008 > over message boundary (100004) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 196896-196896 > over message boundary (98448) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 201242-201242 > over message boundary (100621) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 198372-198372 > over message boundary (99186) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 197716-197716 > over message boundary (98858) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 195034-195034 > over message boundary (97517) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 198362-198362 > over message boundary (99181) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 194932-194932 > over message boundary (97466) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 200802-200802 > over message boundary (100401) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 198614-198614 > over message boundary (99307) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 198566-198566 > over message boundary (99283) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 196920-196920 > over message boundary (98460) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 204564-204564 > over message boundary (102282) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 202982-202982 > over message boundary (101491) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 201748-201748 > over message boundary (100874) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 198722-198722 > over message boundary (99361) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 202698-202698 > over message boundary (101349) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 200584-200584 > over message boundary (100292) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 195584-195584 > over message boundary (97792) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 193676-193676 > over message boundary (96838) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 183778-183778 > over message boundary (91889) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 182186-182186 > over message boundary (91093) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 169128-169128 > over message boundary (84564) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 166494-166494 > over message boundary (83247) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 160512-160512 > over message boundary (80256) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 156488-156488 > over message boundary (78244) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 153212-153212 > over message boundary (76606) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 149744-149744 > over message boundary (74872) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 148080-148080 > over message boundary (74040) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 145326-145326 > over message boundary (72663) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 140628-140628 > over message boundary (70314) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 138610-138610 > over message boundary (69305) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 142890-142890 > over message boundary (71445) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 139762-139762 > over message boundary (69881) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 141374-141374 > over message boundary (70687) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 137144-137144 > over message boundary (68572) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 180936-180936 > over message boundary (90468) > GRIB_API ERROR : Creating ()_if0x429e18 of section at offset 150002-150002 > over message boundary (75001) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 7494-7494 > over message boundary (3747) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 119278-119278 > over message boundary (59639) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 193150-193150 > over message boundary (96575) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 191834-191834 > over message boundary (95917) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 195092-195092 > over message boundary (97546) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 193926-193926 > over message boundary (96963) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 195560-195560 > over message boundary (97780) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 194616-194616 > over message boundary (97308) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 195440-195440 > over message boundary (97720) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 194772-194772 > over message boundary (97386) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 196066-196066 > over message boundary (98033) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 194430-194430 > over message boundary (97215) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 197412-197412 > over message boundary (98706) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 194880-194880 > over message boundary (97440) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 199542-199542 > over message boundary (99771) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 196902-196902 > over message boundary (98451) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 200202-200202 > over message boundary (100101) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 197258-197258 > over message boundary (98629) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 200008-200008 > over message boundary (100004) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 196896-196896 > over message boundary (98448) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 201242-201242 > over message boundary (100621) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 198372-198372 > over message boundary (99186) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 197716-197716 > over message boundary (98858) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 195034-195034 > over message boundary (97517) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 198362-198362 > over message boundary (99181) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 194932-194932 > over message boundary (97466) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 200802-200802 > over message boundary (100401) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 198614-198614 > over message boundary (99307) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 198566-198566 > over message boundary (99283) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 196920-196920 > over message boundary (98460) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 204564-204564 > over message boundary (102282) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 202982-202982 > over message boundary (101491) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 201748-201748 > over message boundary (100874) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 198722-198722 > over message boundary (99361) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 202698-202698 > over message boundary (101349) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 200584-200584 > over message boundary (100292) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 195584-195584 > over message boundary (97792) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 193676-193676 > over message boundary (96838) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 183778-183778 > over message boundary (91889) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 182186-182186 > over message boundary (91093) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 169128-169128 > over message boundary (84564) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 166494-166494 > over message boundary (83247) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 160512-160512 > over message boundary (80256) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 156488-156488 > over message boundary (78244) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 153212-153212 > over message boundary (76606) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 149744-149744 > over message boundary (74872) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 148080-148080 > over message boundary (74040) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 145326-145326 > over message boundary (72663) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 140628-140628 > over message boundary (70314) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 138610-138610 > over message boundary (69305) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 142890-142890 > over message boundary (71445) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 139762-139762 > over message boundary (69881) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 141374-141374 > over message boundary (70687) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 137144-137144 > over message boundary (68572) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 180936-180936 > over message boundary (90468) > GRIB_API ERROR : Creating ()_if0x579fd8 of section at offset 150002-150002 > over message boundary (75001) > PASS: multi_from_message.sh > > TEST: ./change_scanning.sh > GRIB_API ERROR : Message is too large for the current architecture > *** unreadable message *** > FAIL: change_scanning.sh > > TEST: ./julian.sh > PASS: julian.sh > > TEST: ./statistics.sh > /??PKGBUILDDIR??/data/regular_latlon_surface.grib2: No such file or directory > FAIL: statistics.sh > > TEST: ./tigge.sh > PASS: tigge.sh > > TEST: ./tigge_conversions.sh > FAIL: tigge_conversions.sh > > TEST: ./read_any.sh > no data to test > PASS: read_any.sh > > TEST: ./padding.sh > PASS: padding.sh > > TEST: ./lamb_az_eq_area.sh > /??PKGBUILDDIR??/data/regular_gaussian_pressure_level_constant.grib2: No such > file or directory > FAIL: lamb_az_eq_area.sh > > TEST: ./grib_to_netcdf.sh > NetCDF was not enabled. Skipping this test. > PASS: grib_to_netcdf.sh > > TEST: ./debug.sh > FAIL: debug.sh > > TEST: ./jpeg.sh > GRIB_API ERROR : Creating ()_if0x5791a8 of section at offset 81052-81052 > over message boundary (40526) > GRIB_API ERROR : Message is too large for the current architecture > FAIL: jpeg.sh > =========================================== > make[3]: *** [check-TESTS] Error 1 > 21 of 38 tests failed > Please report to software.supp...@ecmwf.int > =========================================== > make[3]: Leaving directory `/??PKGBUILDDIR??/tests' > make[2]: *** [check-am] Error 2 > make[2]: Leaving directory `/??PKGBUILDDIR??/tests' > make[1]: *** [check-recursive] Error 1 > make[1]: Leaving directory `/??PKGBUILDDIR??' > dh_auto_test: make -j1 check returned exit code 2 > make: *** [build-arch] Error 2 > dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2
From: Dragoslav Sicarov <dragoslav.sica...@imgtec.com> Subject: FTBFS: grib-api - tests fail for mips Date: Sun, 29 Dec 2013 15:13:16 +0000 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733510 FTBFS: 21 of 38 tests fail when trying to build package from source on mips. Part of build log has been attached. The root cause of failing tests for mips is in function grib_encode_unsigned_long() that is used for writing into grib message buffer (function is implemented differently for big-endian and little-endian architectures). On big-endian architectures, function uses shift operations, where in some corner-case situations left operand (which is of type unsigned long; size of long equals 4 bytes for 32bit system) is shifted right by 32 bits. According to C standard, if the value of the right operand of shift operation is negative, or is greater than or equal to the width of the left operand, the behaviour is undefined. On 32-bit mips architecture shift operations by a variable number of bits are translated to/use 'srlv' and 'sllv' instructions which shift left operand by (right_operand mod 32) bits. In case of shifting by 32 bits, this results in left operand being unchanged. However, in order for this package to function properly a result of 0 is expected. Proposed patch fixes these corner-cases by setting the result of shift operation to 0 if right operand is greater than or equal to size of long (actually, no shifting is performed, the result is set to zero). --- a/src/grib_bits.c 2013-05-29 16:32:07.000000000 +0100 +++ b/src/grib_bits.c 2014-04-30 08:40:17.717503443 +0100 @@ -24,7 +24,7 @@ long GRIB_MASK = -1; /* Mask of sword bits */ # define VALUE(p,q,b) \ - (((b)==max_nbits ? GRIB_MASK : ~(GRIB_MASK<<(b))) & ((p)>>(max_nbits-((q)+(b))))) + (((b)==max_nbits ? GRIB_MASK : ~(GRIB_MASK<<(b))) & (((max_nbits-((q)+(b))) >= max_nbits) ? 0 : ((p)>>(max_nbits-((q)+(b)))))) # define MASKVALUE(q,b) \ ((b)==max_nbits ? GRIB_MASK : (~(GRIB_MASK<<(b))<<(max_nbits-((q)+(b))))) --- a/src/grib_bits_fast_big_endian.c 2013-05-29 16:32:07.000000000 +0100 +++ b/src/grib_bits_fast_big_endian.c 2014-04-30 08:40:17.733503444 +0100 @@ -62,9 +62,16 @@ int grib_encode_unsigned_long(unsigned c countOfLeftmostBits = max_nbits - startBit; startBit = max_nbits - remainingBits; remainingBits -= countOfLeftmostBits; - destination[nextWord] = - ((destination[nextWord] >> countOfLeftmostBits) << countOfLeftmostBits) - + (VALUE(val,startBit,countOfLeftmostBits)); + if (countOfLeftmostBits < max_nbits) + { + destination[nextWord] = + ((destination[nextWord] >> countOfLeftmostBits) << countOfLeftmostBits) + + (VALUE(val,startBit,countOfLeftmostBits)); + } + else + { + destination[nextWord] = (VALUE(val,startBit,countOfLeftmostBits)); + } startBit = 0; nextWord++; }
signature.asc
Description: Digital signature