|
|
1.1 ! root 1: #include "f2c.h" ! 2: #include "fio.h" ! 3: #include "lio.h" ! 4: #include "fmt.h" ! 5: ! 6: #ifdef KR_headers ! 7: x_wsne(a) cilist *a; ! 8: #else ! 9: #include "string.h" ! 10: ! 11: VOID ! 12: x_wsne(cilist *a) ! 13: #endif ! 14: { ! 15: Namelist *nl; ! 16: char *s; ! 17: Vardesc *v, **vd, **vde; ! 18: ftnint *number, type; ! 19: ftnlen *dims; ! 20: ftnlen size; ! 21: static ftnint one = 1; ! 22: extern ftnlen f__typesize[]; ! 23: ! 24: nl = (Namelist *)a->cifmt; ! 25: PUT('&'); ! 26: for(s = nl->name; *s; s++) ! 27: PUT(*s); ! 28: PUT(' '); ! 29: vd = nl->vars; ! 30: vde = vd + nl->nvars; ! 31: while(vd < vde) { ! 32: v = *vd++; ! 33: s = v->name; ! 34: if (f__recpos+strlen(s)+2 >= L_len) ! 35: (*f__donewrec)(); ! 36: while(*s) ! 37: PUT(*s++); ! 38: PUT(' '); ! 39: PUT('='); ! 40: number = (dims = v->dims) ? dims + 1 : &one; ! 41: type = v->type; ! 42: if (type < 0) { ! 43: size = -type; ! 44: type = TYCHAR; ! 45: } ! 46: else ! 47: size = f__typesize[type]; ! 48: l_write(number, v->addr, size, type); ! 49: if (vd < vde) { ! 50: if (f__recpos+2 >= L_len) ! 51: (*f__donewrec)(); ! 52: PUT(','); ! 53: PUT(' '); ! 54: } ! 55: else if (f__recpos+1 >= L_len) ! 56: (*f__donewrec)(); ! 57: } ! 58: PUT('/'); ! 59: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.