libc/winsup/cygwin/tmpbuf.h

26 lines
652 B
C++

/* 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*/