File:  [Research Unix] / researchv10no / cmd / lcc / include / mc_sun / assert.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:21:35 2018 UTC (8 years, 1 month ago) by root
Branches: belllabs, MAIN
CVS tags: researchv10, HEAD
researchv10 Norman

#ifndef __ASSERT
#define __ASSERT

void assert(int);

static int _assert(char *e, char *file, unsigned line) {
	extern int write(int, char *, int);
	extern int sprintf(char *, const char *, ...);
	extern void abort(void);
	int i;
	char buf[256];

	sprintf(buf, "assertion failed: %s, file %s, line %d\n", e, file, line);
	for (i = 0; i < sizeof buf; i++)
		if (buf[i] == 0)
			break;
        write(2, buf, i);
	abort();
	return 0;
}
#endif /* __ASSERT */

#undef assert
#ifdef NDEBUG
#define assert(ignore) ((void)0)
#else
extern int _assert(char *, char *, unsigned);
#define assert(e) ((void)((e)||_assert(#e, __FILE__, __LINE__)))
#endif /* NDEBUG */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.