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/fgetc.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
00070
00071 #include "fio.h"
00072
00073 extern int fgetc_(_f_int *u, char *c, int clen);
00074 extern int __fgetc_f90(_f_int *u, char *c, int clen);
00075 extern _f_int fgetcf90_(_f_int *u, char *c, int clen);
00076 extern _f_int8 fgetcf90_8_(_f_int8 *u, char *c, int clen);
00077 extern _f_int8 fgetcf90_8_4_(_f_int4 *u, char *c, int clen);
00078 extern _f_int4 fgetcf90_4_8_(_f_int8 *u, char *c, int clen);
00079 extern int getc_(char *c, int clen);
00080 extern _f_int4 getcf90_(char *c, int clen);
00081 extern _f_int8 getcf90_8_(char *c, int clen);
00082
00083 int
00084 __fgetc_f90(_f_int *u, char *c, int clen)
00085 {
00086 return fgetcf90_(u, c, clen);
00087 }
00088
00089 _f_int
00090 fgetcf90_(_f_int *u, char *c, int clen)
00091 {
00092 _f_int res;
00093 long buf;
00094 long status;
00095 struct fiostate cfs;
00096 unit *cup;
00097 unum_t unum;
00098
00099 unum = *u;
00100 res = 0;
00101
00102
00103 STMT_BEGIN( unum, 0, T_RSF, NULL, &cfs, cup);
00104
00105 if (unum < 0 || !cup)
00106 return((errno=FEIVUNIT));
00107
00108 if (_frch(cup, &buf, 1, PARTIAL, &status) == -1)
00109 res = errno;
00110
00111 *c = (char)buf;
00112
00113
00114 STMT_END( cup, TF_READ, NULL, &cfs);
00115
00116 return(res);
00117 }
00118
00119 _f_int8
00120 fgetcf90_8_(_f_int8 *u, char *c, int clen)
00121 {
00122 _f_int8 res;
00123 long status;
00124 struct fiostate cfs;
00125 unit *cup;
00126 unum_t unum;
00127
00128 unum = *u;
00129 res = 0;
00130
00131
00132 STMT_BEGIN( unum, 0, T_RSF, NULL, &cfs, cup);
00133
00134 if (unum < 0 || !cup)
00135 return((errno=FEIVUNIT));
00136
00137 if (_frch(cup, (long *)c, 1, PARTIAL, &status) == -1)
00138 res = errno;
00139
00140
00141 STMT_END( cup, TF_READ, NULL, &cfs);
00142
00143 return(res);
00144 }
00145
00146 _f_int8
00147 fgetcf90_8_4_(_f_int4 *u, char *c, int clen)
00148 {
00149 return (_f_int8)fgetcf90_(u, c, clen);
00150 }
00151
00152 _f_int4
00153 fgetcf90_4_8_(_f_int8 *u, char *c, int clen)
00154 {
00155 _f_int8 uunit;
00156 uunit = *u;
00157 return (_f_int4)fgetcf90_8_(&uunit, c, clen);
00158 }
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183 int
00184 getc_(char *c, int clen)
00185 {
00186 int stdin_unit = 5;
00187 return fgetc_(&stdin_unit, c, clen);
00188 }
00189
00190 _f_int4
00191 getcf90_(char *c, int clen)
00192 {
00193 _f_int4 res;
00194 long status;
00195 struct fiostate cfs;
00196 unit *cup;
00197 unum_t unum = 5;
00198
00199 res = 0;
00200
00201
00202 STMT_BEGIN( unum, 0, T_RSF, NULL, &cfs, cup);
00203
00204 if (!cup)
00205 return((errno=FEIVUNIT));
00206
00207 if (_frch(cup, (long *)c, 1, PARTIAL, &status) == -1)
00208 res = errno;
00209
00210
00211 STMT_END( cup, TF_READ, NULL, &cfs);
00212
00213 return(res);
00214 }
00215
00216 _f_int8
00217 getcf90_8_(char *c, int clen)
00218 {
00219 _f_int8 res;
00220 long status;
00221 struct fiostate cfs;
00222 unit *cup;
00223 unum_t unum = 5;
00224
00225 res = 0;
00226
00227
00228 STMT_BEGIN( unum, 0, T_RSF, NULL, &cfs, cup);
00229
00230 if (!cup)
00231 return((errno=FEIVUNIT));
00232
00233 if (_frch(cup, (long *)c, 1, PARTIAL, &status) == -1)
00234 res = errno;
00235
00236
00237 STMT_END( cup, TF_READ, NULL, &cfs);
00238
00239 return(res);
00240 }