trick/trick_source/sim_services/Environment/Environment.cpp
Alex Lin 19025d77ad Standardize directory names
Reorganized.  Created a new top level include directory that will hold all of Trick's header files. Moved all of the Trick headers to this directory.  Created a libexec directory that holds all of the executables that users don't need to execute directly.  Changed all of the executables remaining in bin to start with "trick-".  In the sim_services directories changed all source files to find the Trick headers in their new location.  Since all of the include files are gone in sim_services, removed the src directories as well, moving all of the source files up a level.  Moved the makefiles, docs, man, and other architecture independent files into a top level share directory.  Renamed lib_${TRICK_HOST_CPU} to lib64 or lib depending on the platform we're currently on.

refs #63
2015-06-09 08:44:42 -05:00

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) ;
}