| 1964 | // |
| 1965 | |
| 1966 | static void gen_for( const act* action, int column) |
| 1967 | { |
| 1968 | gen_s_start(action, column); |
| 1969 | gpre_req* request = action->act_request; |
| 1970 | |
| 1971 | if (action->act_error || (action->act_flags & ACT_sql)) |
| 1972 | printa(column, "if isc_status(1) = 0 then"); |
| 1973 | |
| 1974 | printa(column, "loop"); |
| 1975 | column += INDENT; |
| 1976 | gen_receive(action, column, request->req_primary); |
| 1977 | |
| 1978 | TEXT s[MAX_REF_SIZE]; |
| 1979 | if (action->act_error || (action->act_flags & ACT_sql)) |
| 1980 | printa(column, "exit when (%s = 0) or (isc_status(1) /= 0);", |
| 1981 | gen_name(s, request->req_eof, true)); |
| 1982 | else |
| 1983 | printa(column, "exit when %s = 0;", gen_name(s, request->req_eof, true)); |
| 1984 | |
| 1985 | gpre_port* port = action->act_request->req_primary; |
| 1986 | if (port) |
| 1987 | { |
| 1988 | for (ref* reference = port->por_references; reference; reference = reference->ref_next) |
| 1989 | { |
| 1990 | if (reference->ref_field->fld_array_info) |
| 1991 | gen_get_or_put_slice(action, reference, true, column); |
| 1992 | } |
| 1993 | } |
| 1994 | } |
| 1995 | |
| 1996 | |
| 1997 | //____________________________________________________________ |
no test coverage detected