]> git.proxmox.com Git - mirror_edk2.git/blobdiff - StdLib/LibC/Stdio/mktemp.c
Standard Libraries for EDK II.
[mirror_edk2.git] / StdLib / LibC / Stdio / mktemp.c
diff --git a/StdLib/LibC/Stdio/mktemp.c b/StdLib/LibC/Stdio/mktemp.c
new file mode 100644 (file)
index 0000000..4c9e475
--- /dev/null
@@ -0,0 +1,71 @@
+/** @file\r
+  Internal function for tmpnam.\r
+\r
+  Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>\r
+  This program and the accompanying materials are licensed and made available\r
+  under the terms and conditions of the BSD License that accompanies this\r
+  distribution.  The full text of the license may be found at\r
+  http://opensource.org/licenses/bsd-license.php.\r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+  Copyright (c) 1990, 1993\r
+  The Regents of the University of California.  All rights reserved.\r
+\r
+  Redistribution and use in source and binary forms, with or without\r
+  modification, are permitted provided that the following conditions\r
+  are met:\r
+  - Redistributions of source code must retain the above copyright\r
+  notice, this list of conditions and the following disclaimer.\r
+  - Redistributions in binary form must reproduce the above copyright\r
+  notice, this list of conditions and the following disclaimer in the\r
+  documentation and/or other materials provided with the distribution.\r
+  - Neither the name of the University nor the names of its contributors\r
+  may be used to endorse or promote products derived from this software\r
+  without specific prior written permission.\r
+\r
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
+  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE\r
+  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r
+  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\r
+  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
+  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\r
+  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
+  POSSIBILITY OF SUCH DAMAGE.\r
+\r
+NetBSD: mktemp.c,v 1.19 2003/08/07 16:43:28 agc Exp\r
+mktemp.c  8.1 (Berkeley) 6/4/93\r
+  **/\r
+#include  <LibConfig.h>\r
+\r
+#include  <assert.h>\r
+#include  <errno.h>\r
+#include  <stdio.h>\r
+#include  <stdlib.h>\r
+#include  <sys/EfiSysCall.h>\r
+#include  "reentrant.h"\r
+#include  "local.h"\r
+\r
+char *\r
+_mktemp(char *path)\r
+{\r
+  _DIAGASSERT(path != NULL);\r
+\r
+  return (__gettemp(path, (int *)NULL, 0) ? path : (char *)NULL);\r
+}\r
+\r
+__warn_references(mktemp,\r
+    "warning: mktemp() possibly used unsafely, use mkstemp() or mkdtemp()")\r
+\r
+char *\r
+mktemp(char *path)\r
+{\r
+\r
+  _DIAGASSERT(path != NULL);\r
+\r
+  return (__gettemp(path, (int *)NULL, 0) ? path : (char *)NULL);\r
+}\r