summaryrefslogtreecommitdiff
path: root/gnu/lib/libf2c/libI77/ilnw.c
blob: 0a92a0cbac2c32ee2bc35d2881bbf3459bd252ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include "config.h"
#include "f2c.h"
#include "fio.h"
#include "lio.h"
extern char *f__icptr;
extern char *f__icend;
extern icilist *f__svic;
extern int f__icnum;
extern void z_putc (int);

static int
z_wSL (void)
{
  while (f__recpos < f__svic->icirlen)
    z_putc (' ');
  return z_rnew ();
}

static void
c_liw (icilist * a)
{
  f__reading = 0;
  f__external = 0;
  f__formatted = 1;
  f__putn = z_putc;
  L_len = a->icirlen;
  f__donewrec = z_wSL;
  f__svic = a;
  f__icnum = f__recpos = 0;
  f__cursor = 0;
  f__cf = 0;
  f__curunit = 0;
  f__icptr = a->iciunit;
  f__icend = f__icptr + a->icirlen * a->icirnum;
  f__elist = (cilist *) a;
}

integer
s_wsni (icilist * a)
{
  cilist ca;

  if (f__init != 1)
    f_init ();
  f__init = 3;
  c_liw (a);
  ca.cifmt = a->icifmt;
  x_wsne (&ca);
  z_wSL ();
  return 0;
}

integer
s_wsli (icilist * a)
{
  if (f__init != 1)
    f_init ();
  f__init = 3;
  f__lioproc = l_write;
  c_liw (a);
  return (0);
}

integer
e_wsli (void)
{
  f__init = 1;
  z_wSL ();
  return (0);
}