some small changes to help get 5.1 compiling cleanly on Windows and with Visual C++ 2005

parent 98e20c9b
......@@ -3030,8 +3030,8 @@ ha_innobase::store_key_val_for_row(
if (key_part->length > 0 && cs->mbmaxlen > 1) {
len = (ulint) cs->cset->well_formed_len(cs,
src_start,
src_start + key_part->length,
(const char*)src_start,
(const char*)(src_start + key_part->length),
key_part->length / cs->mbmaxlen,
&error);
} else {
......
......@@ -883,7 +883,7 @@ int ha_partition::open(const char *name, int mode, uint test_if_locked)
alloc_len+= table->s->max_key_length;
if (!m_ordered_rec_buffer)
{
if (!(m_ordered_rec_buffer= my_malloc(alloc_len, MYF(MY_WME))))
if (!(m_ordered_rec_buffer= (byte*)my_malloc(alloc_len, MYF(MY_WME))))
{
DBUG_RETURN(1);
}
......@@ -895,14 +895,14 @@ int ha_partition::open(const char *name, int mode, uint test_if_locked)
We also set-up a reference to the first record for temporary use in
setting up the scan.
*/
char *ptr= m_ordered_rec_buffer;
char *ptr= (char*)m_ordered_rec_buffer;
uint i= 0;
do
{
int2store(ptr, i);
ptr+= m_rec_length + PARTITION_BYTES_IN_POS;
} while (++i < m_tot_parts);
m_start_key.key= ptr;
m_start_key.key= (const byte*)ptr;
}
}
file= m_file;
......
......@@ -461,7 +461,7 @@ int key_rec_cmp(void *key, byte *first_rec, byte *second_rec)
uint key_parts= key_info->key_parts, i= 0;
KEY_PART_INFO *key_part= key_info->key_part;
char *rec0= key_part->field->ptr - key_part->offset;
my_ptrdiff_t first_diff= first_rec - rec0, sec_diff= second_rec - rec0;
my_ptrdiff_t first_diff= first_rec - (byte*)rec0, sec_diff= second_rec - (byte*)rec0;
int result= 0;
DBUG_ENTER("key_rec_cmp");
......
......@@ -84,6 +84,7 @@ extern my_bool innobase_log_archive,
innobase_file_per_table,
innobase_locks_unsafe_for_binlog;
extern "C" {
extern ulong srv_max_buf_pool_modified_pct;
extern ulong srv_max_purge_lag;
extern ulong srv_auto_extend_increment;
......@@ -92,6 +93,7 @@ extern ulong srv_n_free_tickets_to_enter;
extern ulong srv_thread_sleep_delay;
extern ulong srv_thread_concurrency;
extern ulong srv_commit_concurrency;
}
/* WITH_NDBCLUSTER_STORAGE_ENGINE */
extern ulong ndb_cache_check_time;
......
......@@ -2937,7 +2937,7 @@ void get_partition_set(const TABLE *table, byte *buf, const uint index,
sub_part= get_sub_part_id_from_key(table, buf, key_info, key_spec);
else if (part_info->all_fields_in_PPF.is_set(index))
{
if (get_part_id_from_key(table,buf,key_info,key_spec,&part_part))
if (get_part_id_from_key(table,buf,key_info,key_spec,(uint32*)&part_part))
{
/*
The value of the RANGE or LIST partitioning was outside of
......@@ -2976,7 +2976,7 @@ void get_partition_set(const TABLE *table, byte *buf, const uint index,
sub_part= get_sub_part_id_from_key(table, buf, key_info, key_spec);
else if (check_part_func_bound(part_info->subpart_field_array))
{
if (get_part_id_from_key(table,buf,key_info,key_spec,&part_part))
if (get_part_id_from_key(table,buf,key_info,key_spec,(uint32*)&part_part))
{
part_spec->start_part= no_parts;
clear_indicator_in_key_fields(key_info);
......
......@@ -168,11 +168,8 @@ void udf_init()
This is done to ensure that only approved dll from the system
directories are used (to make this even remotely secure).
*/
if (my_strchr(files_charset_info, dl_name,
dl_name + strlen(dl_name), '/') ||
IF_WIN(my_strchr(files_charset_info, dl_name,
dl_name + strlen(dl_name), '\\'),0) ||
strlen(name.str) > NAME_LEN)
if (my_strchr(files_charset_info, dl_name, dl_name + strlen(dl_name), FN_LIBCHAR) ||
strlen(name.str) > NAME_LEN)
{
sql_print_error("Invalid row in mysql.func table for function '%.64s'",
name.str);
......@@ -391,9 +388,7 @@ int mysql_create_function(THD *thd,udf_func *udf)
This is done to ensure that only approved dll from the system
directories are used (to make this even remotely secure).
*/
if (my_strchr(files_charset_info, udf->dl, udf->dl + strlen(udf->dl), '/') ||
IF_WIN(strchr(files_charset_info, udf->dl,
udf->dl + strlen(udf->dl), '\\'),0))
if (my_strchr(files_charset_info, udf->dl, udf->dl + strlen(udf->dl), FN_LIBCHAR))
{
my_message(ER_UDF_NO_PATHS, ER(ER_UDF_NO_PATHS), MYF(0));
DBUG_RETURN(1);
......
......@@ -36,6 +36,9 @@
#ifndef SHAREDIR
#define SHAREDIR "share/"
#endif
#ifndef LIBDIR
#define LIBDIR "lib/"
#endif
#define ER(X) errmesg[(X) - ER_ERROR_FIRST]
#define ER_SAFE(X) (((X) >= ER_ERROR_FIRST && (X) <= ER_ERROR_LAST) ? ER(X) : "Invalid error code")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment