Example #1
0
int
s_xsue_mp (cilist *a, unit **fu)
#endif
{
   unit *ftnunit;
   (void) wsue(a, fu);
   ftnunit = *fu;

   ftnunit->f77idxlist.cimatch = a->cimatch;
   ftnunit->f77idxlist.cikeytype = a->cikeytype;
   ftnunit->f77idxlist.cikeyval.cicharval = a->cikeyval.cicharval;
   ftnunit->f77idxlist.cikeyid = a->cikeyid;
   ftnunit->f77idxlist.cinml = a->cinml;
   ftnunit->f77idxlist.cikeyvallen = a->cikeyvallen;
   if (ftnunit->uacc != KEYED)
      err (a->cierr, 162, "rewrite");
   return 0;
}
Example #2
0
static int
s_wsue_com (cilist64 *a, unit **fu)
{
    unit		  *ftnunit;
    int             n;

    n = wsue(a, fu);
    ftnunit = *fu;
    if (n) {
        errret(a->cierr, n, "s_wsue");
    }
    if (ftnunit->uacc == KEYED) {
        ftnunit->f77idxlist.cimatch = a->cimatch;
        ftnunit->f77idxlist.cikeytype = a->cikeytype;
        ftnunit->f77idxlist.cikeyval.cicharval = a->cikeyval.cicharval;
        ftnunit->f77idxlist.cikeyid = a->cikeyid;
        ftnunit->f77idxlist.cinml = a->cinml;
        ftnunit->f77idxlist.cikeyvallen = a->cikeyvallen;
        ftnunit->f77do_unf = do_ui;
    }
    else {
        if (ftnunit->uacc == DIRECT) {
            ftnunit->f77recpos = 0;
            ftnunit->f77do_unf = do_ud;
            _fio_seq_pos( ftnunit->ufd, ftnunit );
        } else {
            if (ftnunit->uwrt != WR_READY && f77nowwriting (ftnunit))
                errret(a->cierr, 160, "startwrt");
            est_reclen = ftnunit->f77reclen = 0;
            ftnunit->overflowed = 0;
            ftnunit->f77recpos = 4;
            ftnunit->f77do_unf = do_us;
            if (ftnunit->uerror)
                unf_position (ftnunit->ufd, ftnunit);
        }
    }
    return 0;
}