libHX.h | libHX.h | |||
---|---|---|---|---|
skipping to change at line 111 | skipping to change at line 111 | |||
extern struct HXdeque_node *HXdeque_push(struct HXdeque *, const void *); | extern struct HXdeque_node *HXdeque_push(struct HXdeque *, const void *); | |||
extern struct HXdeque_node *HXdeque_unshift(struct HXdeque *, const void *) ; | extern struct HXdeque_node *HXdeque_unshift(struct HXdeque *, const void *) ; | |||
extern void *HXdeque_pop(struct HXdeque *); | extern void *HXdeque_pop(struct HXdeque *); | |||
extern void *HXdeque_shift(struct HXdeque *); | extern void *HXdeque_shift(struct HXdeque *); | |||
extern void HXdeque_move(struct HXdeque_node *, struct HXdeque_node *); | extern void HXdeque_move(struct HXdeque_node *, struct HXdeque_node *); | |||
extern struct HXdeque_node *HXdeque_find(struct HXdeque *, const void *); | extern struct HXdeque_node *HXdeque_find(struct HXdeque *, const void *); | |||
extern void *HXdeque_get(struct HXdeque *, const void *); | extern void *HXdeque_get(struct HXdeque *, const void *); | |||
extern void *HXdeque_del(struct HXdeque_node *); | extern void *HXdeque_del(struct HXdeque_node *); | |||
extern void HXdeque_free(struct HXdeque *); | extern void HXdeque_free(struct HXdeque *); | |||
extern void HXdeque_genocide(struct HXdeque *); | extern void HXdeque_genocide(struct HXdeque *); | |||
extern void **HXdeque_to_vec(struct HXdeque *, unsigned int *); | extern void **HXdeque_to_vec(const struct HXdeque *, unsigned int *); | |||
/* | /* | |||
* DIR.C | * DIR.C | |||
*/ | */ | |||
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, | |||
}; | }; | |||
skipping to change at line 222 | skipping to change at line 222 | |||
/* negate input first */ | /* negate input first */ | |||
HXOPT_NOT = 1 << 9, | HXOPT_NOT = 1 << 9, | |||
/* or pointed variable with input */ | /* or pointed variable with input */ | |||
HXOPT_OR = 1 << 10, | HXOPT_OR = 1 << 10, | |||
/* and pointed variable with input */ | /* and pointed variable with input */ | |||
HXOPT_AND = 1 << 11, | HXOPT_AND = 1 << 11, | |||
/* xor pointed variable with input */ | /* xor pointed variable with input */ | |||
HXOPT_XOR = 1 << 12, | HXOPT_XOR = 1 << 12, | |||
HXFORMAT_IMMED = 1 << 13, | HXFORMAT_IMMED = 1 << 13, | |||
HXOPT_LOPMASK2 = HXOPT_OR | HXOPT_AND | HXOPT_XOR, | ||||
HXOPT_LOPMASK = HXOPT_LOPMASK2 | HXOPT_NOT, | ||||
HXOPT_TYPEMASK = 0x1F, /* 5 bits */ | ||||
/* HX_getopt() flags */ | /* HX_getopt() flags */ | |||
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, | |||
/* Return types for HX_getopt() */ | /* Return types for HX_getopt() */ | |||
HXOPT_ERR_UNKN = 1, | HXOPT_ERR_UNKN = 1, | |||
HXOPT_ERR_VOID, | HXOPT_ERR_VOID, | |||
skipping to change at line 364 | skipping to change at line 360 | |||
{ | { | |||
ssize_t x = len - strlen(dest) - 1; | ssize_t x = len - strlen(dest) - 1; | |||
if (x <= 0) | if (x <= 0) | |||
return dest; | return dest; | |||
return strncat(dest, src, x); | return strncat(dest, src, x); | |||
} | } | |||
static inline char *HX_strlcpy(char *dest, const char *src, size_t n) | static inline char *HX_strlcpy(char *dest, const char *src, size_t n) | |||
{ | { | |||
strncpy(dest, src, n); | strncpy(dest, src, n); | |||
dest[n - 1] = '\0'; | dest[n-1] = '\0'; | |||
return dest; | return dest; | |||
} | } | |||
static inline char *HX_strlncat(char *dest, const char *src, size_t dlen, | static inline char *HX_strlncat(char *dest, const char *src, size_t dlen, | |||
size_t slen) | size_t slen) | |||
{ | { | |||
ssize_t x = dlen - strlen(dest) - 1; | ssize_t x = dlen - strlen(dest) - 1; | |||
if (x <= 0) | if (x <= 0) | |||
return dest; | return dest; | |||
x = ((ssize_t)slen < x) ? (ssize_t)slen : x; | x = ((ssize_t)slen < x) ? (ssize_t)slen : x; | |||
End of changes. 3 change blocks. | ||||
6 lines changed or deleted | 2 lines changed or added | |||