Skip to content

Instantly share code, notes, and snippets.

@henryk
Created March 20, 2014 15:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save henryk/9666487 to your computer and use it in GitHub Desktop.
Save henryk/9666487 to your computer and use it in GitHub Desktop.
#define erase_memory(data,data_length) \
({ typeof (data) data_ = (data); \
typeof (data_length) data_length_ = (data_length); \
__builtin_choose_expr( \
__builtin_constant_p(data_), \
__builtin_choose_expr( \
__builtin_choose_expr(__builtin_constant_p(data_), data_, 0), \
_erase_memory(data_,data_length_), \
0\
), \
data_?_erase_memory(data_,data_length_):0 \
); })
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment