summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authormonty@donna.mysql.com <>2000-08-15 20:09:37 +0300
committermonty@donna.mysql.com <>2000-08-15 20:09:37 +0300
commitea013c2152301e459504451efdb17f4c9bb30877 (patch)
tree5f72e7444fbc3c8d944a66b54b26550a04e4f0be /mysys
parent807460bbceceec25bf97352bc5e232c3e766d70f (diff)
downloadmariadb-git-ea013c2152301e459504451efdb17f4c9bb30877.tar.gz
Fixed for Ia64 + delayed key creation + a lot of small bug fixes
Diffstat (limited to 'mysys')
-rw-r--r--mysys/charset.c6
-rw-r--r--mysys/mf_casecnv.c6
-rw-r--r--mysys/mf_pack.c12
-rw-r--r--mysys/mf_path.c2
-rw-r--r--mysys/mf_wfile.c3
-rw-r--r--mysys/my_alloc.c2
-rw-r--r--mysys/my_lib.c4
-rw-r--r--mysys/my_lread.c2
-rw-r--r--mysys/my_lwrite.c2
-rw-r--r--mysys/my_winthread.c6
-rw-r--r--mysys/string.c4
-rw-r--r--mysys/thr_alarm.c2
-rw-r--r--mysys/thr_rwlock.c8
13 files changed, 30 insertions, 29 deletions
diff --git a/mysys/charset.c b/mysys/charset.c
index 88b0972431e..bf51184589c 100644
--- a/mysys/charset.c
+++ b/mysys/charset.c
@@ -112,7 +112,7 @@ static my_bool read_charset_index(TYPELIB *charsets, myf myflags)
while (!get_word(&fb, buf))
{
uint length;
- if (!(s= (char*) my_once_alloc(length=strlen(buf)+1, myflags)))
+ if (!(s= (char*) my_once_alloc(length= (uint) strlen(buf)+1, myflags)))
{
my_fclose(fb.f,myflags);
return TRUE;
@@ -292,7 +292,7 @@ static CHARSET_INFO *add_charset(uint cs_number, const char *cs_name)
cs = (CHARSET_INFO*) my_once_alloc(sizeof(CHARSET_INFO),
MYF(MY_WME));
*cs=tmp_cs;
- cs->name = (char *) my_once_alloc(strlen(cs_name) + 1, MYF(MY_WME));
+ cs->name = (char *) my_once_alloc((uint) strlen(cs_name)+1, MYF(MY_WME));
cs->ctype = (uchar*) my_once_alloc(CTYPE_TABLE_SIZE, MYF(MY_WME));
cs->to_lower = (uchar*) my_once_alloc(TO_LOWER_TABLE_SIZE, MYF(MY_WME));
cs->to_upper = (uchar*) my_once_alloc(TO_UPPER_TABLE_SIZE, MYF(MY_WME));
@@ -410,7 +410,7 @@ my_bool set_default_charset_by_name(const char *cs_name, myf flags)
static my_bool charset_in_string(const char *name, DYNAMIC_STRING *s)
{
- uint length=strlen(name);
+ uint length= (uint) strlen(name);
const char *pos;
for (pos=s->str ; (pos=strstr(pos,name)) ; pos++)
{
diff --git a/mysys/mf_casecnv.c b/mysys/mf_casecnv.c
index 705e1361937..1d63527eb7b 100644
--- a/mysys/mf_casecnv.c
+++ b/mysys/mf_casecnv.c
@@ -32,7 +32,7 @@ void caseup_str(my_string str)
{
#ifdef USE_MB
register uint32 l;
- register char *end=str+strlen(str);
+ register char *end=str+(uint) strlen(str);
if (use_mb(default_charset_info))
while (*str)
{
@@ -51,7 +51,7 @@ void casedn_str(my_string str)
{
#ifdef USE_MB
register uint32 l;
- register char *end=str+strlen(str);
+ register char *end=str+(uint) strlen(str);
if (use_mb(default_charset_info))
while (*str)
{
@@ -144,7 +144,7 @@ int my_strcasecmp(const char *s, const char *t)
{
#ifdef USE_MB
register uint32 l;
- register const char *end=s+strlen(s);
+ register const char *end=s+(uint) strlen(s);
if (use_mb(default_charset_info))
{
while (s<end)
diff --git a/mysys/mf_pack.c b/mysys/mf_pack.c
index 8aff6a3484a..bfa9e5d8711 100644
--- a/mysys/mf_pack.c
+++ b/mysys/mf_pack.c
@@ -53,13 +53,13 @@ void pack_dirname(my_string to, const char *from)
LINT_INIT(buff_length);
if (!(cwd_err= my_getwd(buff,FN_REFLEN,MYF(0))))
{
- buff_length=strlen(buff);
+ buff_length= (uint) strlen(buff);
d_length=(uint) (start-to);
if ((start == to ||
(buff_length == d_length && !bcmp(buff,start,d_length))) &&
*start != FN_LIBCHAR && *start)
{ /* Put current dir before */
- bchange(to,d_length,buff,buff_length,strlen(to)+1);
+ bchange(to,d_length,buff,buff_length,(uint) strlen(to)+1);
}
}
@@ -68,7 +68,7 @@ void pack_dirname(my_string to, const char *from)
length=0;
if (home_dir)
{
- length=strlen(home_dir);
+ length= (uint) strlen(home_dir);
if (home_dir[length-1] == FN_LIBCHAR)
length--; /* Don't test last '/' */
}
@@ -92,7 +92,7 @@ void pack_dirname(my_string to, const char *from)
}
if (is_prefix(to,buff))
{
- length=strlen(buff);
+ length= (uint) strlen(buff);
if (to[length])
(void) strmov_overlapp(to,to+length); /* Remove everything before */
else
@@ -265,7 +265,7 @@ uint unpack_dirname(my_string to, const char *from)
DBUG_ENTER("unpack_dirname");
(void) intern_filename(buff,from); /* Change to intern name */
- length=strlen(buff); /* Fix that '/' is last */
+ length= (uint) strlen(buff); /* Fix that '/' is last */
if (length &&
#ifdef FN_DEVCHAR
buff[length-1] != FN_DEVCHAR &&
@@ -283,7 +283,7 @@ uint unpack_dirname(my_string to, const char *from)
if (tilde_expansion)
{
length-=(uint) (suffix-buff)-1;
- if (length+(h_length=strlen(tilde_expansion)) <= FN_REFLEN)
+ if (length+(h_length= (uint) strlen(tilde_expansion)) <= FN_REFLEN)
{
if (tilde_expansion[h_length-1] == FN_LIBCHAR)
h_length--;
diff --git a/mysys/mf_path.c b/mysys/mf_path.c
index 0a0a760cea1..f7dcf34e6b4 100644
--- a/mysys/mf_path.c
+++ b/mysys/mf_path.c
@@ -46,7 +46,7 @@ my_string my_path(my_string to, const char *progname,
if (!test_if_hard_path(to))
{
if (!my_getwd(curr_dir,FN_REFLEN,MYF(0)))
- bchange(to,0,curr_dir,strlen(curr_dir),strlen(to)+1);
+ bchange(to,0,curr_dir, (uint) strlen(curr_dir), (uint) strlen(to)+1);
}
}
else
diff --git a/mysys/mf_wfile.c b/mysys/mf_wfile.c
index 02e155d9936..87d1392250a 100644
--- a/mysys/mf_wfile.c
+++ b/mysys/mf_wfile.c
@@ -63,7 +63,8 @@ WF_PACK *wf_comp(my_string str)
#endif
if ((ret= (WF_PACK*) my_malloc((uint) ant*(sizeof(my_string*)+2)+
- sizeof(WF_PACK)+strlen(str)+1,MYF(MY_WME)))
+ sizeof(WF_PACK)+ (uint) strlen(str)+1,
+ MYF(MY_WME)))
== 0)
DBUG_RETURN((WF_PACK *) NULL);
ret->wild= (my_string*) (ret+1);
diff --git a/mysys/my_alloc.c b/mysys/my_alloc.c
index 693ffbfab78..45fd2516683 100644
--- a/mysys/my_alloc.c
+++ b/mysys/my_alloc.c
@@ -112,7 +112,7 @@ void free_root(MEM_ROOT *root)
char *strdup_root(MEM_ROOT *root,const char *str)
{
- uint len=strlen(str)+1;
+ uint len= (uint) strlen(str)+1;
char *pos;
if ((pos=alloc_root(root,len)))
memcpy(pos,str,len);
diff --git a/mysys/my_lib.c b/mysys/my_lib.c
index b8554b08d28..0f4a5261fba 100644
--- a/mysys/my_lib.c
+++ b/mysys/my_lib.c
@@ -353,7 +353,11 @@ myf MyFlags;
ushort mode;
char tmp_path[FN_REFLEN],*tmp_file,attrib;
my_ptrdiff_t diff;
+#ifdef _WIN64
+ __int64 handle;
+#else
long handle;
+#endif
DBUG_ENTER("my_dir");
DBUG_PRINT("my",("path: '%s' stat: %d MyFlags: %d",path,MyFlags));
diff --git a/mysys/my_lread.c b/mysys/my_lread.c
index c3b8a6704c3..94ed258151e 100644
--- a/mysys/my_lread.c
+++ b/mysys/my_lread.c
@@ -32,7 +32,7 @@ uint32 my_lread(int Filedes, byte *Buffer, uint32 Count, myf MyFlags)
Filedes, Buffer, Count, MyFlags));
/* Temp hack to get count to int32 while read wants int */
- if ((readbytes = (uint32) read(Filedes, Buffer, (size_t) Count)) != Count)
+ if ((readbytes = (uint32) read(Filedes, Buffer, (uint) Count)) != Count)
{
my_errno=errno;
if (MyFlags & (MY_WME | MY_FAE | MY_FNABP))
diff --git a/mysys/my_lwrite.c b/mysys/my_lwrite.c
index 201c36f619c..734916173ce 100644
--- a/mysys/my_lwrite.c
+++ b/mysys/my_lwrite.c
@@ -28,7 +28,7 @@ uint32 my_lwrite(int Filedes, const byte *Buffer, uint32 Count, myf MyFlags)
Filedes, Buffer, Count, MyFlags));
/* Temp hack to get count to int32 while write wants int */
- if ((writenbytes = (uint32) write(Filedes, Buffer, (size_t) Count)) != Count)
+ if ((writenbytes = (uint32) write(Filedes, Buffer, (uint) Count)) != Count)
{
my_errno=errno;
if (writenbytes == (uint32) -1 || MyFlags & (MY_NABP | MY_FNABP))
diff --git a/mysys/my_winthread.c b/mysys/my_winthread.c
index 436fc954d93..7a1e1365325 100644
--- a/mysys/my_winthread.c
+++ b/mysys/my_winthread.c
@@ -83,11 +83,11 @@ int pthread_create(pthread_t *thread_id, pthread_attr_t *attr,
*thread_id=map->pthreadself=hThread;
pthread_mutex_unlock(&THR_LOCK_thread);
- if ((long) hThread == -1L)
+ if (hThread == (HANDLE) -1)
{
- long error=errno;
+ int error=errno;
DBUG_PRINT("error",
- ("Can't create thread to handle request (error %ld)",error));
+ ("Can't create thread to handle request (error %d)",error));
DBUG_RETURN(error ? error : -1);
}
VOID(SetThreadPriority(hThread, attr->priority)) ;
diff --git a/mysys/string.c b/mysys/string.c
index f7e265a43e6..0696c72b922 100644
--- a/mysys/string.c
+++ b/mysys/string.c
@@ -33,7 +33,7 @@ my_bool init_dynamic_string(DYNAMIC_STRING *str, const char *init_str,
if (!alloc_increment)
alloc_increment=128;
length=1;
- if (init_str && (length=strlen(init_str)+1) < init_alloc)
+ if (init_str && (length= (uint) strlen(init_str)+1) < init_alloc)
init_alloc=((length+alloc_increment-1)/alloc_increment)*alloc_increment;
if (!init_alloc)
init_alloc=alloc_increment;
@@ -53,7 +53,7 @@ my_bool dynstr_set(DYNAMIC_STRING *str, const char *init_str)
uint length;
DBUG_ENTER("dynstr_set");
- if (init_str && (length=strlen(init_str)+1) > str->max_length)
+ if (init_str && (length= (uint) strlen(init_str)+1) > str->max_length)
{
str->max_length=((length+str->alloc_increment-1)/str->alloc_increment)*
str->alloc_increment;
diff --git a/mysys/thr_alarm.c b/mysys/thr_alarm.c
index a681c1b110d..de8d3718c11 100644
--- a/mysys/thr_alarm.c
+++ b/mysys/thr_alarm.c
@@ -831,7 +831,7 @@ bool thr_alarm(thr_alarm_t *alrm, uint sec, ALARM *alarm)
alrm->crono=0;
return 1;
}
- if (!(alrm->crono=SetTimer(NULL,0,(long) sec*1000L, (TIMERPROC) NULL)))
+ if (!(alrm->crono=SetTimer((HWND) NULL,0, sec*1000,(TIMERPROC) NULL)))
return 1;
return 0;
}
diff --git a/mysys/thr_rwlock.c b/mysys/thr_rwlock.c
index fc2eea551da..37630956e7f 100644
--- a/mysys/thr_rwlock.c
+++ b/mysys/thr_rwlock.c
@@ -87,7 +87,7 @@ int my_rw_rdlock( rw_lock_t *rwp ) {
pthread_mutex_lock(&rwp->lock);
/* active or queued writers */
- while ( ( rwp->state < 0 ) && rwp->waiters )
+ while ( ( rwp->state < 0 ) || rwp->waiters )
pthread_cond_wait( &rwp->readers, &rwp->lock);
rwp->state++;
@@ -103,12 +103,8 @@ int my_rw_wrlock( rw_lock_t *rwp ) {
while ( rwp->state )
pthread_cond_wait( &rwp->writers, &rwp->lock);
-
rwp->state = -1;
-
- if ( ( --rwp->waiters == 0 ) && ( rwp->state >= 0 ) )
- pthread_cond_broadcast( &rwp->readers );
-
+ --rwp->waiters;
pthread_mutex_unlock( &rwp->lock );
return( 0 );