_f_int4 _verify90(char *str1, _f_int4 len1, char *str2, _f_int4 len2, _f_int4 back) { _f_int4 back1 = back; return (_F90_VERIFY(str1, str2, &back1, len1, len2)); }
/* Fortran character verify */ int ar_verify (ar_data *result, const AR_TYPE *resulttype, const char *str1, long len1, const char *str2, long len2, long backward) { long index; long back = backward; extern long _F90_VERIFY(const char *st1, const char *st2, long *back, int len1, int len2); index = _F90_VERIFY(str1, str2, &back, len1, len2); result->ar_i64.part1 = 0; result->ar_i64.part2 = 0; result->ar_i64.part3 = index>>16; result->ar_i64.part4 = index & 0xffff; status = AR_STAT_OK; switch (*resulttype) { case AR_Int_8_S: if (( INT8_SIGN(result) && !IS_INT8_UPPER_ONES(result)) || (!INT8_SIGN(result) && !IS_INT8_UPPER_ZERO(result))) { return AR_STAT_OVERFLOW; } break; case AR_Int_16_S: if (( INT16_SIGN(result) && !IS_INT16_UPPER_ONES(result)) || (!INT16_SIGN(result) && !IS_INT16_UPPER_ZERO(result))) { return AR_STAT_OVERFLOW; } break; case AR_Int_32_S: if (( INT32_SIGN(result) && !IS_INT32_UPPER_ONES(result)) || (!INT32_SIGN(result) && !IS_INT32_UPPER_ZERO(result))) { return AR_STAT_OVERFLOW; } break; case AR_Int_64_S: break; default: return AR_STAT_INVALID_TYPE; } WORD_SWAP(result->ar_i64); return AR_status((AR_DATA*)result, resulttype); }