summaryrefslogtreecommitdiff
path: root/sys/src/ape/lib/ap/gen/_assert.c
blob: e39e147a490536aa90122e86f98dc92900f3c9b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdlib.h>
#include <unistd.h>
#include <assert.h>

void
_assert(char *f, unsigned line)
{
	char buf[20], *p, *s = &buf[20];
	write(2, "assertion failed: file ", 23);
	for(p = f; *p; p++) continue;
	write(2, f, p-f);
	write(2, ":", 7);
	*--s = '\n';
	do *--s = line%10 + '0'; while (line /= 10);
	write(2, s, &buf[20] - s);
	abort();
	
}