Browse Source

fixed: the exception for if-index in pattern (when caching is used)

git-svn-id: svn://ttmath.org/publicrep/ezc/trunk@332 e52654a7-88a9-db11-a3e9-0013d4bc506e
master
Tomasz Sowa 11 years ago
parent
commit
3c85fa1a75
  1. 4
      src/funinfo.h
  2. 32
      src/pattern.h

4
src/funinfo.h

@ -36,8 +36,8 @@
*/
#ifndef headerfile_ezc_info
#define headerfile_ezc_info
#ifndef headerfile_ezc_funinfo
#define headerfile_ezc_funinfo
#include <vector>

32
src/pattern.h

@ -217,27 +217,27 @@ private:
{
typename Functions<StreamType>::Function * ezc_fun;
for(size_t f = 0; f < item.functions.size() ; ++f)
// one exception (if_index is putting its argument on the functions stack)
if( item.type != Item::item_ifindex )
{
if( fun.Find(item.functions[f].name, &ezc_fun) )
for(size_t f=0; f < item.functions.size() ; ++f)
{
item.functions[f].fun_cache = ezc_fun;
if( fun.Find(item.functions[f].name, &ezc_fun) )
{
item.functions[f].fun_cache = ezc_fun;
}
else
{
item.functions[f].fun_cache = 0;
#ifdef EZC_USE_WINIX_LOGGER
log << log1 << "Ezc: unknown function: " << item.functions[f].name << logend;
#endif
}
}
else
{
item.functions[f].fun_cache = 0;
#ifdef EZC_USE_WINIX_LOGGER
log << log1 << "Ezc: unknown function: " << item.functions[f].name << logend;
#endif
}
// one exception (if_index is putting its argument on the functions stack)
if( item.type == Item::item_ifindex )
break;
}
for(size_t i = 0; i < item.item_tab.size() ; ++i)
for(size_t i=0; i < item.item_tab.size() ; ++i)
CacheFunctions(*item.item_tab[i], fun);
}

Loading…
Cancel
Save