Setting environment variable using JNI call


 
Thread Tools Search this Thread
Top Forums Programming Setting environment variable using JNI call
# 1  
Old 07-18-2008
Setting environment variable using JNI call

I have function declaration in Java and same function definition written in C programming language.. A JNI call from Java is made to a fuction...Function would set the environment variable { putenv(cEnvString1);} using C-built -in function ..and later return the encrypted string...

putenv is used to set the environment variable in C...Is there any alternate function to set the environment variable..? Looks like putenv is working here.
getenv function works well..


C function definition for a JNI call:-
-----------------------------------------
JNIEXPORT jstring JNICALL Java_gdm_schema_main_encryption_encryptStr
(JNIEnv *j_env, jobject j_obj)
{
char *cConnString = NULL ;


char *cEnvUserPasswd = NULL;

char cEnvString1[200]= {"FND_HIDDEN_USERPASS="};


/**
** If environment variable is not set
**/
/*
if (cEnvUserPasswd == NULL)
{
fprintf(stderr,"\nError in finding connect string info. exiting ...Shafi\n");
exit(-1);
}
*/

/**
** If Environment variable contains unencrypted login-password
** i.e. called directly from bin, return it .
**/
/*

if (strchr(cEnvUserPasswd , (int)'/') != NULL)
return convertToJavaString( j_env, cEnvUserPasswd ,strlen(cEnvUserPasswd));
else
{
cConnString = process_string ("INSTALL/install@fnd9i", "0", ENCRYPT);
return convertToJavaString( j_env, cConnString , strlen(cConnString));
}
*/
fprintf(stderr,"\nEncryption block.... ...\n");
cConnString = process_string ("INSTALL/install@fnd9i", "0", ENCRYPT);

putenv("FND_HIDDEN_USERPASS=NONE");
/* Prepare string for putenv function
sprintf(cEnvUserPasswd,"%s",cConnString);
*/
strcat(cEnvString1,cConnString);


/* Keep the Connect string and position in Environment */
putenv(cEnvString1);


fprintf(stderr,"\nAfter calling encryption %s.... ...\n",cEnvString1);

fprintf(stderr,"\nAfter calling encryption %s..%s..%d ...\n",j_env,cConnString,strlen(cConnString));

return convertToJavaString( j_env, cConnString , strlen(cConnString));

}

------------------------
# 2  
Old 07-18-2008
May I know what reason you are trying to set Environment variable from a Java Program ?
# 3  
Old 07-18-2008
Normally Java programs should not be closely tied up with environment. if you want to set some values to be shared. you can use System Properties of Java
# 4  
Old 07-18-2008
Code should be in C since function definition is written in C and declaration in Java...
# 5  
Old 07-18-2008
There are 3 environment accessing techniques in these programs
1) C
2) JNI
3) Java
In C , you are changing the environment of the process which is launched. where as the shell, or other process is not aware of it. Even in unix, we use export command for
exporting few environment variables.
The best way is to use Java's System functionality.
# 6  
Old 07-18-2008
Thanks ! How can we export a variable from C programme...
# 7  
Old 07-18-2008
putenv()

See the manpage of putenv().
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

STTY Columns Setting Environment Variable?

I am wondering about the following: stty columns 140 I have found that a number of times I need to set my display columns to a high number (such as 140) but I have to do this every time I login to use putty/ssh. Can we set this with an environmental variable so that it is permanent? Also... (4 Replies)
Discussion started by: newbie2010
4 Replies

2. UNIX for Dummies Questions & Answers

Setting environment variable problem in Ubuntu?

I am trying to install timbl- memory based learner tools in ubuntu. it after unpacking the tar file it brings the following msg No package 'ticcutils' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you... (1 Reply)
Discussion started by: gbdaw
1 Replies

3. UNIX for Dummies Questions & Answers

setting a environment variable on linux

I want to set a enviroment variable VDC_DIR to a particular directory. I am doing it as export VDC_DIR=/abc it gets set but when i logout and do relogin than its not there. one way could be setting it in .profile file. but i have seen it on another box where it is not present in... (2 Replies)
Discussion started by: Jcpratap
2 Replies

4. Shell Programming and Scripting

problem with setting environment variable

shell script: #!/bin/csh set VAR=12345 echo $VAR will peacefully give the output 12345 at shell. I need to use C++ to do the same in some part of the code: string str = "12345"; retValue="set var1= "+str; system(retValue1.c_str()); system("echo $var1"); This doesn't create a system... (1 Reply)
Discussion started by: harshvardhan360
1 Replies

5. Shell Programming and Scripting

Dynamically setting of environment variable... Can it be done?

Hi all, I am fairly new to unix scripting and will like to know how to dynamically set the name of an environment variable to be used. We have a .env file where we defined the names and locations of data files, trigger files, directories .... etc Example of variables defined in .env... (4 Replies)
Discussion started by: Morelia
4 Replies

6. Shell Programming and Scripting

Setting environment variable using shell script

Hi All, I'm trying to write an menu driven program to automate some functions which involve loging to multiple hosts. The hosts can differ for every use, so I thought I would use an config file to get the hostnames. Now I need to set those values in the config file to environment variable to... (6 Replies)
Discussion started by: arun_maffy
6 Replies

7. Shell Programming and Scripting

Setting Environment variable from value in file

I've searched Google and now this forum. Best guess is my search fu is not good (and it probably isn't). The Google search did bring me here. Background I have a number of Korn Shell scripts who all use one of 3 values for an environment variable used in the backup system. On occasion one or... (8 Replies)
Discussion started by: WolfBrother
8 Replies

8. Programming

Setting Environment variable..!

Hi, I already have one CPP program which invokes the C program.And the C program contains whole function definitions..!This is a working program..I have to enable the logs in both CPP as well as in the C program ..!So I am reading the enviornmental variable log path from the CPP and doing the... (2 Replies)
Discussion started by: Kattoor
2 Replies

9. UNIX for Dummies Questions & Answers

setting environment variable in awk

Dear all, I have a data sample... Dose: Summed ROI: Bladder ************************** Bin Dose Volume 001 0.700 100.000 002 0.715 99.998 168 3.142 0.368 169 3.157 0.338 170 3.171 0.292 Dose: Summed ROI:... (2 Replies)
Discussion started by: tintin72
2 Replies

10. Programming

Setting Environment Variable date

Hi to all... I'm currently running a C++ program in Unix environment and it is dependent to a Unix environment variable with a date value. ex: echo $DateToday 20060403 I want to change that date in my C++ program, changing the value date to 20061120 and revert back to original... (6 Replies)
Discussion started by: d3ck_tm
6 Replies
Login or Register to Ask a Question