File tree 1 file changed +20
-1
lines changed
1 file changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -81,8 +81,27 @@ rcutils_get_env(const char * env_name, const char ** env_value)
81
81
return "argument env_value is null" ;
82
82
}
83
83
84
- // TODO(Suyash458): getenv is deprecated on Windows; consider using getenv_s instead
84
+ #ifdef _WIN32
85
+ size_t requiredSize = 0 ;
86
+ char * buffer = NULL ;
87
+ if (getenv_s (& requiredSize , NULL , 0 , env_name ) == 0 && requiredSize > 0 ) {
88
+ buffer = (char * )malloc (requiredSize * sizeof (char ));
89
+ if (buffer != NULL ) {
90
+ if (getenv_s (& requiredSize , buffer , requiredSize , env_name ) == 0 ) {
91
+ * env_value = buffer ;
92
+ } else {
93
+ free (buffer );
94
+ * env_value = NULL ;
95
+ }
96
+ } else {
97
+ * env_value = NULL ;
98
+ }
99
+ } else {
100
+ * env_value = NULL ;
101
+ }
102
+ #else
85
103
* env_value = getenv (env_name );
104
+ #endif
86
105
87
106
if (NULL == * env_value ) {
88
107
* env_value = "" ;
You can’t perform that action at this time.
0 commit comments