libc/winsup/cygwin/tmpbuf.h
Corinna Vinschen 6e623e9320 Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option
Bump GPLv2+ to GPLv3+ for some files, clarify BSD 2-clause.

Everything else stays under GPLv3+.

New Linking Exception exempts resulting executables from LGPLv3 section 4.

Add CONTRIBUTORS file to keep track of licensing.

Remove 'Copyright Red Hat Inc' comments.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-06-23 10:09:17 +02:00

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