X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/47b032e97fdd94a2b8d834483b017cc227e1ae7e..5303941021034f9b6272d5c1512096e125aece1e:/rsync.h diff --git a/rsync.h b/rsync.h index a366f8a0..b8512ded 100644 --- a/rsync.h +++ b/rsync.h @@ -67,7 +67,7 @@ #define FLAG_MISSING (1<<6) /* generator */ /* update this if you make incompatible changes */ -#define PROTOCOL_VERSION 29 +#define PROTOCOL_VERSION 30 /* We refuse to interoperate with versions that are not in this range. * Note that we assume we'll work with later versions: the onus is on @@ -153,6 +153,7 @@ /* These are outside the range of the transmitted flags. */ #define ITEM_MISSING_DATA (1<<16) /* used by log_formatted() */ #define ITEM_DELETED (1<<17) /* used by log_formatted() */ +#define ITEM_MATCHED (1<<18) /* used by itemize() */ #define SIGNIFICANT_ITEM_FLAGS (~(\ ITEM_BASIS_TYPE_FOLLOWS | ITEM_XNAME_FOLLOWS | ITEM_LOCAL_CHANGE)) @@ -615,10 +616,12 @@ struct map_struct { #define MATCHFLG_SENDER_SIDE (1<<16)/* rule applies to the sending side */ #define MATCHFLG_RECEIVER_SIDE (1<<17)/* rule applies to the receiving side */ #define MATCHFLG_CLEAR_LIST (1<<18)/* this item is the "!" token */ +#define MATCHFLG_PERISHABLE (1<<19)/* perishable if parent dir goes away */ #define MATCHFLGS_FROM_CONTAINER (MATCHFLG_ABS_PATH | MATCHFLG_INCLUDE \ | MATCHFLG_DIRECTORY | MATCHFLG_SENDER_SIDE \ - | MATCHFLG_NEGATE | MATCHFLG_RECEIVER_SIDE) + | MATCHFLG_NEGATE | MATCHFLG_RECEIVER_SIDE \ + | MATCHFLG_PERISHABLE) struct filter_struct { struct filter_struct *next; @@ -659,10 +662,7 @@ struct chmod_mode_struct; #include "lib/permstring.h" #include "lib/addrinfo.h" -#if !defined __GNUC__ || defined __APPLE__ -/* Apparently the OS X port of gcc gags on __attribute__. - * - * */ +#ifndef __GNUC__ #define __attribute__(x) #endif @@ -888,3 +888,45 @@ int inet_pton(int af, const char *src, void *dst); #ifdef MAINTAINER_MODE const char *get_panic_action(void); #endif + +static inline int +isDigit(const char *ptr) +{ + return isdigit(*(unsigned char *)ptr); +} + +static inline int +isPrint(const char *ptr) +{ + return isprint(*(unsigned char *)ptr); +} + +static inline int +isSpace(const char *ptr) +{ + return isspace(*(unsigned char *)ptr); +} + +static inline int +isLower(const char *ptr) +{ + return islower(*(unsigned char *)ptr); +} + +static inline int +isUpper(const char *ptr) +{ + return isupper(*(unsigned char *)ptr); +} + +static inline int +toLower(const char *ptr) +{ + return tolower(*(unsigned char *)ptr); +} + +static inline int +toUpper(const char *ptr) +{ + return toupper(*(unsigned char *)ptr); +}