mirror of
https://github.com/nasa/trick.git
synced 2024-12-20 13:43:10 +00:00
5065d96a15
* Pre-increment (rather than post-increment) STL iterators in for loops. #1594 * Fix a goof. #1594
55 lines
1.1 KiB
C++
55 lines
1.1 KiB
C++
|
|
#include <iostream>
|
|
#include <sstream>
|
|
#include <stdlib.h>
|
|
|
|
#include "trick/Environment.hh"
|
|
|
|
Trick::Environment * the_env ;
|
|
|
|
Trick::Environment::Environment() {
|
|
the_env = this ;
|
|
}
|
|
|
|
int Trick::Environment::add_var( std::string variable_name , std::string value ) {
|
|
|
|
local_env[variable_name] = value ;
|
|
|
|
return(0) ;
|
|
|
|
}
|
|
|
|
const char * Trick::Environment::get_var( std::string variable_name) {
|
|
|
|
char *ret_env;
|
|
std::map<std::string, std::string >::iterator it ;
|
|
|
|
/* var might be in environment */
|
|
if ((ret_env = getenv(variable_name.c_str())) != NULL) {
|
|
return (ret_env);
|
|
}
|
|
|
|
/* Check environment compiled into S_source.c */
|
|
it = local_env.find(variable_name) ;
|
|
if ( it != local_env.end() ) {
|
|
return( it->second.c_str() ) ;
|
|
}
|
|
|
|
/* It's not there! */
|
|
return (NULL);
|
|
|
|
}
|
|
|
|
int Trick::Environment::print_vars( FILE * fp ) {
|
|
|
|
std::map<std::string, std::string >::iterator it ;
|
|
|
|
for ( it = local_env.begin() ; it != local_env.end() ; ++it ) {
|
|
fprintf(fp, "%s = %s\n", it->first.c_str(), it->second.c_str());
|
|
}
|
|
|
|
return(0) ;
|
|
|
|
}
|
|
|