~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to mysys/my_create.c

  • Committer: Brian Aker
  • Date: 2008-07-01 22:45:34 UTC
  • Revision ID: brian@tangent.org-20080701224534-ro5rfc190vgqs0z8
Moved pread over to just supporting myisam (someone can refactor from here
if they want).

Show diffs side-by-side

added added

removed removed

Lines of Context:
13
13
   along with this program; if not, write to the Free Software
14
14
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
15
15
 
16
 
#include "mysys/mysys_priv.h"
17
 
#include "my_dir.h"
18
 
#include "mysys/mysys_err.h"
19
 
 
 
16
#include "mysys_priv.h"
 
17
#include <my_dir.h>
 
18
#include "mysys_err.h"
20
19
#include <errno.h>
 
20
#include <my_sys.h>
21
21
        /*
22
22
        ** Create a new file
23
23
        ** Arguments:
29
29
 
30
30
 
31
31
File my_create(const char *FileName, int CreateFlags, int access_flags,
32
 
               myf MyFlags)
 
32
               myf MyFlags)
33
33
{
34
34
  int fd, rc;
 
35
  DBUG_ENTER("my_create");
 
36
  DBUG_PRINT("my",("Name: '%s' CreateFlags: %d  AccessFlags: %d  MyFlags: %d",
 
37
                   FileName, CreateFlags, access_flags, MyFlags));
35
38
 
36
39
#if !defined(NO_OPEN_3)
37
 
  fd = open(FileName, access_flags | O_CREAT,
 
40
  fd = open((char *) FileName, access_flags | O_CREAT,
38
41
            CreateFlags ? CreateFlags : my_umask);
39
42
#else
40
43
  fd = open(FileName, access_flags);
47
50
    fd= -1;
48
51
  }
49
52
 
50
 
  rc= my_register_filename(fd, FileName, EE_CANTCREATEFILE, MyFlags);
 
53
  rc= my_register_filename(fd, FileName, FILE_BY_CREATE,
 
54
                           EE_CANTCREATEFILE, MyFlags);
51
55
  /*
52
56
    my_register_filename() may fail on some platforms even if the call to
53
57
    *open() above succeeds. In this case, don't leave the stale file because
60
64
    my_delete(FileName, MyFlags);
61
65
    my_errno= tmp;
62
66
  }
63
 
 
64
 
  return(rc);
 
67
  
 
68
  DBUG_RETURN(rc);
65
69
} /* my_create */