void list_formatted_write (st_parameter_dt *dtp, bt type, void *p, int kind, size_t size, size_t nelems) { size_t elem; char *tmp; tmp = (char *) p; /* Big loop over all the elements. */ for (elem = 0; elem < nelems; elem++) { dtp->u.p.item_count++; list_formatted_write_scalar (dtp, type, tmp + size*elem, kind, size); } }
void list_formatted_write (st_parameter_dt *dtp, bt type, void *p, int kind, size_t size, size_t nelems) { size_t elem; char *tmp; size_t stride = type == BT_CHARACTER ? size * GFC_SIZE_OF_CHAR_KIND(kind) : size; tmp = (char *) p; /* Big loop over all the elements. */ for (elem = 0; elem < nelems; elem++) { dtp->u.p.item_count++; list_formatted_write_scalar (dtp, type, tmp + elem * stride, kind, size); } }