Mercurial > vim
diff src/misc2.c @ 2245:4e0124f5aee2 vim73
Optimize the blowfish crypt/decrypt code a bit more.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 02 Jun 2010 20:32:23 +0200 |
parents | caca0ddd789b |
children | c08f91142c41 |
line wrap: on
line diff
--- a/src/misc2.c +++ b/src/misc2.c @@ -3768,13 +3768,7 @@ crypt_encode(from, len, to) to[i] = t ^ ztemp; } else - for (i = 0; i < len; ++i) - { - ztemp = from[i]; - t = bf_ranbyte(); - bf_ofb_update(ztemp); - to[i] = t ^ ztemp; - } + bf_crypt_encode(from, len, to); } /* @@ -3797,8 +3791,7 @@ crypt_decode(ptr, len) UPDATE_KEYS_ZIP(*p ^= temp); } else - for (p = ptr; p < ptr + len; ++p) - bf_ofb_update(*p ^= bf_ranbyte()); + bf_crypt_decode(ptr, len); } /* @@ -3812,18 +3805,21 @@ crypt_init_keys(passwd) { if (passwd != NULL && *passwd != NUL) { - make_crc_tab(); - keys[0] = 305419896L; - keys[1] = 591751049L; - keys[2] = 878082192L; if (use_crypt_method == 0) - while (*passwd != '\0') + { + char_u *p; + + make_crc_tab(); + keys[0] = 305419896L; + keys[1] = 591751049L; + keys[2] = 878082192L; + for (p = passwd; *p!= NUL; ++p) { - UPDATE_KEYS_ZIP((int)*passwd++); + UPDATE_KEYS_ZIP((int)*p); } + } else - while (*passwd != '\0') - bf_ofb_update((int)*passwd++); + bf_crypt_init_keys(passwd); } } @@ -6320,9 +6316,9 @@ put_time(fd, the_time) else { #if defined(SIZEOF_TIME_T) && SIZEOF_TIME_T > 4 - c = wtime >> (i * 8); + c = (int)(wtime >> (i * 8)); #else - c = (long_u)wtime >> (i * 8); + c = (int)((long_u)wtime >> (i * 8)); #endif putc(c, fd); }