Changeset 993 for code/branches/core2/src/orxonox/core/CommandExecutor.cc
- Timestamp:
- Apr 5, 2008, 3:40:10 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/core2/src/orxonox/core/CommandExecutor.cc
r972 r993 45 45 ConsoleCommandShortcutGeneric(keyword3, createExecutor((FunctorStatic*)0, "bind", AccessLevel::User)); 46 46 47 ConsoleCommandShortcutExtern(exec, AccessLevel::None); 48 49 void exec(const std::string& filename) 50 { 51 static std::set<std::string> executingFiles; 52 53 std::set<std::string>::const_iterator it = executingFiles.find(filename); 54 if (it != executingFiles.end()) 55 { 56 COUT(1) << "Error: Recurring exec command in \"" << filename << "\". Stopped execution." << std::endl; 57 return; 58 } 59 60 // Open the file 61 std::ifstream file; 62 file.open(filename.c_str(), std::fstream::in); 63 64 if (!file.is_open()) 65 { 66 COUT(1) << "Error: Couldn't execute file \"" << filename << "\"." << std::endl; 67 return; 68 } 69 70 executingFiles.insert(filename); 71 72 // Iterate through the file and put the lines into the CommandExecutor 73 char line[1024]; 74 while (file.good() && !file.eof()) 75 { 76 file.getline(line, 1024); 77 CommandExecutor::execute(line); 78 } 79 80 executingFiles.erase(filename); 81 } 82 47 83 48 84 ///////////////////////
Note: See TracChangeset
for help on using the changeset viewer.