Couldn't find wdiff. Falling back to builtin diff colouring... libHX: headers diff between 3.12.1 and 3.13 versions
 defs.h   defs.h 
skipping to change at line 143 skipping to change at line 143
# define offsetof(type, member) \ # define offsetof(type, member) \
reinterpret_cast(long, &(static_cast(type *, NULL)-> member)) reinterpret_cast(long, &(static_cast(type *, NULL)-> member))
# endif # endif
# ifndef containerof # ifndef containerof
# define containerof(var, type, member) reinterpret_cast(type *, \ # define containerof(var, type, member) reinterpret_cast(type *, \
reinterpret_cast(char *, var) - offsetof(type, membe r)) reinterpret_cast(char *, var) - offsetof(type, membe r))
# endif # endif
#endif #endif
#if defined(__GNUC__) && !defined(__cplusplus) #if defined(__GNUC__) && !defined(__cplusplus)
/*
* If typeof @a stays the same through a demotion to pointer,
* @a cannot be an array.
*/
# define __array_size_check(a) BUILD_BUG_ON_EXPR(\ # define __array_size_check(a) BUILD_BUG_ON_EXPR(\
__builtin_types_compatible_p(__typeof__(a), __typeof__(&*(a) ))) __builtin_types_compatible_p(__typeof__(a), \
__typeof__(DEMOTE_TO_PTR(a))))
#else #else
# define __array_size_check(a) 0 # define __array_size_check(a) 0
#endif #endif
#ifndef ARRAY_SIZE #ifndef ARRAY_SIZE
# define ARRAY_SIZE(x) (sizeof(x) / sizeof(*(x)) + __array_size_check( x)) # define ARRAY_SIZE(x) (sizeof(x) / sizeof(*(x)) + __array_size_check( x))
#endif #endif
#ifndef BUILD_BUG_ON_EXPR #ifndef BUILD_BUG_ON_EXPR
# define BUILD_BUG_ON_EXPR(condition) (sizeof(char[1 - 2 * !!(conditio n)]) - 1) # define BUILD_BUG_ON_EXPR(condition) (sizeof(char[1 - 2 * !!(conditio n)]) - 1)
#endif #endif
#ifndef BUILD_BUG_ON #ifndef BUILD_BUG_ON
# define BUILD_BUG_ON(condition) ((void)BUILD_BUG_ON_EXPR(condition)) # define BUILD_BUG_ON(condition) ((void)BUILD_BUG_ON_EXPR(condition))
#endif #endif
#ifndef DEMOTE_TO_PTR
/*
* An alternative approach is also (p+0), but that does not ensure t hat
* @p is a pointer. Since functions "support" infinite dereferencing ,
* "&*" also works on them.
*/
# define DEMOTE_TO_PTR(p) (&*(p))
#endif
#ifndef O_BINARY #ifndef O_BINARY
# define O_BINARY 0 # define O_BINARY 0
#endif #endif
#ifndef S_IRUGO #ifndef S_IRUGO
# define S_IRUGO (S_IRUSR | S_IRGRP | S_IROTH) # define S_IRUGO (S_IRUSR | S_IRGRP | S_IROTH)
#endif #endif
#ifndef S_IWUGO #ifndef S_IWUGO
# define S_IWUGO (S_IWUSR | S_IWGRP | S_IWOTH) # define S_IWUGO (S_IWUSR | S_IWGRP | S_IWOTH)
#endif #endif
#ifndef S_IXUGO #ifndef S_IXUGO
 End of changes. 3 change blocks. 
1 lines changed or deleted 14 lines changed or added


 io.h   io.h 
