Diff for /parser3/src/main/execute.C between versions 1.408 and 1.412

version 1.408, 2020/10/27 21:25:25 version 1.412, 2020/12/15 17:10:34
Line 1 Line 1
 /** @file  /** @file
         Parser: executor part of request class.          Parser: executor part of request class.
   
         Copyright (c) 2001-2017 Art. Lebedev Studio (http://www.artlebedev.com)          Copyright (c) 2001-2020 Art. Lebedev Studio (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 928  void Request::execute(ArrayOperation& op Line 928  void Request::execute(ArrayOperation& op
                 case OP::OP_FEXISTS:                  case OP::OP_FEXISTS:
                         {                          {
                                 Value& a=stack.pop().value();                                  Value& a=stack.pop().value();
                                 Value& value=VBool::get(file_exist(absolute(a.as_string())));                                  Value& value=VBool::get(file_exist(full_disk_path(a.as_string())));
                                 stack.push(value);                                  stack.push(value);
                                 break;                                  break;
                         }                          }
                 case OP::OP_DEXISTS:                  case OP::OP_DEXISTS:
                         {                          {
                                 Value& a=stack.pop().value();                                  Value& a=stack.pop().value();
                                 Value& value=VBool::get(dir_exists(absolute(a.as_string())));                                  Value& value=VBool::get(dir_exists(full_disk_path(a.as_string())));
                                 stack.push(value);                                  stack.push(value);
                                 break;                                  break;
                         }                          }
Line 1447  const String* Request::execute_method(VS Line 1447  const String* Request::execute_method(VS
   
                         call(frame);                          call(frame);
                   
                         return &frame.as_string();                          Value &result=frame.result();
                           if(const String* sresult=result.get_string()){
                                   return sresult;
                           }
                           result.bark("is '%s', it has no string representation", &method_name);
                 });                  });
         }          }
         return 0;          return 0;

Removed from v.1.408  
changed lines
  Added in v.1.412


E-mail: