Макрос free который удаляет все указатели через запятую

#define FREE_PTR(...) \
        do { \
            int i=0;\
            void *pta[] = {__VA_ARGS__}; \
            for( ; i < sizeof(pta)/sizeof(void*); i++) free(pta[i]); \
        } while(0)