skipping to change at line 23 skipping to change at line 23
#endif #endif
enum { enum {
HXF_UID = 1 << 0, HXF_UID = 1 << 0,
HXF_GID = 1 << 1, HXF_GID = 1 << 1,
HXF_KEEP = 1 << 2, HXF_KEEP = 1 << 2,
HX_REALPATH_NOFLAGS = 0, HX_REALPATH_NOFLAGS = 0,
HX_REALPATH_ABSOLUTE = 1 << 0, HX_REALPATH_ABSOLUTE = 1 << 0,
HX_REALPATH_SELF = 1 << 1, HX_REALPATH_SELF = 1 << 1,
HX_REALPATH_PARENT = 1 << 2, HX_REALPATH_PARENT = 1 << 2,
HX_REALPATH_SYMLINK = 1 << 3, /* HX_REALPATH_SYMLINK = 1 << 3, removed in v3.13, thus blocked */
HX_REALPATH_DEFAULT = HX_REALPATH_DEFAULT = HX_REALPATH_SELF | HX_REALPATH_PARENT,
HX_REALPATH_SELF | HX_REALPATH_PARENT | HX_REALPATH_SYMLINK,
}; };
struct HXdir; struct HXdir;
extern struct HXdir *HXdir_open(const char *); extern struct HXdir *HXdir_open(const char *);
extern const char *HXdir_read(struct HXdir *); extern const char *HXdir_read(struct HXdir *);
extern void HXdir_close(struct HXdir *); extern void HXdir_close(struct HXdir *);
extern int HX_copy_dir(const char *, const char *, unsigned int, ...); extern int HX_copy_dir(const char *, const char *, unsigned int, ...);
extern int HX_copy_file(const char *, const char *, unsigned int, ...); extern int HX_copy_file(const char *, const char *, unsigned int, ...);
extern int HX_mkdir(const char *, unsigned int); extern int HX_mkdir(const char *, unsigned int);
 End of changes. 1 change blocks. 
3 lines changed or deleted 2 lines changed or added


 misc.h   misc.h 
#ifndef _LIBHX_MISC_H #ifndef _LIBHX_MISC_H
#define _LIBHX_MISC_H 1 #define _LIBHX_MISC_H 1
#ifndef __cplusplus #ifndef __cplusplus
# include <limits.h> # include <limits.h>
# include <stdarg.h> # include <stdarg.h>
# include <stdbool.h>
# include <stdio.h> # include <stdio.h>
#else #else
# include <climits> # include <climits>
# include <cstdarg> # include <cstdarg>
# include <cstdio> # include <cstdio>
#endif #endif
#include <libHX/defs.h>
#include <libHX/io.h> #include <libHX/io.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* /*
* BITMAP.H * BITMAP.H
*/ */
#define __HXbitmap_bpq(type) \ #define __HXbitmap_bpq(type) \
skipping to change at line 35 skipping to change at line 37
(((bits) + __HXbitmap_bpq(type) - 1) / __HXbitmap_bpq(type)) (((bits) + __HXbitmap_bpq(type) - 1) / __HXbitmap_bpq(type))
#define __HXbitmap_quant(map, bit) \ #define __HXbitmap_quant(map, bit) \
((map)[(bit) / __HXbitmap_bpq(*(map))]) ((map)[(bit) / __HXbitmap_bpq(*(map))])
#define HXbitmap_set(map, bit) \ #define HXbitmap_set(map, bit) \
((void)(__HXbitmap_quant((map), (bit)) |= (1ULL << ((bit) % __HXbitm ap_bpq(*(map)))))) ((void)(__HXbitmap_quant((map), (bit)) |= (1ULL << ((bit) % __HXbitm ap_bpq(*(map))))))
#define HXbitmap_clear(map, bit) \ #define HXbitmap_clear(map, bit) \
((void)(__HXbitmap_quant((map), (bit)) &= ~(1ULL << ((bit) % __HXbit map_bpq(*(map)))))) ((void)(__HXbitmap_quant((map), (bit)) &= ~(1ULL << ((bit) % __HXbit map_bpq(*(map))))))
#define HXbitmap_test(map, bit) \ #define HXbitmap_test(map, bit) \
((bool)(__HXbitmap_quant((map), (bit)) & (1ULL << ((bit) % __HXbitma p_bpq(*(map)))))) ((bool)(__HXbitmap_quant((map), (bit)) & (1ULL << ((bit) % __HXbitma p_bpq(*(map))))))
#define HX_TIMESPEC_EXP(p) static_cast(long, (p)->tv_sec), (p)->tv_nsec
#define HX_TIMESPEC_FMT "%ld.%09ld"
#define HX_TIMEVAL_EXP(p) static_cast(long, (p)->tv_sec), (p)->tv_usec
#define HX_TIMEVAL_FMT "%ld.%06ld"
struct stat; struct stat;
struct timespec; struct timespec;
struct timeval; struct timeval;
/* /*
* DL.C * DL.C
*/ */
extern void *HX_dlopen(const char *); extern void *HX_dlopen(const char *);
extern void *HX_dlsym(void *, const char *); extern void *HX_dlsym(void *, const char *);
extern void HX_dlclose(void *); extern void HX_dlclose(void *);
extern const char *HX_dlerror(void); extern const char *HX_dlerror(void);
/* /*
* MISC.C * MISC.C
*/ */
extern int HX_ffs(unsigned long); extern int HX_ffs(unsigned long);
extern int HX_fls(unsigned long); extern int HX_fls(unsigned long);
extern void HX_hexdump(FILE *, const void *, unsigned int); extern void HX_hexdump(FILE *, const void *, unsigned int);
extern void HX_diff_timespec(struct timespec *, extern bool HX_timespec_isneg(const struct timespec *);
extern struct timespec *HX_timespec_neg(struct timespec *,
const struct timespec *);
extern struct timespec *HX_timespec_add(struct timespec *,
const struct timespec *, const struct timespec *);
extern struct timespec *HX_timespec_sub(struct timespec *,
const struct timespec *, const struct timespec *); const struct timespec *, const struct timespec *);
extern void HX_diff_timeval(struct timeval *, extern struct timespec *HX_timespec_mul(struct timespec *,
const struct timespec *, int);
extern struct timespec *HX_timespec_mulf(struct timespec *,
const struct timespec *, double);
extern struct timeval *HX_timeval_sub(struct timeval *,
const struct timeval *, const struct timeval *); const struct timeval *, const struct timeval *);
extern long HX_time_compare(const struct stat *, const struct stat *, char) ; extern long HX_time_compare(const struct stat *, const struct stat *, char) ;
extern void HX_zvecfree(char **); extern void HX_zvecfree(char **);
/* /*
* RAND.C * RAND.C
*/ */
extern int HX_rand(void); extern int HX_rand(void);
extern unsigned int HX_irand(unsigned int, unsigned int); extern unsigned int HX_irand(unsigned int, unsigned int);
extern double HX_drand(double, double); extern double HX_drand(double, double);
 End of changes. 5 change blocks. 
