/* vi: set tabstop=4 shiftwidth=4 */
#include <stdio.h>
#include "config.h"
/*
* $Id: error.h,v 2.1 2005/06/17 20:48:15 schweikh Exp $
*/
#include <stdio.h> /* FILE */
void /*@unused@*/
err_ret (const char *, ...)
/*@globals stderr,fileSystem,internalState@*/
/*@modifies *stderr,fileSystem@*/;
/*@exits@*/ /*@unused@*/ void
err_sys (const char *, ...)
/*@globals stderr,fileSystem,internalState@*/
/*@modifies *stderr,fileSystem@*/;
/*@exits@*/ /*@unused@*/ void
err_dump (const char *, ...)
/*@globals stderr,fileSystem,internalState@*/
/*@modifies *stderr,fileSystem@*/;
void /*@unused@*/
err_msg (const char *, ...)
/*@globals stderr,fileSystem,internalState@*/
/*@modifies *stderr,fileSystem@*/;
/*@exits@*/ /*@unused@*/ void
err_quit (const char *, ...)
/*@globals stderr,fileSystem,internalState@*/
/*@modifies *stderr,fileSystem@*/;
void /*@unused@*/
set_progname (char *, char *)
/*@globals internalState@*/
/*@modifies internalState@*/;
char *
err_progname (FILE *fp)
/*@globals stderr,fileSystem,internalState@*/
/*@modifies *fp,fileSystem@*/;
void /*@unused@*/ /*@printflike@*/
cfprintf (FILE *fp, const char *, ...)
/*@globals stderr,fileSystem,internalState@*/
/*@modifies *fp,*stderr,fileSystem@*/;
/*@observer@*/ char /*@unused@*/ *
program_name (void)
/*@globals internalState@*/;
/* If MALLOC_DEBUG, write debug info to this file. */
#define DEBUG_FILE "debug.out"
/* first arg for error() and warn() */
#define E_MSG 0 /* just warn, without perror */
#define E_PERROR 1 /* with perror */
#define E_ABORT 2 /* inconsistency: abort */
#if MALLOC_DEBUG
#define xmalloc(s) \
xxmalloc ((size_t)(s), __FILE__, __LINE__)
#define xcalloc(n, s) \
xxcalloc ((size_t)(n), (size_t)(s), __FILE__, __LINE__)
#define xrealloc(p, s) \
xxrealloc ((p), (size_t)(s), __FILE__, __LINE__)
#define xfree(p) \
xxfree ((p), __FILE__, __LINE__)
#else
#define xmalloc(s) xxmalloc ((size_t)(s))
#define xcalloc(n, s) xxcalloc ((size_t)(n), (size_t)(s))
#define xrealloc(p, s) xxrealloc ((p), (size_t)(s))
#define xfree(p) xxfree (p)
#endif
extern long alloc_free;
/*@out@*//*@only@*/
void *
#if MALLOC_DEBUG
xxmalloc (size_t, char *, int);
#else
xxmalloc (size_t);
#endif
/*@out@*//*@only@*/
void *
#if MALLOC_DEBUG
xxcalloc (size_t, size_t, char *, int);
#else
xxcalloc (size_t, size_t);
#endif
/*@only@*/ void *
#if MALLOC_DEBUG
xxrealloc (/*@null@*//*@only@*//*@out@*//*@returned@*/
void *, size_t, char *, int);
#else
xxrealloc (/*@null@*//*@only@*//*@out@*//*@returned@*/
void *, size_t);
#endif
void
#if MALLOC_DEBUG
xxfree (/*@null@*//*@out@*//*@only@*/ void *, char *, int);
#else
xxfree (/*@null@*//*@out@*//*@only@*/ void *);
#endif
/*@falseexit@*/ void
check (int);
/*@falseexit@*/ void
check_sys (int);
#define check(x) \
do { \
if ((x) == 0) { \
warn (0, "check in '" __FILE__ \
"', line %d:", __LINE__); \
error (0, " '%s' is false", #x); \
} \
} while (0)
#define check_sys(x) \
do { \
if ((x) == 0) { \
warn (0, "check in '" __FILE__ \
"', line %d:", __LINE__); \
error (E_PERROR, " '%s' is false", #x); \
} \
} while (0)
void
/*@exits@*/
/*@printflike@*/
error (int, const char *,...);
void /*@printflike@*/
warn (int, const char *,...);
syntax highlighted by Code2HTML, v. 0.9.1