spacepaste

  1.  
  2. #define AUTOTYPE_TEST_(AUTOSTR, AUTOCH, AUTORANGE, AUTOTYPE) { \
  3. \
  4. /* AUTORANGE */ \
  5. if (!AUTORANGE##_INVALIDATED && range_##AUTORANGE(AUTOCH)) { \
  6. if ((AUTOSTR).type == STR_TYPE_EMPTY) { \
  7. STR_TYPE_REMOVE_TYPE((AUTOSTR), STR_TYPE_EMPTY) \
  8. } \
  9. STR_TYPE_ADD_TYPE((AUTOSTR), STR_TYPE_##AUTOTYPE) \
  10. } \
  11. else { \
  12. if ((AUTOSTR).type != STR_TYPE_EMPTY) { \
  13. AUTORANGE##_INVALIDATED = true; \
  14. } \
  15. STR_TYPE_REMOVE_TYPE((AUTOSTR), STR_TYPE_##AUTOTYPE) \
  16. } \
  17. }
  18.