2 lines changed or deleted 18 lines changed or added


 option.h   option.h 
skipping to change at line 75 skipping to change at line 75
* %HXTYPE_UINT16: [-o] (uint8_t *) An integer. * %HXTYPE_UINT16: [-o] (uint8_t *) An integer.
* %HXTYPE_UINT32: [-o] (uint8_t *) An integer. * %HXTYPE_UINT32: [-o] (uint8_t *) An integer.
* %HXTYPE_UINT64: [-o] (uint8_t *) An integer. * %HXTYPE_UINT64: [-o] (uint8_t *) An integer.
* %HXTYPE_INT8: [-o] (uint8_t *) An integer. * %HXTYPE_INT8: [-o] (uint8_t *) An integer.
* %HXTYPE_INT16: [-o] (uint8_t *) An integer. * %HXTYPE_INT16: [-o] (uint8_t *) An integer.
* %HXTYPE_INT32: [-o] (uint8_t *) An integer. * %HXTYPE_INT32: [-o] (uint8_t *) An integer.
* %HXTYPE_INT64: [-o] (uint8_t *) An integer. * %HXTYPE_INT64: [-o] (uint8_t *) An integer.
* %HXTYPE_MCSTR: [-o] (hxmc_t *) A string. * %HXTYPE_MCSTR: [-o] (hxmc_t *) A string.
* %HXTYPE_XSNTMARK: [-o] Internal sentinal marker (used in HXOPT_TABLEEN D) * %HXTYPE_XSNTMARK: [-o] Internal sentinal marker (used in HXOPT_TABLEEN D)
* %HXTYPE_XHELP: [-o] Internal helper marker (used in HXOPT_AUTOHELP) * %HXTYPE_XHELP: [-o] Internal helper marker (used in HXOPT_AUTOHELP)
* %HXTYPE_SIZE_T: [-o] (size_t *) An integer.
* *
* Type expected of struct HXoption.ptr is given in (). * Type expected of struct HXoption.ptr is given in ().
* HX_getopt (o) and HXformat_* (f) support different sets, marked with []. * HX_getopt (o) and HXformat_* (f) support different sets, marked with [].
*/ */
enum HX_option_type { enum HX_option_type {
HXTYPE_NONE = 0, HXTYPE_NONE = 0,
HXTYPE_VAL, HXTYPE_VAL,
HXTYPE_SVAL, HXTYPE_SVAL,
HXTYPE_BOOL, HXTYPE_BOOL,
HXTYPE_BYTE, HXTYPE_BYTE,
skipping to change at line 111 skipping to change at line 112
HXTYPE_UINT16, HXTYPE_UINT16,
HXTYPE_UINT32, HXTYPE_UINT32,
HXTYPE_UINT64, HXTYPE_UINT64,
HXTYPE_INT8, HXTYPE_INT8,
HXTYPE_INT16, /* 25 */ HXTYPE_INT16, /* 25 */
HXTYPE_INT32, HXTYPE_INT32,
HXTYPE_INT64, HXTYPE_INT64,
HXTYPE_MCSTR, HXTYPE_MCSTR,
HXTYPE_XSNTMARK, HXTYPE_XSNTMARK,
HXTYPE_XHELP, /* 30 */ HXTYPE_XHELP, /* 30 */
HXTYPE_SIZE_T,
}; };
/** /**
* Extra flags to be OR'ed into struct HXoption.type. * Extra flags to be OR'ed into struct HXoption.type.
* %HXOPT_OPTIONAL: argument to option is optional * %HXOPT_OPTIONAL: argument to option is optional
* (it's bad taste to use this) * (it's bad taste to use this)
* %HXOPT_INC: increase variable pointed to by .ptr. * %HXOPT_INC: increase variable pointed to by .ptr.
* (only applies to %HXTYPE_NONE) * (only applies to %HXTYPE_NONE)
* %HXOPT_DEC: increase variable pointed to by .ptr. * %HXOPT_DEC: increase variable pointed to by .ptr.
* (only applies to %HXTYPE_NONE) * (only applies to %HXTYPE_NONE)
skipping to change at line 143 skipping to change at line 145
HXOPT_XOR = 1 << 12, HXOPT_XOR = 1 << 12,
}; };
/** /**
* Flags (4th arg) to HX_getopt. * Flags (4th arg) to HX_getopt.
* %HXOPT_PTHRU: pass-through unknown options to new argv * %HXOPT_PTHRU: pass-through unknown options to new argv
* %HXOPT_DESTROY_OLD: destroy old argv after parsing is successful * %HXOPT_DESTROY_OLD: destroy old argv after parsing is successful
* %HXOPT_QUIET: do not output any warnings to stderr * %HXOPT_QUIET: do not output any warnings to stderr
* %HXOPT_HELPONERR: print out help when a parsing error occurs * %HXOPT_HELPONERR: print out help when a parsing error occurs
* %HXOPT_USAGEONERR: print out short usage when a parsing error occurs * %HXOPT_USAGEONERR: print out short usage when a parsing error occurs
* %HXOPT_RQ_ORDER: require option order/POSIX mode:
* first non-option terminates option processing
*/ */
enum { enum {
HXOPT_PTHRU = 1 << 0, HXOPT_PTHRU = 1 << 0,
HXOPT_DESTROY_OLD = 1 << 1, HXOPT_DESTROY_OLD = 1 << 1,
HXOPT_QUIET = 1 << 2, HXOPT_QUIET = 1 << 2,
HXOPT_HELPONERR = 1 << 3, HXOPT_HELPONERR = 1 << 3,
HXOPT_USAGEONERR = 1 << 4, HXOPT_USAGEONERR = 1 << 4,
HXOPT_RQ_ORDER = 1 << 5,
}; };
/** /**
* (Positive-ranged) return values for HX_getopt. * (Positive-ranged) return values for HX_getopt.
* %HXOPT_ERR_SUCCESS: success * %HXOPT_ERR_SUCCESS: success
* %HXOPT_ERR_UNKN: unknown option was encountered * %HXOPT_ERR_UNKN: unknown option was encountered
* %HXOPT_ERR_VOID: long option takes no value * %HXOPT_ERR_VOID: long option takes no value
* %HXOPT_ERR_MIS: option requires a value argument * %HXOPT_ERR_MIS: option requires a value argument
*/ */
enum { enum {
 End of changes. 4 change blocks. 
0 lines changed or deleted 5 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/