summaryrefslogtreecommitdiff
path: root/ext/mysql/libmysql/my_fopen.c
diff options
context:
space:
mode:
authorSVN Migration <svn@php.net>2000-07-06 16:19:37 +0000
committerSVN Migration <svn@php.net>2000-07-06 16:19:37 +0000
commit3f80132ea88b86b490995107bdad7d1dead9d15c (patch)
tree4d1339e322a7f46d821797371733532010b75f2c /ext/mysql/libmysql/my_fopen.c
parent45ca7ec17d7d9cc0f57f89a403a60064e3ddbd25 (diff)
downloadphp-git-3f80132ea88b86b490995107bdad7d1dead9d15c.tar.gz
This commit was manufactured by cvs2svn to create tagPRE_METHOD_CALL_SEPERATE_FIX_PATCH
'PRE_METHOD_CALL_SEPERATE_FIX_PATCH'.
Diffstat (limited to 'ext/mysql/libmysql/my_fopen.c')
-rw-r--r--ext/mysql/libmysql/my_fopen.c150
1 files changed, 0 insertions, 150 deletions
diff --git a/ext/mysql/libmysql/my_fopen.c b/ext/mysql/libmysql/my_fopen.c
deleted file mode 100644
index f22f492b4f..0000000000
--- a/ext/mysql/libmysql/my_fopen.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
- This file is public domain and comes with NO WARRANTY of any kind */
-
-#include "mysys_priv.h"
-#include "my_static.h"
-#include <errno.h>
-#include "mysys_err.h"
-
-static void make_ftype(my_string to,int flag);
-
- /* Open a file as stream */
-
-FILE *my_fopen(const char *FileName, int Flags, myf MyFlags)
- /* Path-name of file */
- /* Read | write .. */
- /* Special flags */
-{
- FILE *fd;
- char type[5];
- DBUG_ENTER("my_fopen");
- DBUG_PRINT("my",("Name: '%s' Flags: %d MyFlags: %d",
- FileName, Flags, MyFlags));
-
- make_ftype(type,Flags);
- if ((fd = fopen(FileName, type)) != 0)
- {
- /*
- The test works if MY_NFILE < 128. The problem is that fileno() is char
- on some OS (SUNOS). Actually the filename save isn't that important
- so we can ignore if this doesn't work.
- */
- if ((uint) fileno(fd) >= MY_NFILE)
- DBUG_RETURN(fd); /* safeguard */
- pthread_mutex_lock(&THR_LOCK_open);
- if ((my_file_info[fileno(fd)].name = (char*)
- my_strdup(FileName,MyFlags)))
- {
- my_stream_opened++;
- my_file_info[fileno(fd)].type = STREAM_BY_FOPEN;
- pthread_mutex_unlock(&THR_LOCK_open);
- DBUG_PRINT("exit",("stream: %lx",fd));
- DBUG_RETURN(fd);
- }
- pthread_mutex_unlock(&THR_LOCK_open);
- (void) my_fclose(fd,MyFlags);
- my_errno=ENOMEM;
- }
- else
- my_errno=errno;
- DBUG_PRINT("error",("Got error %d on open",my_errno));
- if (MyFlags & (MY_FFNF | MY_FAE | MY_WME))
- my_error(Flags & O_RDONLY ? EE_FILENOTFOUND : EE_CANTCREATEFILE,
- MYF(ME_BELL+ME_WAITTANG), FileName,my_errno);
- DBUG_RETURN((FILE*) 0);
-} /* my_fopen */
-
-
- /* Close a stream */
-
-int my_fclose(FILE *fd, myf MyFlags)
-{
- int err,file;
- DBUG_ENTER("my_fclose");
- DBUG_PRINT("my",("stream: %lx MyFlags: %d",fd, MyFlags));
-
- pthread_mutex_lock(&THR_LOCK_open);
- file=fileno(fd);
- if ((err = fclose(fd)) < 0)
- {
- my_errno=errno;
- if (MyFlags & (MY_FAE | MY_WME))
- my_error(EE_BADCLOSE, MYF(ME_BELL+ME_WAITTANG),
- my_filename(file),errno);
- }
- if ((uint) file < MY_NFILE && my_file_info[file].type != UNOPEN)
- {
- my_file_info[file].type = UNOPEN;
- my_free(my_file_info[file].name, MYF(0));
- my_stream_opened--;
- }
- pthread_mutex_unlock(&THR_LOCK_open);
- DBUG_RETURN(err);
-} /* my_fclose */
-
-
- /* Make a stream out of a file handle */
-
-FILE *my_fdopen(File Filedes, int Flags, myf MyFlags)
-
- /* Read | write .. */
- /* Special flags */
-{
- FILE *fd;
- char type[5];
- DBUG_ENTER("my_fdopen");
- DBUG_PRINT("my",("Fd: %d Flags: %d MyFlags: %d",
- Filedes, Flags, MyFlags));
-
- make_ftype(type,Flags);
- if ((fd = fdopen(Filedes, type)) == 0)
- {
- my_errno=errno;
- if (MyFlags & (MY_FAE | MY_WME))
- my_error(EE_CANT_OPEN_STREAM, MYF(ME_BELL+ME_WAITTANG),errno);
- }
- else
- {
- pthread_mutex_lock(&THR_LOCK_open);
- if (my_file_info[Filedes].type != UNOPEN)
- {
- my_file_info[Filedes].type = STREAM_BY_FDOPEN;
- my_file_opened--; /* File is opened with my_open ! */
- my_stream_opened++;
- }
- pthread_mutex_unlock(&THR_LOCK_open);
- }
-
- DBUG_PRINT("exit",("stream: %lx",fd));
- DBUG_RETURN(fd);
-} /* my_fdopen */
-
-
- /* Make a filehandler-open-typestring from ordinary inputflags */
-
-static void make_ftype(register my_string to, register int flag)
-{
-#if FILE_BINARY /* If we have binary-files */
- reg3 int org_flag=flag;
-#endif
- flag&= ~FILE_BINARY; /* remove binary bit */
- if (flag == O_RDONLY)
- *to++= 'r';
- else if (flag == O_WRONLY)
- *to++= 'w';
- else
- { /* Add '+' after theese */
- if (flag == O_RDWR)
- *to++= 'r';
- else if (flag & O_APPEND)
- *to++= 'a';
- else
- *to++= 'w'; /* Create file */
- *to++= '+';
- }
-#if FILE_BINARY /* If we have binary-files */
- if (org_flag & FILE_BINARY)
- *to++='b';
-#endif
- *to='\0';
-} /* make_ftype */