| 1981 | // |
| 1982 | |
| 1983 | static void gen_emodify(const act* action) |
| 1984 | { |
| 1985 | SCHAR s1[MAX_REF_SIZE], s2[MAX_REF_SIZE]; |
| 1986 | |
| 1987 | const upd* modify = (const upd*) action->act_object; |
| 1988 | |
| 1989 | for (const ref* reference = modify->upd_port->por_references; reference; |
| 1990 | reference = reference->ref_next) |
| 1991 | { |
| 1992 | const ref* source = reference->ref_source; |
| 1993 | if (!source) |
| 1994 | continue; |
| 1995 | const gpre_fld* field = reference->ref_field; |
| 1996 | gen_name(s1, source, true); |
| 1997 | gen_name(s2, reference, true); |
| 1998 | if (field->fld_dtype == dtype_blob || field->fld_dtype == dtype_quad || |
| 1999 | field->fld_dtype == dtype_date) |
| 2000 | { |
| 2001 | sprintf(output_buffer, "%sCALL isc_qtoq (%s, %s)\n", COLUMN, s1, s2); |
| 2002 | } |
| 2003 | else |
| 2004 | sprintf(output_buffer, "%s%s = %s\n", COLUMN, s2, s1); |
| 2005 | FTN_print_buffer(output_buffer); |
| 2006 | if (field->fld_array_info) |
| 2007 | gen_get_or_put_slice(action, reference, false); |
| 2008 | } |
| 2009 | |
| 2010 | gen_send(action, modify->upd_port); |
| 2011 | } |
| 2012 | |
| 2013 | |
| 2014 | //____________________________________________________________ |
no test coverage detected