Doxygen Source Code Documentation
xwsne.c File Reference
#include "f2c.h"
#include "fio.h"
#include "lio.h"
#include "fmt.h"
#include "string.h"
Go to the source code of this file.
Functions | |
VOID | nl_donewrec (Void) |
VOID | x_wsne (cilist *a) |
Variables | |
int | f__Aquote |
Function Documentation
|
Definition at line 9 of file xwsne.c. References PUT. Referenced by x_wsne().
00010 { 00011 (*f__donewrec)(); 00012 PUT(' '); 00013 } |
|
Definition at line 21 of file xwsne.c. References Vardesc::addr, cilist::cifmt, Vardesc::dims, f__Aquote, l_write(), Vardesc::name, Namelist::name, nl_donewrec(), Namelist::nvars, PUT, Vardesc::type, v, and Namelist::vars. Referenced by s_wsne(), and s_wsni().
00023 { 00024 Namelist *nl; 00025 char *s; 00026 Vardesc *v, **vd, **vde; 00027 ftnint *number, type; 00028 ftnlen *dims; 00029 ftnlen size; 00030 static ftnint one = 1; 00031 extern ftnlen f__typesize[]; 00032 00033 nl = (Namelist *)a->cifmt; 00034 PUT('&'); 00035 for(s = nl->name; *s; s++) 00036 PUT(*s); 00037 PUT(' '); 00038 f__Aquote = 1; 00039 vd = nl->vars; 00040 vde = vd + nl->nvars; 00041 while(vd < vde) { 00042 v = *vd++; 00043 s = v->name; 00044 #ifdef No_Extra_Namelist_Newlines 00045 if (f__recpos+strlen(s)+2 >= L_len) 00046 #endif 00047 nl_donewrec(); 00048 while(*s) 00049 PUT(*s++); 00050 PUT(' '); 00051 PUT('='); 00052 number = (dims = v->dims) ? dims + 1 : &one; 00053 type = v->type; 00054 if (type < 0) { 00055 size = -type; 00056 type = TYCHAR; 00057 } 00058 else 00059 size = f__typesize[type]; 00060 l_write(number, v->addr, size, type); 00061 if (vd < vde) { 00062 if (f__recpos+2 >= L_len) 00063 nl_donewrec(); 00064 PUT(','); 00065 PUT(' '); 00066 } 00067 else if (f__recpos+1 >= L_len) 00068 nl_donewrec(); 00069 } 00070 f__Aquote = 0; 00071 PUT('/'); 00072 } |
Variable Documentation
|
Definition at line 6 of file xwsne.c. Referenced by x_wsne(). |