7fd59977 |
1 | |
2 | #include <Xw_Extension.h> |
3 | |
4 | /* ifdef then trace on */ |
5 | #ifdef TRACE |
6 | #define TRACE_GET_ENV |
7 | #define TRACE_PUT_ENV |
8 | #endif |
9 | |
10 | /* |
11 | STATUS Xw_get_env (symbol,value,length): |
12 | char *symbol Symbol string to read |
13 | char *value return Symbol value to fill |
14 | int length Value max length in chars |
15 | |
16 | Get external Symbol value (Set by setenv UNIX) |
17 | |
18 | Returns ERROR if No symbol exist |
19 | or Length is too small for value |
20 | Returns SUCCESS if Successful |
21 | |
22 | STATUS Xw_put_env (symbol,value): |
23 | char *symbol Symbol string to write |
24 | char *value Symbol value to write |
25 | |
26 | Put external Symbol value (Set by putenv UNIX) |
27 | |
28 | Returns ERROR if symbol is empty |
29 | Returns SUCCESS if Successful |
30 | */ |
31 | |
32 | #ifdef XW_PROTOTYPE |
33 | XW_STATUS Xw_get_env (const char* symbol,char* value,int length) |
34 | #else |
35 | XW_STATUS Xw_get_env (symbol,value,length) |
36 | const char *symbol; |
37 | char *value ; |
38 | int length ; |
39 | #endif /*XW_PROTOTYPE*/ |
40 | { |
41 | char *string ; |
42 | |
43 | if( !(string = getenv (symbol)) ) { |
44 | if( Xw_get_trace() > 1 ) |
45 | printf("*UNDEFINED SYMBOL*Xw_get_env('%s',...)\n",symbol); |
46 | return (XW_ERROR); |
47 | } |
48 | |
49 | if( strlen(string) >= (unsigned int ) length ) return (XW_ERROR) ; |
50 | |
51 | strcpy(value,string) ; |
52 | |
53 | #ifdef TRACE_GET_ENV |
54 | if( Xw_get_trace() > 1 ) { |
55 | printf (" '%s' = Xw_get_env('%s','%s',%d)\n",value,symbol,string,length) ; |
56 | } |
57 | #endif |
58 | |
59 | return (XW_SUCCESS); |
60 | } |