summaryrefslogtreecommitdiffstats
path: root/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.cpp')
-rw-r--r--src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.cpp b/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.cpp
index 5e66c68..133925e 100644
--- a/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.cpp
+++ b/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.cpp
@@ -196,11 +196,8 @@ foreign_t SWIDataModel::inPredicate(term_t a0, int arity, void* context) {
try {
char *s;
if ( PL_get_atom_chars(a0, &s) ) {
- NodeSet<std::string> config = _dmPtr->_interpreter->getConfiguration();
- for (int i = 0; i < config.size(); i++) {
- if (HAS_ATTR(config[i], "id") && strcmp(ATTR(config[i], "id").c_str(), s) == 0) {
- return TRUE;
- }
+ if (_dmPtr->_interpreter->isInState(s)) {
+ return true;
}
}
return FALSE;