backport to buster
[hcoop/debian/openafs.git] / src / opr / assert.c
CommitLineData
805e021f
CE
1#include <afsconfig.h>
2#include <afs/param.h>
3
4#include <roken.h>
5#include "opr.h"
6
7#ifdef AFS_NT40_ENV
8void
9opr_NTAbort(void)
10{
11 DebugBreak();
12}
13#endif
14
15#define TIMESTAMP_BUFFER_SIZE 26 /* including the null */
16void
17opr_AssertionFailed(const char *file, int line)
18{
19 char tdate[TIMESTAMP_BUFFER_SIZE];
20 time_t when;
21 struct tm tm;
22
23 when = time(NULL);
24 strftime(tdate, sizeof(tdate), "%a %b %d %H:%M:%S %Y",
25 localtime_r(&when, &tm));
26 fprintf(stderr, "%s Assertion failed! file %s, line %d.\n", tdate, file,
27 line);
28 fflush(stderr);
29 opr_abort();
30}
31
32void
33opr_AssertFailU(const char *expr, const char *file, int line)
34{
35 fprintf(stderr, "Fatal Rx error: assertion failed: %s, "
36 "file: %s, line: %d\n",
37 expr, file, line);
38 fflush(stderr);
39 fflush(stdout);
40 opr_abort();
41}
42