static inline bool is_rear_guard_valid(hdr_t* hdr) { unsigned i; int valid = 1; int first_mismatch = -1; ftr_t* ftr = to_ftr(hdr); for (i = 0; i < REAR_GUARD_LEN; i++) { if (ftr->rear_guard[i] != REAR_GUARD) { if (first_mismatch < 0) first_mismatch = i; valid = 0; } else if (first_mismatch >= 0) { log_message("+++ REAR GUARD MISMATCH [%d, %d)\n", first_mismatch, i); first_mismatch = -1; } } if (first_mismatch >= 0) log_message("+++ REAR GUARD MISMATCH [%d, %d)\n", first_mismatch, i); return valid; }
static inline void init_rear_guard(hdr_t* hdr) { ftr_t* ftr = to_ftr(hdr); memset(ftr->rear_guard, REAR_GUARD, REAR_GUARD_LEN); }
static inline void init_rear_guard(struct hdr *hdr) { struct ftr *ftr = to_ftr(hdr); memset(ftr->rear_guard, REAR_GUARD, REAR_GUARD_LEN); }