Use 32-bit wide integer type in PolarSSL code
commitd59324c8fff0a91930bf226d013273691f0580e6
authorDan McGee <dan@archlinux.org>
Fri, 6 Jan 2012 22:02:52 +0000 (6 16:02 -0600)
committerDan McGee <dan@archlinux.org>
Sat, 7 Jan 2012 17:27:41 +0000 (7 11:27 -0600)
treea357aae15d3e0e9d4a9f710edce18d6b3ed27c70
parent6513b0ba591e44b4da75aa924046a34b8a269e9d
Use 32-bit wide integer type in PolarSSL code

A look at what this does on 64 bit systems since we were using the
unnecessarily large 'unsigned long' type before even though it was 64
bits wide:

$ ~/bin/bloat-o-meter libalpm.so.old lib/libalpm/.libs/libalpm.so
add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-10412 (-10412)
function                                     old     new   delta
md5_finish                                   370     356     -14
sha2_finish                                  547     531     -16
md5_process                                 3762    2643   -1119
sha2_process                               20356   11093   -9263

The code size is nearly halved in the sha2 case (44% smaller code size),
and md5 gets a nice size reduction (27% smaller) as well.

We also move base64 code to <stdint.h> types as well; we can use
'uint32_t' rather than 'unsigned long' for at least two variables in the
decode function. This doesn't net the same size benefit as the hash code
case, but it is more proper.

Signed-off-by: Dan McGee <dan@archlinux.org>
lib/libalpm/base64.c
lib/libalpm/md5.c
lib/libalpm/sha2.c