This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Functions | |
| void C2F() | mputi (integer *fd, integer *res, integer *n, char type[], integer *ierr) |
Definition at line 31 of file mputi.c.
References c1, fd, soundstream::fp, ft, ftf, GetFile(), GetSwap(), i, ierr, long, MPUTI, n, nc, res, sciprint(), SWAP, swap, swapl(), swapw(), type, val, wblong(), wbshort(), wllong(), and wlshort().
00032 { 00033 char c1,c2; 00034 int i,nc,swap; 00035 FILE *fa; 00036 ft_t ft; 00037 char *RES_c; 00038 unsigned char *RES_uc; 00039 unsigned long *RES_ul; 00040 unsigned short *RES_us; 00041 00042 RES_c=(char *)res; 00043 RES_uc=(unsigned char *)res; 00044 RES_ul=(unsigned long *)res; 00045 RES_us=(unsigned short *)res; 00046 00047 fa = GetFile(fd); 00048 swap = GetSwap(fd); 00049 ft = &ftf; 00050 ft->fp = fa; 00051 nc=strlen(type); 00052 if ( nc == 0) 00053 { 00054 sciprint("mputi : format is of 0 length \r\n",type); 00055 *ierr=1; 00056 return; 00057 } 00058 if (fa) 00059 { 00060 switch ( type[0] ) 00061 { 00062 case 'l' : 00063 swap=SWAP(type,fd); 00064 if(swap<0) {*ierr=1;return;} 00065 MPUTI(long,swapl); 00066 break; 00067 case 's' : 00068 swap=SWAP(type,fd); 00069 if(swap<0) {*ierr=1;return;} 00070 MPUTI(short,swapw); 00071 break; 00072 case 'c' : 00073 for ( i=0; i< *n; i++) 00074 { 00075 char val; 00076 val =(char) *RES_c++; 00077 fwrite(&val,sizeof(char),1,fa); 00078 } 00079 break; 00080 case 'u' : 00081 if ( strlen(type) > 1) c1=type[1] ; 00082 else c1=' '; 00083 00084 switch ( c1 ) 00085 { 00086 case 'b' : 00087 if ( strlen(type) > 2) c2=type[2]; 00088 else c2=' '; 00089 switch (c2 ) 00090 { 00091 case 'l' : 00092 /* Write long, big-endian: big end first. 00093 68000/SPARC style. */ 00094 for ( i=0; i< *n; i++) 00095 { 00096 unsigned long val; 00097 val =(unsigned long) *RES_ul++; 00098 wblong(ft, val); 00099 } 00100 break; 00101 case 's' : 00102 /* Write short, big-endian: big end first. 00103 68000/SPARC style. */ 00104 for ( i=0; i< *n; i++) 00105 { 00106 unsigned short val; 00107 val =(unsigned short) *RES_uc++; 00108 wbshort(ft,val); 00109 } 00110 break; 00111 00112 } 00113 break; 00114 case 'l' : 00115 if ( strlen(type) > 2) c2=type[2]; 00116 else c2=' '; 00117 switch ( c2 ) 00118 { 00119 case 'l' : 00120 /* Write long, little-endian: little end first. 00121 VAX/386 style.*/ 00122 for ( i=0; i< *n; i++) 00123 { 00124 unsigned long val; 00125 val =(unsigned long) *RES_ul++; 00126 wllong(ft, val); 00127 } 00128 break; 00129 case 's' : 00130 /* Write short, little-endian: little end first. 00131 VAX/386 style.*/ 00132 for ( i=0; i< *n; i++) 00133 { 00134 unsigned short val; 00135 val =(unsigned short) *RES_us++; 00136 wlshort(ft,val); 00137 } 00138 break; 00139 default: 00140 MPUTI(unsigned long,swapl); 00141 break; 00142 } 00143 break; 00144 case 's' : 00145 MPUTI(unsigned short,swapw); 00146 break; 00147 case 'c' : 00148 for ( i=0; i< *n; i++) 00149 { 00150 unsigned char val; 00151 val =(unsigned char) *RES_uc++; 00152 fwrite(&val,sizeof(unsigned char),1,fa); 00153 } 00154 break; 00155 default : 00156 sciprint("mputi : %s format not recognized \r\n",type); 00157 *ierr=1; 00158 return; 00159 } 00160 break; 00161 default : 00162 sciprint("mputi : %s format not recognized \r\n",type); 00163 *ierr=1; 00164 return; 00165 } 00166 *ierr = ferror(fa); 00167 return; 00168 } 00169 sciprint("No input file \r\n"); 00170 *ierr=1; 00171 }
Here is the call graph for this function:

1.5.1