libHX.h | libHX.h | |||
---|---|---|---|---|
skipping to change at line 17 | skipping to change at line 17 | |||
* always includes a given feature set. (Once an "#include" is added, it sh all | * always includes a given feature set. (Once an "#include" is added, it sh all | |||
* be considered documented behavior that feature xyz is available merely b y | * be considered documented behavior that feature xyz is available merely b y | |||
* inclusion of this file. Henceforth, "#includes" may not be removed from here | * inclusion of this file. Henceforth, "#includes" may not be removed from here | |||
* unless the implementation really went away. | * unless the implementation really went away. | |||
*/ | */ | |||
#include <libHX/ctype_helper.h> | #include <libHX/ctype_helper.h> | |||
#include <libHX/defs.h> | #include <libHX/defs.h> | |||
#include <libHX/deque.h> | #include <libHX/deque.h> | |||
#include <libHX/list.h> | #include <libHX/list.h> | |||
#include <libHX/init.h> | ||||
#include <libHX/map.h> | #include <libHX/map.h> | |||
#include <libHX/misc.h> | #include <libHX/misc.h> | |||
#include <libHX/option.h> | #include <libHX/option.h> | |||
#include <libHX/proc.h> | #include <libHX/proc.h> | |||
#include <libHX/string.h> | #include <libHX/string.h> | |||
/* not libxml_helper, because that requires libxml2 */ | /* not libxml_helper, because that requires libxml2 */ | |||
#endif /* _LIBHX_H */ | #endif /* _LIBHX_H */ | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
list.h | list.h | |||
---|---|---|---|---|
#ifndef _LIBHX_LIST_H | #ifndef _LIBHX_LIST_H | |||
#define _LIBHX_LIST_H 1 | #define _LIBHX_LIST_H 1 | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
# include <cstddef> | # include <cstddef> | |||
#else | #else | |||
# include <stdbool.h> | ||||
# include <stddef.h> | # include <stddef.h> | |||
#endif | #endif | |||
#include <libHX/defs.h> | #include <libHX/defs.h> | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
#define HXlist_entry(ptr, type, member) containerof((ptr), type, member) | #define HXlist_entry(ptr, type, member) containerof((ptr), type, member) | |||
skipping to change at line 59 | skipping to change at line 60 | |||
} | } | |||
static inline void HXlist_del(struct HXlist_head *entry) | static inline void HXlist_del(struct HXlist_head *entry) | |||
{ | { | |||
entry->prev->next = entry->next; | entry->prev->next = entry->next; | |||
entry->next->prev = entry->prev; | entry->next->prev = entry->prev; | |||
entry->next = NULL; | entry->next = NULL; | |||
entry->prev = NULL; | entry->prev = NULL; | |||
} | } | |||
static inline bool HXlist_empty(const struct HXlist_head *head) | ||||
{ | ||||
return head->next == head; | ||||
} | ||||
#define HXlist_for_each(pos, head) \ | #define HXlist_for_each(pos, head) \ | |||
for ((pos) = (head)->next; (pos) != (void *)(head); \ | for ((pos) = (head)->next; (pos) != (void *)(head); \ | |||
(pos) = (pos)->next) | (pos) = (pos)->next) | |||
#define HXlist_for_each_prev(pos, head) \ | #define HXlist_for_each_prev(pos, head) \ | |||
for ((pos) = (head)->prev; (pos) != (void *)(head); \ | for ((pos) = (head)->prev; (pos) != (void *)(head); \ | |||
(pos) = (pos)->prev) | (pos) = (pos)->prev) | |||
#define HXlist_for_each_safe(pos, n, head) \ | #define HXlist_for_each_safe(pos, n, head) \ | |||
for ((pos) = (head)->next, (n) = (pos)->next; (pos) != (void *)(head ); \ | for ((pos) = (head)->next, (n) = (pos)->next; (pos) != (void *)(head ); \ | |||
End of changes. 2 change blocks. | ||||
0 lines changed or deleted | 6 lines changed or added | |||
misc.h | misc.h | |||
---|---|---|---|---|
skipping to change at line 66 | skipping to change at line 66 | |||
* 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 | |||
*/ | */ | |||
enum { | ||||
HX_FSYSTEM_ARGV = 1 << 0, | ||||
HX_FSYSTEM_EXEC = 1 << 1, | ||||
HX_FSYSTEM_ARGV1 = 1 << 2, | ||||
}; | ||||
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 void HX_diff_timespec(struct timespec *, | |||
const struct timespec *, const struct timespec *); | const struct timespec *, const struct timespec *); | |||
extern void HX_diff_timeval(struct timeval *, | extern void HX_diff_timeval(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 **); | |||
End of changes. 1 change blocks. | ||||
6 lines changed or deleted | 0 lines changed or added | |||
string.h | string.h | |||
---|---|---|---|---|
skipping to change at line 59 | skipping to change at line 59 | |||
extern void HXmc_zvecfree(hxmc_t **); | extern void HXmc_zvecfree(hxmc_t **); | |||
/* | /* | |||
* STRING.C | * STRING.C | |||
*/ | */ | |||
extern char *HX_basename(const char *); | extern char *HX_basename(const char *); | |||
extern char *HX_basename_exact(const char *); | extern char *HX_basename_exact(const char *); | |||
extern char *HX_chomp(char *); | extern char *HX_chomp(char *); | |||
extern char *HX_dirname(const char *); | extern char *HX_dirname(const char *); | |||
extern hxmc_t *HX_getl(hxmc_t **, FILE *); | extern hxmc_t *HX_getl(hxmc_t **, FILE *); | |||
extern void *HX_memmem(const void *, size_t, const void *, size_t); | ||||
extern char **HX_split(const char *, const char *, int *, int); | extern char **HX_split(const char *, const char *, int *, int); | |||
extern char **HX_split4(char *, const char *, int *, int); | extern char **HX_split4(char *, const char *, int *, int); | |||
extern int HX_split5(char *, const char *, int, char **); | extern int HX_split5(char *, const char *, int, char **); | |||
extern char *HX_strbchr(const char *, const char *, char); | extern char *HX_strbchr(const char *, const char *, char); | |||
extern char *HX_strclone(char **, const char *); | extern char *HX_strclone(char **, const char *); | |||
extern char *HX_strlower(char *); | extern char *HX_strlower(char *); | |||
extern size_t HX_strltrim(char *); | extern size_t HX_strltrim(char *); | |||
extern char *HX_strmid(const char *, long, long); | extern char *HX_strmid(const char *, long, long); | |||
extern char *HX_strquote(const char *, unsigned int, char **); | extern char *HX_strquote(const char *, unsigned int, char **); | |||
extern size_t HX_strrcspn(const char *, const char *); | extern size_t HX_strrcspn(const char *, const char *); | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||