This commit is contained in:
Michiel Borkent 2021-05-21 00:08:11 +02:00
parent ea50cbfd97
commit cf20734557
2 changed files with 5 additions and 3 deletions

View file

@ -26,14 +26,16 @@ public class Graal {
private static native int setenv(CCharPointer name, CCharPointer value, int overwrite); private static native int setenv(CCharPointer name, CCharPointer value, int overwrite);
// API // API
public static void setEnv(String name, String value) { public static int setEnv(String name, String value) {
int ret = 0;
System.out.println("setenv" + " " + name + " " + value); System.out.println("setenv" + " " + name + " " + value);
try (CCharPointerHolder nameHolder = CTypeConversion.toCString(name); try (CCharPointerHolder nameHolder = CTypeConversion.toCString(name);
CCharPointerHolder valueHolder = CTypeConversion.toCString(value)) { CCharPointerHolder valueHolder = CTypeConversion.toCString(value)) {
setenv(nameHolder.get(), valueHolder.get(), 1); ret = setenv(nameHolder.get(), valueHolder.get(), 1);
System.out.println(System.getenv(name)); System.out.println(System.getenv(name));
} }
System.out.println(System.getenv(name)); System.out.println(System.getenv(name));
return ret;
} }
// public static void main(String[] args) { // public static void main(String[] args) {

View file

@ -9,5 +9,5 @@
(if-graal (if-graal
(do (do
(prn :setting name value) (prn :setting name value)
(babashka.impl.Graal/setEnv name value)) (prn (babashka.impl.Graal/setEnv name value)))
(throw (UnsupportedOperationException. "set-env is only available in the native image.")))) (throw (UnsupportedOperationException. "set-env is only available in the native image."))))