diff options
author | Bram Moolenaar <Bram@vim.org> | 2013-02-13 17:35:04 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2013-02-13 17:35:04 +0100 |
commit | af9aeb9250ea657b1f8c06ef4bab21d56c111297 (patch) | |
tree | 511de31ca0f6b7ee6d0d0a9ed107468e414778c7 /src/eval.c | |
parent | c2149ea7cd782588563f235e2d1315eaa353ab7b (diff) | |
download | vim-git-af9aeb9250ea657b1f8c06ef4bab21d56c111297.tar.gz |
updated for version 7.3.816v7.3.816
Problem: Can't compute a hash.
Solution: Add the sha256() function. (Tyru, Hirohito Higashi)
Diffstat (limited to 'src/eval.c')
-rw-r--r-- | src/eval.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/eval.c b/src/eval.c index dc7c2409f..9f63d4525 100644 --- a/src/eval.c +++ b/src/eval.c @@ -688,6 +688,9 @@ static void f_setreg __ARGS((typval_T *argvars, typval_T *rettv)); static void f_settabvar __ARGS((typval_T *argvars, typval_T *rettv)); static void f_settabwinvar __ARGS((typval_T *argvars, typval_T *rettv)); static void f_setwinvar __ARGS((typval_T *argvars, typval_T *rettv)); +#ifdef FEAT_CRYPT +static void f_sha256 __ARGS((typval_T *argvars, typval_T *rettv)); +#endif /* FEAT_CRYPT */ static void f_shellescape __ARGS((typval_T *argvars, typval_T *rettv)); static void f_shiftwidth __ARGS((typval_T *argvars, typval_T *rettv)); static void f_simplify __ARGS((typval_T *argvars, typval_T *rettv)); @@ -8055,6 +8058,9 @@ static struct fst {"settabvar", 3, 3, f_settabvar}, {"settabwinvar", 4, 4, f_settabwinvar}, {"setwinvar", 3, 3, f_setwinvar}, +#ifdef FEAT_CRYPT + {"sha256", 1, 1, f_sha256}, +#endif {"shellescape", 1, 2, f_shellescape}, {"shiftwidth", 0, 0, f_shiftwidth}, {"simplify", 1, 1, f_simplify}, @@ -16710,6 +16716,24 @@ setwinvar(argvars, rettv, off) } } +#ifdef FEAT_CRYPT +/* + * "sha256({string})" function + */ + static void +f_sha256(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + char_u *p; + + p = get_tv_string(&argvars[0]); + rettv->vval.v_string = vim_strsave( + sha256_bytes(p, (int)STRLEN(p), NULL, 0)); + rettv->v_type = VAR_STRING; +} +#endif /* FEAT_CRYPT */ + /* * "shellescape({string})" function */ |