summaryrefslogtreecommitdiff
path: root/deps/mysqllite/mysys/mf_tempfile.c
diff options
context:
space:
mode:
authorKitzunu <24550914+Kitzunu@users.noreply.github.com>2024-11-24 14:45:46 +0100
committerGitHub <noreply@github.com>2024-11-24 14:45:46 +0100
commit4aa70c4dba765fa2715c3548db0e16fec19c3311 (patch)
tree6ac2b0d669b398f86efd026e16e46a142584b8dd /deps/mysqllite/mysys/mf_tempfile.c
parent49b05967447559978dd92bbc3b619749cf1d5341 (diff)
refactor(Deps/mysqllite): Nuke it (#20710)
* close https://github.com/azerothcore/azerothcore-wotlk/issues/20123
Diffstat (limited to 'deps/mysqllite/mysys/mf_tempfile.c')
-rw-r--r--deps/mysqllite/mysys/mf_tempfile.c177
1 files changed, 0 insertions, 177 deletions
diff --git a/deps/mysqllite/mysys/mf_tempfile.c b/deps/mysqllite/mysys/mf_tempfile.c
deleted file mode 100644
index e85124fb4c..0000000000
--- a/deps/mysqllite/mysys/mf_tempfile.c
+++ /dev/null
@@ -1,177 +0,0 @@
-/* Copyright (C) 2000 MySQL AB
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; version 2 of the License.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-
-#include "mysys_priv.h"
-#include <m_string.h>
-#include "my_static.h"
-#include "mysys_err.h"
-#include <errno.h>
-#ifdef HAVE_PATHS_H
-#include <paths.h>
-#endif
-
-
-
-/*
- @brief
- Create a temporary file with unique name in a given directory
-
- @details
- create_temp_file
- to pointer to buffer where temporary filename will be stored
- dir directory where to create the file
- prefix prefix the filename with this
- mode Flags to use for my_create/my_open
- MyFlags Magic flags
-
- @return
- File descriptor of opened file if success
- -1 and sets errno if fails.
-
- @note
- The behaviour of this function differs a lot between
- implementation, it's main use is to generate a file with
- a name that does not already exist.
-
- When passing O_TEMPORARY flag in "mode" the file should
- be automatically deleted
-
- The implementation using mkstemp should be considered the
- reference implementation when adding a new or modifying an
- existing one
-
-*/
-
-File create_temp_file(char *to, const char *dir, const char *prefix,
- int mode __attribute__((unused)),
- myf MyFlags __attribute__((unused)))
-{
- File file= -1;
-#ifdef __WIN__
- TCHAR path_buf[MAX_PATH-14];
-#endif
-
- DBUG_ENTER("create_temp_file");
- DBUG_PRINT("enter", ("dir: %s, prefix: %s", dir, prefix));
-#if defined (__WIN__)
-
- /*
- Use GetTempPath to determine path for temporary files.
- This is because the documentation for GetTempFileName
- has the following to say about this parameter:
- "If this parameter is NULL, the function fails."
- */
- if (!dir)
- {
- if(GetTempPath(sizeof(path_buf), path_buf) > 0)
- dir = path_buf;
- }
- /*
- Use GetTempFileName to generate a unique filename, create
- the file and release it's handle
- - uses up to the first three letters from prefix
- */
- if (GetTempFileName(dir, prefix, 0, to) == 0)
- DBUG_RETURN(-1);
-
- DBUG_PRINT("info", ("name: %s", to));
-
- /*
- Open the file without the "open only if file doesn't already exist"
- since the file has already been created by GetTempFileName
- */
- if ((file= my_open(to, (mode & ~O_EXCL), MyFlags)) < 0)
- {
- /* Open failed, remove the file created by GetTempFileName */
- int tmp= my_errno;
- (void) my_delete(to, MYF(0));
- my_errno= tmp;
- }
-
-#elif defined(HAVE_MKSTEMP)
- {
- char prefix_buff[30];
- uint pfx_len;
- File org_file;
-
- pfx_len= (uint) (strmov(strnmov(prefix_buff,
- prefix ? prefix : "tmp.",
- sizeof(prefix_buff)-7),"XXXXXX") -
- prefix_buff);
- if (!dir && ! (dir =getenv("TMPDIR")))
- dir=P_tmpdir;
- if (strlen(dir)+ pfx_len > FN_REFLEN-2)
- {
- errno=my_errno= ENAMETOOLONG;
- DBUG_RETURN(file);
- }
- strmov(convert_dirname(to,dir,NullS),prefix_buff);
- org_file=mkstemp(to);
- if (mode & O_TEMPORARY)
- (void) my_delete(to, MYF(MY_WME | ME_NOINPUT));
- file=my_register_filename(org_file, to, FILE_BY_MKSTEMP,
- EE_CANTCREATEFILE, MyFlags);
- /* If we didn't manage to register the name, remove the temp file */
- if (org_file >= 0 && file < 0)
- {
- int tmp=my_errno;
- close(org_file);
- (void) my_delete(to, MYF(MY_WME | ME_NOINPUT));
- my_errno=tmp;
- }
- }
-#elif defined(HAVE_TEMPNAM)
- {
- extern char **environ;
-
- char *res,**old_env,*temp_env[1];
- if (dir && !dir[0])
- { /* Change empty string to current dir */
- to[0]= FN_CURLIB;
- to[1]= 0;
- dir=to;
- }
-
- old_env= (char**) environ;
- if (dir)
- { /* Don't use TMPDIR if dir is given */
- environ=(const char**) temp_env;
- temp_env[0]=0;
- }
-
- if ((res=tempnam((char*) dir, (char*) prefix)))
- {
- strmake(to,res,FN_REFLEN-1);
- (*free)(res);
- file=my_create(to,0,
- (int) (O_RDWR | O_BINARY | O_TRUNC | O_EXCL | O_NOFOLLOW |
- O_TEMPORARY | O_SHORT_LIVED),
- MYF(MY_WME));
-
- }
- else
- {
- DBUG_PRINT("error",("Got error: %d from tempnam",errno));
- }
-
- environ=(const char**) old_env;
- }
-#else
-#error No implementation found for create_temp_file
-#endif
- if (file >= 0)
- thread_safe_increment(my_tmp_file_created,&THR_LOCK_open);
- DBUG_RETURN(file);
-}