|
|
| 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; |
| } | } |