Advertisement
Guest User

Untitled

a guest
Feb 24th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.28 KB | None | 0 0
  1. /* Uses two extensions cleanup, Blocks
  2. static inline void defer_cleanup(void (^*b)(void)) { (*b)(); }
  3. #define defer_merge(a,b) a##b
  4. #define defer_varname(a) defer_merge(defer_scopevar_, a)
  5. #define defer __attribute__((cleanup(defer_cleanup))) void (^defer_varname(__COUNTER__))(void) =
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement