1*218bb0d4SAndrew Jones #ifndef _ERRATA_H_ 2*218bb0d4SAndrew Jones #define _ERRATA_H_ 3*218bb0d4SAndrew Jones 4*218bb0d4SAndrew Jones #define _ERRATA(erratum) errata("ERRATA_" # erratum) 5*218bb0d4SAndrew Jones #define ERRATA(erratum) _ERRATA(erratum) 6*218bb0d4SAndrew Jones 7*218bb0d4SAndrew Jones #define _ERRATA_RELAXED(erratum) errata_relaxed("ERRATA_" # erratum) 8*218bb0d4SAndrew Jones #define ERRATA_RELAXED(erratum) _ERRATA_RELAXED(erratum) 9*218bb0d4SAndrew Jones 10*218bb0d4SAndrew Jones static inline bool errata(const char *erratum) 11*218bb0d4SAndrew Jones { 12*218bb0d4SAndrew Jones char *s = getenv(erratum); 13*218bb0d4SAndrew Jones 14*218bb0d4SAndrew Jones return s && (*s == '1' || *s == 'y' || *s == 'Y'); 15*218bb0d4SAndrew Jones } 16*218bb0d4SAndrew Jones 17*218bb0d4SAndrew Jones static inline bool errata_relaxed(const char *erratum) 18*218bb0d4SAndrew Jones { 19*218bb0d4SAndrew Jones char *s = getenv(erratum); 20*218bb0d4SAndrew Jones 21*218bb0d4SAndrew Jones return !(s && (*s == '0' || *s == 'n' || *s == 'N')); 22*218bb0d4SAndrew Jones } 23*218bb0d4SAndrew Jones 24*218bb0d4SAndrew Jones #endif 25