1*4b6da826SThomas Huth /* 2*4b6da826SThomas Huth * errata functions 3*4b6da826SThomas Huth * 4*4b6da826SThomas Huth * This code is free software; you can redistribute it and/or modify it 5*4b6da826SThomas Huth * under the terms of the GNU Library General Public License version 2. 6*4b6da826SThomas Huth */ 7218bb0d4SAndrew Jones #ifndef _ERRATA_H_ 8218bb0d4SAndrew Jones #define _ERRATA_H_ 9218bb0d4SAndrew Jones 10218bb0d4SAndrew Jones #define _ERRATA(erratum) errata("ERRATA_" # erratum) 11218bb0d4SAndrew Jones #define ERRATA(erratum) _ERRATA(erratum) 12218bb0d4SAndrew Jones 13218bb0d4SAndrew Jones #define _ERRATA_RELAXED(erratum) errata_relaxed("ERRATA_" # erratum) 14218bb0d4SAndrew Jones #define ERRATA_RELAXED(erratum) _ERRATA_RELAXED(erratum) 15218bb0d4SAndrew Jones 16218bb0d4SAndrew Jones static inline bool errata(const char *erratum) 17218bb0d4SAndrew Jones { 18218bb0d4SAndrew Jones char *s = getenv(erratum); 19218bb0d4SAndrew Jones 20218bb0d4SAndrew Jones return s && (*s == '1' || *s == 'y' || *s == 'Y'); 21218bb0d4SAndrew Jones } 22218bb0d4SAndrew Jones 23218bb0d4SAndrew Jones static inline bool errata_relaxed(const char *erratum) 24218bb0d4SAndrew Jones { 25218bb0d4SAndrew Jones char *s = getenv(erratum); 26218bb0d4SAndrew Jones 27218bb0d4SAndrew Jones return !(s && (*s == '0' || *s == 'n' || *s == 'N')); 28218bb0d4SAndrew Jones } 29218bb0d4SAndrew Jones 30218bb0d4SAndrew Jones #endif 31