/* * assert.c - diagnostics */ #include #include #ifndef __NBSD_LIBC #include #include #include void __bad_assertion(const char *mess) { panic("%s", mess); } #else /* NBSD_LIBC */ #include #include void __assert13(file, line, function, failedexpr) const char *file, *function, *failedexpr; int line; { (void)fprintf(stderr, "assertion \"%s\" failed: file \"%s\", line %d%s%s%s\n", failedexpr, file, line, function ? ", function \"" : "", function ? function : "", function ? "\"" : ""); abort(); /* NOTREACHED */ } void __assert(file, line, failedexpr) const char *file, *failedexpr; int line; { __assert13(file, line, NULL, failedexpr); /* NOTREACHED */ } #endif /* NBSD_LIBC */