maug
Quick and dirty C mini-augmentation library.
Modules | Files | Macros
Error Handling API
Collaboration diagram for Error Handling API:

Modules

 Return Values
 

Files

file  merror.h
 

Macros

#define merror_sz_to_retval(sz)   ((sz) * -1)
 
#define merror_retval_to_sz(retval)   ((retval) * -1)
 
#define maug_cleanup_if_null_msg(type, ptr, err, msg)
 
#define maug_cleanup_if_not_null(type, ptr, err)
 
#define maug_cleanup_if_null(type, ptr, err)    maug_cleanup_if_null_msg( type, ptr, err, "failed to allocate " #ptr "!" )
 
#define maug_cleanup_if_null_alloc(type, ptr)    maug_cleanup_if_null_msg( type, ptr, MERROR_ALLOC, "failed to allocate " #ptr "!" )
 
#define maug_cleanup_if_null_lock(type, ptr)    maug_cleanup_if_null_msg( type, ptr, MERROR_ALLOC, "failed to lock " #ptr "!" )
 
#define maug_cleanup_if_null_file(ptr)    maug_cleanup_if_null_msg( FILE*, ptr, MERROR_FILE, "failed to open FILE!" )
 
#define maug_cleanup_if_not_ok()
 
#define maug_cleanup_if_not_ok_msg(msg)
 
#define maug_cleanup_if_lt(a, b, fmt, err)
 
#define maug_cleanup_if_lt_overflow(a, b)    maug_cleanup_if_lt( a, b, SIZE_T_FMT, MERROR_OVERFLOW )
 
#define maug_cleanup_if_ge(a, b, fmt, err)
 
#define maug_cleanup_if_ge_overflow(a, b)    maug_cleanup_if_ge( a, (size_t)(b), SIZE_T_FMT, MERROR_OVERFLOW )
 
#define maug_cleanup_if_eq(a, b, fmt, err)
 
#define maug_cleanup_if_ne(a, b, fmt, err)
 

Detailed Description

Macro Definition Documentation

◆ maug_cleanup_if_eq

#define maug_cleanup_if_eq (   a,
  b,
  fmt,
  err 
)
Value:
if( (a) == (b) ) { \
error_printf( #a " " fmt " is equal to " #b " " fmt "!", a, b ); \
retval = err; \
goto cleanup; \
}

◆ maug_cleanup_if_ge

#define maug_cleanup_if_ge (   a,
  b,
  fmt,
  err 
)
Value:
if( (a) >= (b) ) { \
error_printf( fmt " is greater or equal to " fmt "!", a, b ); \
retval = err; \
goto cleanup; \
}

◆ maug_cleanup_if_lt

#define maug_cleanup_if_lt (   a,
  b,
  fmt,
  err 
)
Value:
if( (a) < (b) ) { \
error_printf( fmt " is less than " fmt "!", a, b ); \
retval = err; \
goto cleanup; \
}

◆ maug_cleanup_if_ne

#define maug_cleanup_if_ne (   a,
  b,
  fmt,
  err 
)
Value:
if( (a) != (b) ) { \
error_printf( #a " " fmt " is NOT equal to " #b " " fmt "!", a, b ); \
retval = err; \
goto cleanup; \
}

◆ maug_cleanup_if_not_null

#define maug_cleanup_if_not_null (   type,
  ptr,
  err 
)
Value:
if( (type)NULL == ptr ) { \
error_printf( #ptr " is not NULL!" ); \
retval = err; \
goto cleanup; \
}

◆ maug_cleanup_if_not_ok

#define maug_cleanup_if_not_ok ( )
Value:
if( MERROR_OK != retval ) { \
goto cleanup; \
}

◆ maug_cleanup_if_not_ok_msg

#define maug_cleanup_if_not_ok_msg (   msg)
Value:
if( MERROR_OK != retval ) { \
error_printf( msg ); \
goto cleanup; \
}

◆ maug_cleanup_if_null_msg

#define maug_cleanup_if_null_msg (   type,
  ptr,
  err,
  msg 
)
Value:
if( (type)NULL == ptr ) { \
error_printf( msg ); \
retval = err; \
goto cleanup; \
}