Diff for /parser3/src/main/execute.C between versions 1.312 and 1.315

version 1.312, 2005/08/08 08:41:51 version 1.315, 2006/04/09 13:38:47
Line 1 Line 1
 /** @file  /** @file
         Parser: executor part of request class.          Parser: executor part of request class.
   
         Copyright (c) 2001-2004 ArtLebedev Group (http://www.artlebedev.com)          Copyright (c) 2001-2005 ArtLebedev Group (http://www.artlebedev.com)
         Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)          Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
 */  */
   
Line 113  void Request::execute(ArrayOperation& op Line 113  void Request::execute(ArrayOperation& op
         debug_printf(sapi_info, "execution-------------------------\n");          debug_printf(sapi_info, "execution-------------------------\n");
 #endif  #endif
         for(Array_iterator<Operation> i(ops); i.has_next(); ) {          for(Array_iterator<Operation> i(ops); i.has_next(); ) {
                   if(get_skip())
                           return;
                 if(get_interrupted()) {                  if(get_interrupted()) {
                         set_interrupted(false);                          set_interrupted(false);
                         throw Exception("parser.interrupted",                          throw Exception("parser.interrupted",
Line 548  void Request::execute(ArrayOperation& op Line 550  void Request::execute(ArrayOperation& op
                 case OP_FEXISTS:                  case OP_FEXISTS:
                         {                          {
                                 Value& a=stack.pop().value();                                  Value& a=stack.pop().value();
                                 Value& value=*new VBool(file_readable(absolute(a.as_string())));                                  Value& value=*new VBool(file_exist(absolute(a.as_string())));
                                 stack.push(value);                                  stack.push(value);
                                 break;                                  break;
                         }                          }
                 case OP_DEXISTS:                  case OP_DEXISTS:
                         {                          {
                                 Value& a=stack.pop().value();                                  Value& a=stack.pop().value();
                                 Value& value=*new VBool(dir_readable(absolute(a.as_string())));                                  Value& value=*new VBool(dir_exists(absolute(a.as_string())));
                                 stack.push(value);                                  stack.push(value);
                                 break;                                  break;
                         }                          }

Removed from v.1.312  
changed lines
  Added in v.1.315


E-mail: