Fun
0.41.5
The programming language that makes You have fun
Main Page
Data Structures
Files
File List
Globals
Loading...
Searching...
No Matches
src
vm
openssl
sha512.c
Go to the documentation of this file.
1
/*
2
* This file is part of the Fun programming language.
3
* https://fun-lang.xyz/
4
*
5
* Copyright 2026 Johannes Findeisen <you@hanez.org>
6
* Licensed under the terms of the Apache-2.0 license.
7
* https://opensource.org/license/apache-2-0
8
*/
9
28
29
case
OP_OPENSSL_SHA512
: {
30
Value
vdata = pop_value(vm);
31
char
*
s
=
value_to_string_alloc
(&vdata);
32
free_value
(vdata);
33
if
(!
s
) {
34
push_value
(vm,
make_string
(
""
));
35
break
;
36
}
37
char
*
hex
= fun_openssl_sha512_hex((
const
unsigned
char
*)
s
, strlen(
s
));
38
free
(
s
);
39
if
(!
hex
) {
40
push_value
(vm,
make_string
(
""
));
41
break
;
42
}
43
Value
out
=
make_string
(
hex
);
44
free
(
hex
);
45
push_value
(vm,
out
);
46
break
;
47
}
out
Value out
Definition
apop.c:38
OP_OPENSSL_SHA512
@ OP_OPENSSL_SHA512
Definition
bytecode.h:199
hex
char * hex
Definition
md5.c:39
s
uint32_t s
Definition
rol.c:31
free_value
free_value(vdata)
free
free(s)
push_value
push_value(vm, out)
Value
Tagged union representing a Fun value.
Definition
value.h:68
make_string
Value make_string(const char *s)
Construct a string Value by duplicating the given C string.
Definition
value.c:95
value_to_string_alloc
char * value_to_string_alloc(const Value *v)
Allocate a printable C string for a Value.
Definition
value.c:641
Generated on
for Fun by
1.16.1