#include #include "EnvarJni.h" #include #include #define BUFSIZE 1024 JNIEXPORT jstring JNICALL Java_EnvarJni_getEnvar (JNIEnv *env, jobject obj, jstring var) { DWORD charsret; char buf[BUFSIZE]; size_t bufcnt = sizeof buf / sizeof(char) ; const char *str = (*env)->GetStringUTFChars(env, var, 0); charsret = GetEnvironmentVariable(str, buf, BUFSIZE) ; (*env)->ReleaseStringUTFChars(env, var, str); if(charsret ==0) return (*env)->NewStringUTF(env, "Environment Variable Not Found"); else if(charsret > bufcnt) return (*env)->NewStringUTF(env, "Buffer too small for environment variable"); else return (*env)->NewStringUTF(env, buf); }