1
0
Fork 0
forked from fun/fun
fun/src/vm/openssl/sha256.c

16 lines
452 B
C
Raw Normal View History

/**
* OpenSSL SHA-256 builtin
*/
case OP_OPENSSL_SHA256: {
Value vdata = pop_value(vm);
char *s = value_to_string_alloc(&vdata);
free_value(vdata);
if (!s) { push_value(vm, make_string("")); break; }
char *hex = fun_openssl_sha256_hex((const unsigned char*)s, strlen(s));
free(s);
if (!hex) { push_value(vm, make_string("")); break; }
Value out = make_string(hex);
free(hex);
push_value(vm, out);
break;
}