File: ext_help.h

package info (click to toggle)
thin 1.8.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,336 kB
  • sloc: javascript: 6,108; ruby: 5,039; ansic: 1,738; sh: 83; makefile: 11
file content (14 lines) | stat: -rw-r--r-- 489 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#ifndef ext_help_h
#define ext_help_h

#define RAISE_NOT_NULL(T) if(T == NULL) rb_raise(rb_eArgError, "NULL found for " # T " when shouldn't be.");
#define DATA_GET(from,type,name) Data_Get_Struct(from,type,name); RAISE_NOT_NULL(name);
#define REQUIRE_TYPE(V, T) if(TYPE(V) != T) rb_raise(rb_eTypeError, "Wrong argument type for " # V " required " # T);

#ifdef DEBUG
#define TRACE()  fprintf(stderr, "> %s:%d:%s\n", __FILE__, __LINE__, __FUNCTION__)
#else
#define TRACE() 
#endif

#endif