This is errdebug.h in view mode; [Download] [Up]
#ifdef DEBUG #import <stdio.h> extern int ck_level; #define STRDBG(string) STRNDBG(string, sizeof(string)) #ifdef __OBJC__ #import <appkit/Application.h> int ck_dbg(int, id, SEL); #define DBG(flag,dbgfunc) \ {if(ck_dbg(flag,self,_cmd)) {\ fprintf(stderr,"DBG%d: \"%s\" %s (%d)\n",flag,\ (char *)[self name],(char *)sel_getName(_cmd),(int)_cmd);\ fprintf(stderr,"DBG%d: ",flag);dbgfunc;\ fprintf(stderr,"\n");\ }} #define STRNDBG(string, len) \ {if(strlen(string) + 1 > len) {\ fprintf(stderr,"DBG: \"%s\" %s (%d) string overflow\n",\ (char *)[self name],(char *)sel_getName(_cmd),(int)_cmd);\ [NXApp terminate:self];\ }} #else __OBJC__ #define DBG(flag,dbgfunc) \ {if(flag<=ck_level) {\ fprintf(stderr,"DBG%d: file:%s line:%d\n",flag,\ __FILE__, __LINE__);\ fprintf(stderr,"DBG%d: ",flag);dbgfunc;\ fprintf(stderr,"\n");\ }} #define STRNDBG(string, len) \ {if(strlen(string) + 1 > len) {\ fprintf(stderr,"DBG: file:%s line:%d string overflow\n",\ __FILE__, __LINE__);\ exit(-1);\ }} #endif __OBJ__ #else DEBUG #define DBG(x,x) #define STRNDBG(x,x) #define STRDBG(x) #endif DEBUG
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.