@@ -688,6 +688,9 @@ static void f_setreg __ARGS((typval_T *argvars, typval_T *rettv));
688688static void f_settabvar __ARGS((typval_T *argvars, typval_T *rettv));
689689static void f_settabwinvar __ARGS((typval_T *argvars, typval_T *rettv));
690690static void f_setwinvar __ARGS((typval_T *argvars, typval_T *rettv));
691+ #ifdef FEAT_CRYPT
692+ static void f_sha256 __ARGS((typval_T *argvars, typval_T *rettv));
693+ #endif /* FEAT_CRYPT */
691694static void f_shellescape __ARGS((typval_T *argvars, typval_T *rettv));
692695static void f_shiftwidth __ARGS((typval_T *argvars, typval_T *rettv));
693696static void f_simplify __ARGS((typval_T *argvars, typval_T *rettv));
@@ -8055,6 +8058,9 @@ static struct fst
80558058 {"settabvar", 3, 3, f_settabvar},
80568059 {"settabwinvar", 4, 4, f_settabwinvar},
80578060 {"setwinvar", 3, 3, f_setwinvar},
8061+ #ifdef FEAT_CRYPT
8062+ {"sha256", 1, 1, f_sha256},
8063+ #endif
80588064 {"shellescape", 1, 2, f_shellescape},
80598065 {"shiftwidth", 0, 0, f_shiftwidth},
80608066 {"simplify", 1, 1, f_simplify},
@@ -16710,6 +16716,24 @@ setwinvar(argvars, rettv, off)
1671016716 }
1671116717}
1671216718
16719+ #ifdef FEAT_CRYPT
16720+ /*
16721+ * "sha256({string})" function
16722+ */
16723+ static void
16724+ f_sha256(argvars, rettv)
16725+ typval_T *argvars;
16726+ typval_T *rettv;
16727+ {
16728+ char_u *p;
16729+
16730+ p = get_tv_string(&argvars[0]);
16731+ rettv->vval.v_string = vim_strsave(
16732+ sha256_bytes(p, (int)STRLEN(p), NULL, 0));
16733+ rettv->v_type = VAR_STRING;
16734+ }
16735+ #endif /* FEAT_CRYPT */
16736+
1671316737/*
1671416738 * "shellescape({string})" function
1671516739 */
0 commit comments