~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to server/discover.cc

Removed dead variable, sorted authors file.

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
 
16
17
/**
17
18
  @file
18
19
 
19
20
  @brief
20
21
  Functions for discover of frm file from handler
21
22
*/
22
 
#include <drizzled/server_includes.h>
 
23
 
 
24
#include "mysql_priv.h"
 
25
#include <my_dir.h>
23
26
 
24
27
/**
25
28
  Read the contents of a .frm file.
39
42
  @retval
40
43
    3    Could not allocate data for read.  Could not read file
41
44
*/
42
 
int readfrm(const char *name, unsigned char **frmdata, size_t *len)
 
45
 
 
46
int readfrm(const char *name, uchar **frmdata, size_t *len)
43
47
{
44
48
  int    error;
45
49
  char   index_file[FN_REFLEN];
46
50
  File   file;
47
51
  size_t read_len;
48
 
  unsigned char *read_data;
 
52
  uchar *read_data;
49
53
  struct stat state;  
50
54
  
51
55
  *frmdata= NULL;      // In case of errors
53
57
  error= 1;
54
58
  if ((file=my_open(fn_format(index_file,name,"",reg_ext,
55
59
                              MY_UNPACK_FILENAME|MY_APPEND_EXT),
56
 
                    O_RDONLY,
 
60
                    O_RDONLY | O_SHARE,
57
61
                    MYF(0))) < 0)  
58
62
    goto err_end; 
59
63
  
70
74
    goto err;
71
75
 
72
76
  // Setup return data
73
 
  *frmdata= (unsigned char*) read_data;
 
77
  *frmdata= (uchar*) read_data;
74
78
  *len= read_len;
75
79
  error= 0;
76
80
  
77
81
 err:
78
82
  if (file > 0)
79
 
    my_close(file,MYF(MY_WME));
 
83
    VOID(my_close(file,MYF(MY_WME)));
80
84
  
81
85
 err_end:                     /* Here when no file */
82
86
  return(error);
96
100
  @retval
97
101
    2    Could not write file
98
102
*/
99
 
int writefrm(const char *name, const unsigned char *frmdata, size_t len)
 
103
 
 
104
int writefrm(const char *name, const uchar *frmdata, size_t len)
100
105
{
101
106
  File file;
102
107
  char   index_file[FN_REFLEN];
109
114
  {
110
115
    if (my_write(file, frmdata, len,MYF(MY_WME | MY_NABP)))
111
116
      error= 2;
112
 
    my_close(file,MYF(0));
 
117
    VOID(my_close(file,MYF(0)));
113
118
  }
114
119
  return(error);
115
120
} /* writefrm */
 
121
 
 
122
 
 
123
 
 
124
 
 
125