~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/function/str/load_file.cc

  • Committer: Monty Taylor
  • Date: 2010-02-05 08:11:15 UTC
  • mfrom: (1283 build)
  • mto: (1273.13.43 fix_is)
  • mto: This revision was merged to the branch mainline in revision 1300.
  • Revision ID: mordred@inaugust.com-20100205081115-dr82nvrwv4lvw7sd
Merged trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
#include <fcntl.h>
29
29
#include <sys/stat.h>
30
30
 
 
31
namespace drizzled
 
32
{
 
33
 
31
34
String *Item_load_file::val_str(String *str)
32
35
{
33
36
  assert(fixed == 1);
39
42
  if (!(file_name= args[0]->val_str(str)))
40
43
    goto err;
41
44
 
42
 
  (void) fn_format(path, file_name->c_ptr(), drizzle_real_data_home, "",
 
45
  (void) internal::fn_format(path, file_name->c_ptr(), drizzle_real_data_home, "",
43
46
                   MY_RELATIVE_PATH | MY_UNPACK_FILENAME);
44
47
 
45
48
  /* Read only allowed from within dir specified by secure_file_priv */
65
68
  }
66
69
  if (tmp_value.alloc((size_t)stat_info.st_size))
67
70
    goto err;
68
 
  if ((file = my_open(file_name->c_ptr(), O_RDONLY, MYF(0))) < 0)
 
71
  if ((file = internal::my_open(file_name->c_ptr(), O_RDONLY, MYF(0))) < 0)
69
72
    goto err;
70
 
  if (my_read(file, (unsigned char*) tmp_value.ptr(), (size_t)stat_info.st_size, MYF(MY_NABP)))
 
73
  if (internal::my_read(file, (unsigned char*) tmp_value.ptr(), (size_t)stat_info.st_size, MYF(MY_NABP)))
71
74
  {
72
 
    my_close(file, MYF(0));
 
75
    internal::my_close(file, MYF(0));
73
76
    goto err;
74
77
  }
75
78
  tmp_value.length((size_t)stat_info.st_size);
76
 
  my_close(file, MYF(0));
 
79
  internal::my_close(file, MYF(0));
77
80
  null_value = 0;
78
81
  return(&tmp_value);
79
82
 
83
86
}
84
87
 
85
88
 
 
89
} /* namespace drizzled */