/* tmpbuf.h This software is a copyrighted work licensed under the terms of the Cygwin license. Please consult the file "CYGWIN_LICENSE" for details. */ #ifndef _TMPBUF_H #define _TMPBUF_H class tmpbuf { void *buf; public: tmpbuf (size_t size = NT_MAX_PATH) { buf = calloc (1, size); if (!buf) api_fatal ("allocation of temporary buffer failed"); } operator void * () {return buf;} operator char * () {return (char *) buf;} operator PSECURITY_DESCRIPTOR () {return (PSECURITY_DESCRIPTOR) buf;} PSECURITY_DESCRIPTOR operator -> () {return (PSECURITY_DESCRIPTOR) buf;} ~tmpbuf () {free (buf);} }; #endif /*_TMPBUF_H*/