summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
Diffstat (limited to 'mysys')
-rw-r--r--mysys/charset.c8
-rw-r--r--mysys/default.c2
-rw-r--r--mysys/my_alloc.c4
-rw-r--r--mysys/my_copy.c7
-rw-r--r--mysys/my_thr_init.c5
5 files changed, 18 insertions, 8 deletions
diff --git a/mysys/charset.c b/mysys/charset.c
index 9fb02f1a39f..cce97677b14 100644
--- a/mysys/charset.c
+++ b/mysys/charset.c
@@ -388,7 +388,7 @@ my_bool STDCALL init_available_charsets(myf myflags)
static my_bool init_available_charsets(myf myflags)
#endif
{
- char fname[FN_REFLEN];
+ char fname[FN_REFLEN + sizeof(MY_CHARSET_INDEX)];
my_bool error=FALSE;
/*
We have to use charset_initialized to not lock on THR_LOCK_charset
@@ -519,7 +519,7 @@ CHARSET_INFO *get_charset(uint cs_number, myf flags)
if (!cs && (flags & MY_WME))
{
- char index_file[FN_REFLEN], cs_string[23];
+ char index_file[FN_REFLEN + sizeof(MY_CHARSET_INDEX)], cs_string[23];
strmov(get_charsets_dir(index_file),MY_CHARSET_INDEX);
cs_string[0]='#';
int10_to_str(cs_number, cs_string+1, 10);
@@ -539,7 +539,7 @@ CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags)
if (!cs && (flags & MY_WME))
{
- char index_file[FN_REFLEN];
+ char index_file[FN_REFLEN + sizeof(MY_CHARSET_INDEX)];
strmov(get_charsets_dir(index_file),MY_CHARSET_INDEX);
my_error(EE_UNKNOWN_COLLATION, MYF(ME_BELL), cs_name, index_file);
}
@@ -564,7 +564,7 @@ CHARSET_INFO *get_charset_by_csname(const char *cs_name,
if (!cs && (flags & MY_WME))
{
- char index_file[FN_REFLEN];
+ char index_file[FN_REFLEN + sizeof(MY_CHARSET_INDEX)];
strmov(get_charsets_dir(index_file),MY_CHARSET_INDEX);
my_error(EE_UNKNOWN_CHARSET, MYF(ME_BELL), cs_name, index_file);
}
diff --git a/mysys/default.c b/mysys/default.c
index 0cb6225ad7a..926a8f530bf 100644
--- a/mysys/default.c
+++ b/mysys/default.c
@@ -885,8 +885,8 @@ void my_print_default_files(const char *conf_file)
fputs(name,stdout);
}
}
- puts("");
}
+ puts("");
}
void print_defaults(const char *conf_file, const char **groups)
diff --git a/mysys/my_alloc.c b/mysys/my_alloc.c
index edf1be1b2b6..b4ebaeba647 100644
--- a/mysys/my_alloc.c
+++ b/mysys/my_alloc.c
@@ -133,6 +133,10 @@ void reset_root_defaults(MEM_ROOT *mem_root, uint block_size,
mem->next= *prev;
*prev= mem_root->pre_alloc= mem;
}
+ else
+ {
+ mem_root->pre_alloc= 0;
+ }
}
}
else
diff --git a/mysys/my_copy.c b/mysys/my_copy.c
index 80a68f61b12..3f8b0695a25 100644
--- a/mysys/my_copy.c
+++ b/mysys/my_copy.c
@@ -110,6 +110,11 @@ int my_copy(const char *from, const char *to, myf MyFlags)
err:
if (from_file >= 0) VOID(my_close(from_file,MyFlags));
- if (to_file >= 0) VOID(my_close(to_file,MyFlags));
+ if (to_file >= 0)
+ {
+ VOID(my_close(to_file, MyFlags));
+ /* attempt to delete the to-file we've partially written */
+ VOID(my_delete(to, MyFlags));
+ }
DBUG_RETURN(-1);
} /* my_copy */
diff --git a/mysys/my_thr_init.c b/mysys/my_thr_init.c
index 75da07390ba..79a28ef04b0 100644
--- a/mysys/my_thr_init.c
+++ b/mysys/my_thr_init.c
@@ -79,11 +79,12 @@ static uint get_thread_lib(void);
my_bool my_thread_global_init(void)
{
+ int pth_ret;
thd_lib_detected= get_thread_lib();
- if (pthread_key_create(&THR_KEY_mysys,0))
+ if ((pth_ret= pthread_key_create(&THR_KEY_mysys, NULL)) != 0)
{
- fprintf(stderr,"Can't initialize threads: error %d\n",errno);
+ fprintf(stderr,"Can't initialize threads: error %d\n", pth_ret);
return 1;
}