void introuble2_ASL(ASL *asl, const char *who, real a, real b, int jv) { static const char fmt[] = "can't evaluate %s(%g,%g).\n"; #ifndef ASL_OLD_DERIV_CHECK /*{*/ DerrRecord *R; if (jv > 1 && !(want_deriv & 2)) { if ((R = getDR(asl))) { R->errprint = derrprint2; R->a = a; R->u.b = b; R->jv = jv; R->fmt = fmt; R->who = who; } return; } #endif /*}*/ jmp_check(err_jmp, jv); report_where(asl); Errprint(fmt, who, a, b); jmp_check(err_jmp1, jv); exit(1); }
introuble2(who, a, b, jv K_ASL) char *who; real a; real b; int jv; D_ASL #else introuble2(char *who, real a, real b, int jv A_ASL) #endif { char buf[96]; jmp_check(err_jmp, jv); report_where(asl); snprintf(buf, sizeof(buf), "can't evaluate %s(%g,%g)", who, a, b); Errprint(buf); jmp_check(err_jmp1, jv); exit(1); }