| 2001 | // |
| 2002 | |
| 2003 | static void gen_for( const act* action, int column) |
| 2004 | { |
| 2005 | gpre_port* port; |
| 2006 | const gpre_req* request; |
| 2007 | const ref* reference; |
| 2008 | |
| 2009 | gen_s_start(action, column); |
| 2010 | request = action->act_request; |
| 2011 | |
| 2012 | if (action->act_error || (action->act_flags & ACT_sql)) |
| 2013 | printa(column, "if gds__status[2] = 0 then begin"); |
| 2014 | |
| 2015 | TEXT s[MAX_REF_SIZE]; |
| 2016 | gen_receive(action, column, request->req_primary); |
| 2017 | if (action->act_error || (action->act_flags & ACT_sql)) |
| 2018 | printa(column, "while (%s <> 0) and (gds__status[2] = 0) do", |
| 2019 | gen_name(s, request->req_eof, true)); |
| 2020 | else |
| 2021 | printa(column, "while %s <> 0 do", |
| 2022 | gen_name(s, request->req_eof, true)); |
| 2023 | column += INDENT; |
| 2024 | begin(column); |
| 2025 | |
| 2026 | if (port = action->act_request->req_primary) |
| 2027 | for (reference = port->por_references; reference; reference = reference->ref_next) |
| 2028 | { |
| 2029 | if (reference->ref_field->fld_array_info) |
| 2030 | gen_get_or_put_slice(action, reference, true, column); |
| 2031 | } |
| 2032 | } |
| 2033 | |
| 2034 | |
| 2035 | //____________________________________________________________ |
no test coverage detected