1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
#ifndef __COMPAT_H__
#define __COMPAT_H__
#if __DEBUG
# define INLINE static inline
#else
# define INLINE static inline __attribute__((always_inline))
#endif
#if defined __has_attribute
# define HAS_ATTR(x) __has_attribute(x)
#else
# define HAS_ATTR(x) 0
#endif
#if HAS_ATTR(access)
# define ACCESS(...) __attribute__((access(__VA_ARGS__)))
#else
# define ACCESS(...)
#endif
#ifndef BENCODE_MALLOC
#define BENCODE_MALLOC malloc
#define BENCODE_FREE free
#endif
#include "str.h"
#endif
|