/*
* Copyright 2000, International Business Machines Corporation and others.
* All Rights Reserved.
- *
+ *
* This software has been released under the terms of the IBM Public
* License. For details, see the LICENSE file in the top-level source
* directory or online at http://www.openafs.org/dl/license10.html
#include <afsconfig.h>
#include <afs/param.h>
#include <stdlib.h>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#include <string.h>
-RCSID("$Header$");
#include <stdio.h>
+#include "afsutil.h"
#ifdef AFS_NT40_ENV
-void afs_NTAbort(void)
+void
+afs_NTAbort(void)
{
- _asm int 3h; /* always trap. */
+ DebugBreak();
}
#endif
+#define TIMESTAMP_BUFFER_SIZE 26 /* including the null */
+#define TIMESTAMP_NEWLINE_POS 24 /* offset to the newline placed by ctime */
-void AssertionFailed(char *file, int line)
+void
+AssertionFailed(char *file, int line)
{
- char tdate[26];
+ char tdate[TIMESTAMP_BUFFER_SIZE];
time_t when;
time(&when);
- strcpy(tdate, ctime(&when));
- tdate[24] = '0';
- fprintf(stderr, "%s: Assertion failed! file %s, line %d.\n",
- tdate, file, line);
+ (void)afs_ctime(&when, tdate, sizeof(tdate));
+ tdate[TIMESTAMP_NEWLINE_POS] = ' ';
+ fprintf(stderr, "%sAssertion failed! file %s, line %d.\n", tdate, file,
+ line);
fflush(stderr);
-#ifdef AFS_NT40_ENV
- afs_NTAbort();
-#else
- abort();
-#endif
+ afs_abort();
}
-