00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #pragma ident "@(#) libf/fio/fputc.c 92.2 08/20/99 13:51:31"
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069 #include "fio.h"
00070
00071 extern int fputc_(int *u, char *c, int clen);
00072 extern int __fputc_f90(int *u, char *c, int clen);
00073 extern _f_int fputcf90_(_f_int *u, char *c, int clen);
00074 extern _f_int8 fputcf90_8_(_f_int8 *u, char *c, int clen);
00075 extern _f_int8 fputcf90_8_4_(_f_int4 *u, char *c, int clen);
00076 extern _f_int4 fputcf90_4_8_(_f_int8 *u, char *c, int clen);
00077 extern int putc_(char *c, int clen);
00078 extern _f_int4 putcf90_(char *c, int clen);
00079 extern _f_int8 putcf90_8_(char *c, int clen);
00080
00081 int
00082 __fputc_f90(int *u, char *c, int clen)
00083 {
00084 return fputcf90_(u, c, clen);
00085 }
00086
00087 _f_int
00088 fputcf90_(_f_int *u, char *c, int clen)
00089 {
00090 _f_int res;
00091 struct fiostate cfs;
00092 unit *cup;
00093 unum_t unum;
00094 long inpbuf;
00095
00096 unum = *u;
00097 res = 0;
00098
00099
00100 STMT_BEGIN( unum, 0, T_WSF, NULL, &cfs, cup);
00101
00102 if (unum < 0 || !cup)
00103 return((errno=FEIVUNIT));
00104
00105
00106 inpbuf = (long) *c;
00107 if (_fwch(cup, &inpbuf, 1, PARTIAL) == -1)
00108 res = errno;
00109
00110
00111 STMT_END( cup, TF_WRITE, NULL, &cfs);
00112
00113 return(res);
00114 }
00115
00116 _f_int8
00117 fputcf90_8_(_f_int8 *u, char *c, int clen)
00118 {
00119 _f_int8 res;
00120 struct fiostate cfs;
00121 unit *cup;
00122 unum_t unum;
00123
00124 unum = *u;
00125 res = 0;
00126
00127
00128 STMT_BEGIN( unum, 0, T_WSF, NULL, &cfs, cup);
00129
00130 if (unum < 0 || !cup)
00131 return((errno=FEIVUNIT));
00132
00133 if (_fwch(cup, (long *)c, 1, PARTIAL) == -1)
00134 res = errno;
00135
00136
00137 STMT_END( cup, TF_WRITE, NULL, &cfs);
00138
00139 return(res);
00140 }
00141
00142 _f_int8
00143 fputcf90_8_4_(_f_int *u, char *c, int clen)
00144 {
00145 return (_f_int8) fputcf90_(u, c, clen);
00146 }
00147
00148 _f_int4
00149 fputcf90_4_8_(_f_int8 *u, char *c, int clen)
00150 {
00151 _f_int8 uunit;
00152 uunit = *u;
00153 return (_f_int4) fputcf90_8_(&uunit, c, clen);
00154 }
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178 int
00179 putc_(char *c, int clen)
00180 {
00181 int stdout_unit = 6;
00182 return fputc_(&stdout_unit, c, clen);
00183 }
00184
00185 _f_int4
00186 putcf90_(char *c, int clen)
00187 {
00188 _f_int4 res;
00189 struct fiostate cfs;
00190 unit *cup;
00191 unum_t unum = 6;
00192
00193 res = 0;
00194
00195
00196 STMT_BEGIN( unum, 0, T_WSF, NULL, &cfs, cup);
00197
00198 if (!cup)
00199 return((errno=FEIVUNIT));
00200
00201 if (_fwch(cup, (long *)c, 1, PARTIAL) == -1)
00202 res = errno;
00203
00204
00205 STMT_END( cup, TF_WRITE, NULL, &cfs);
00206
00207 return(res);
00208 }
00209
00210 _f_int8
00211 putcf90_8_(char *c, int clen)
00212 {
00213 _f_int8 res;
00214 struct fiostate cfs;
00215 unit *cup;
00216 unum_t unum = 6;
00217
00218 res = 0;
00219
00220
00221 STMT_BEGIN( unum, 0, T_WSF, NULL, &cfs, cup);
00222
00223 if (!cup)
00224 return((errno=FEIVUNIT));
00225
00226 if (_fwch(cup, (long *)c, 1, PARTIAL) == -1)
00227 res = errno;
00228
00229
00230 STMT_END( cup, TF_WRITE, NULL, &cfs);
00231
00232 return(res);
00233 }