]> granicus.if.org Git - php/commitdiff
- Try and revert libmysql for 4.0.2
authorAndi Gutmans <andi@php.net>
Tue, 22 Aug 2000 17:59:35 +0000 (17:59 +0000)
committerAndi Gutmans <andi@php.net>
Tue, 22 Aug 2000 17:59:35 +0000 (17:59 +0000)
86 files changed:
ext/mysql/libmysql/Makefile.in
ext/mysql/libmysql/array.c
ext/mysql/libmysql/bchange.c
ext/mysql/libmysql/bmove_upp.c
ext/mysql/libmysql/dbug.c
ext/mysql/libmysql/dbug.h
ext/mysql/libmysql/default.c
ext/mysql/libmysql/dll.c
ext/mysql/libmysql/errmsg.c
ext/mysql/libmysql/errmsg.h
ext/mysql/libmysql/errors.c
ext/mysql/libmysql/get_password.c
ext/mysql/libmysql/global.h
ext/mysql/libmysql/int2str.c
ext/mysql/libmysql/is_prefix.c
ext/mysql/libmysql/libmysql.c
ext/mysql/libmysql/list.c
ext/mysql/libmysql/longlong2str.c
ext/mysql/libmysql/m_ctype.h
ext/mysql/libmysql/m_string.h
ext/mysql/libmysql/mf_casecnv.c
ext/mysql/libmysql/mf_dirname.c
ext/mysql/libmysql/mf_fn_ext.c
ext/mysql/libmysql/mf_format.c
ext/mysql/libmysql/mf_loadpath.c
ext/mysql/libmysql/mf_pack.c
ext/mysql/libmysql/mf_path.c
ext/mysql/libmysql/mf_unixpath.c
ext/mysql/libmysql/mf_wcomp.c
ext/mysql/libmysql/mulalloc.c
ext/mysql/libmysql/my_alarm.h
ext/mysql/libmysql/my_alloc.c
ext/mysql/libmysql/my_compress.c
ext/mysql/libmysql/my_config.h
ext/mysql/libmysql/my_create.c
ext/mysql/libmysql/my_delete.c
ext/mysql/libmysql/my_dir.h
ext/mysql/libmysql/my_div.c
ext/mysql/libmysql/my_error.c
ext/mysql/libmysql/my_fopen.c
ext/mysql/libmysql/my_getwd.c
ext/mysql/libmysql/my_init.c
ext/mysql/libmysql/my_list.h
ext/mysql/libmysql/my_malloc.c
ext/mysql/libmysql/my_messnc.c
ext/mysql/libmysql/my_net.c
ext/mysql/libmysql/my_net.h
ext/mysql/libmysql/my_once.c
ext/mysql/libmysql/my_open.c
ext/mysql/libmysql/my_pthread.c
ext/mysql/libmysql/my_pthread.h
ext/mysql/libmysql/my_read.c
ext/mysql/libmysql/my_realloc.c
ext/mysql/libmysql/my_static.c
ext/mysql/libmysql/my_static.h
ext/mysql/libmysql/my_sys.h
ext/mysql/libmysql/my_tempnam.c
ext/mysql/libmysql/my_thr_init.c
ext/mysql/libmysql/my_write.c
ext/mysql/libmysql/mysql.h
ext/mysql/libmysql/mysql_com.h
ext/mysql/libmysql/mysql_version.h
ext/mysql/libmysql/mysqld_error.h
ext/mysql/libmysql/mysys_err.h
ext/mysql/libmysql/mysys_priv.h
ext/mysql/libmysql/net.c
ext/mysql/libmysql/password.c
ext/mysql/libmysql/safemalloc.c
ext/mysql/libmysql/str2int.c
ext/mysql/libmysql/strcend.c
ext/mysql/libmysql/strcont.c
ext/mysql/libmysql/strfill.c
ext/mysql/libmysql/string.c
ext/mysql/libmysql/strinstr.c
ext/mysql/libmysql/strmake.c
ext/mysql/libmysql/strmov.c
ext/mysql/libmysql/strnmov.c
ext/mysql/libmysql/strto.c
ext/mysql/libmysql/strtoll.c
ext/mysql/libmysql/strtoull.c
ext/mysql/libmysql/strxmov.c
ext/mysql/libmysql/thr_alarm.h
ext/mysql/libmysql/thr_mutex.c
ext/mysql/libmysql/typelib.c
ext/mysql/libmysql/violite.c
ext/mysql/libmysql/violite.h

index 973e901d7998a34605f31f4ed59619595d56dd18..aaf98db2bcb432b5bd3c7c2599e69237b4de11fe 100644 (file)
@@ -9,11 +9,8 @@ LTLIBRARY_SOURCES = libmysql.c errmsg.c net.c violite.c password.c \
        my_pthread.c my_thr_init.c thr_mutex.c mulalloc.c string.c default.c \
        my_compress.c array.c my_once.c list.c my_net.c dbug.c \
        strmov.c strxmov.c strnmov.c strmake.c strend.c strfill.c \
-       is_prefix.c int2str.c str2int.c strinstr.c \
+       ct_init.c is_prefix.c int2str.c str2int.c strinstr.c \
        strcont.c strcend.c bchange.c bmove.c bmove_upp.c \
-       longlong2str.c strtoull.c strtoll.c \
-       ct_init.c ctype-latin1.c charset.c ctype-big5.c ctype-czech.c \
-       ctype-euc_kr.c ctype-gb2312.c ctype-gbk.c ctype-sjis.c ctype-tis620.c \
-       ctype-ujis.c ctype.c ctype_autoconf.c ctype_extra_sources.c
+       longlong2str.c strtoull.c strtoll.c ctype-latin1.c
 
 include $(top_srcdir)/build/dynlib.mk
index 17e5ded322b1bd39787fee77834d7ac8b71903f8..f8ba10c25315e737f53f9d079255d61297e04385 100644 (file)
@@ -1,23 +1,9 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* Handling of arrays that can grow dynamicly. */
 
-#if defined(WIN32) || defined(__WIN__)
+#if defined(WIN32) || defined(__WIN32__)
 #undef SAFEMALLOC                              /* Problems with threads */
 #endif
 
index 99066cf1e95207aa143799576224834df6efaa88..6cd4c41457ee88315cb61826cec5cbf8e9b1ab2e 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*  File   : bchange.c
     Author : Michael widenius
index af6575ebf41f3303d8864a0e3488c86967f789e4..435abfb6d6367caff192008898770b740bbfba6e 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*  File   : bmove.c
     Author : Michael widenius
index c004de587f2886e133355d294e25b7114af7f449..8eb5fea5ebcd3a4d28c1e9b18d4974c17f971fe5 100644 (file)
@@ -72,7 +72,7 @@
 #include <global.h>
 #include <m_string.h>
 #include <errno.h>
-#if defined(MSDOS) || defined(__WIN__)
+#if defined(MSDOS) || defined(__WIN32__)
 #include <process.h>
 #endif
 
  *     Typedefs to make things more obvious.
  */
 
-#ifndef __WIN__
+#ifndef __WIN32__
 typedef int BOOLEAN;
 #else
 #define BOOLEAN BOOL
@@ -310,13 +310,11 @@ static char *static_strtok(char *s1,pchar chr);
 #if !defined(HAVE_ACCESS) || defined(MSDOS)
 #define EXISTS(pathname) (FALSE)       /* Assume no existance */
 #define Writable(name) (TRUE)
+#define ChangeOwner(name)
 #else
 #define EXISTS(pathname)        (access (pathname, F_OK) == 0)
 #define WRITABLE(pathname)      (access (pathname, W_OK) == 0)
 #endif
-#ifndef MSDOS
-#define ChangeOwner(name)
-#endif
 
 /*
  *     Translate some calls among different systems.
@@ -1057,20 +1055,20 @@ struct link *linkp;
 const char *cp;
 {
   REGISTER struct link *scan;
-  REGISTER BOOLEAN result;
+  REGISTER BOOLEAN accept;
 
   if (linkp == NULL) {
-    result = TRUE;
+    accept = TRUE;
   } else {
-    result = FALSE;
+    accept = FALSE;
     for (scan = linkp; scan != NULL; scan = scan -> next_link) {
       if (STREQ (scan -> str, cp)) {
-       result = TRUE;
+       accept = TRUE;
        break;
       }
     }
   }
-  return (result);
+  return (accept);
 }
 
 
@@ -1219,20 +1217,20 @@ static BOOLEAN DoProfile ()
 BOOLEAN _db_keyword_ (keyword)
 const char *keyword;
 {
-  REGISTER BOOLEAN result;
+  REGISTER BOOLEAN accept;
   CODE_STATE *state;
 
   if (!init_done)
     _db_push_ ("");
   state=code_state();
-  result = FALSE;
+  accept = FALSE;
   if (DEBUGGING &&
       state->level <= stack -> maxdepth &&
       InList (stack -> functions, state->func) &&
       InList (stack -> keywords, keyword) &&
       InList (stack -> processes, _db_process_))
-    result = TRUE;
-  return (result);
+    accept = TRUE;
+  return (accept);
 }
 
 /*
@@ -1923,7 +1921,7 @@ static void dbug_flush(CODE_STATE *state)
   if (stack->flags & FLUSH_ON_WRITE)
 #endif
   {
-#if defined(MSDOS) || defined(__WIN__)
+#if defined(MSDOS) || defined(__WIN32__)
     if (_db_fp_ != stdout && _db_fp_ != stderr)
     {
       if (!(freopen(stack->name,"a",_db_fp_)))
@@ -1990,7 +1988,7 @@ static unsigned long Clock ()
 }
 
 #else
-#if defined(MSDOS) || defined(__WIN__)
+#if defined(MSDOS) || defined(__WIN32__)
 
 static ulong Clock()
 {
@@ -2040,7 +2038,7 @@ static unsigned long Clock ()
 }
 #endif
 #endif /* amiga */
-#endif /* MSDOS || __WIN__ */
+#endif /* MSDOS || __WIN32__ */
 #endif /* RUSAGE */
 
 
index de6bbc66ed7c77a52d74190dc53f4cbb077a918b..3331f9032d583e5b9c93c05b0284e19ae157493b 100644 (file)
@@ -1,20 +1,3 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
-
 #ifndef _dbug_h
 #define _dbug_h
 #ifdef __cplusplus
index ae4ba5044be9d156403b1d4686febd6229abb6e8..b1e33f3e59ea30dd5bdf17f19c6862b0462a491a 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1998 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /****************************************************************************
 ** Add all options from files named "group".cnf from the default_directories
@@ -42,7 +28,7 @@
 /* Which directories are searched for options (and in which order) */
 
 const char *default_directories[]= {
-#ifdef __WIN__
+#ifdef __WIN32__
 "C:/",
 #else
 "/etc/",
@@ -50,14 +36,14 @@ const char *default_directories[]= {
 #ifdef DATADIR
 DATADIR,
 #endif
-#ifndef __WIN__
+#ifndef __WIN32__
 "~/",
 #endif
 NullS,
 };
 
 #define default_ext    ".cnf"          /* extension for config file */
-#ifdef __WIN__
+#ifdef __WIN32__
 #include <winbase.h>
 #define windows_ext    ".ini"
 #endif
@@ -73,7 +59,7 @@ void load_defaults(const char *conf_file, const char **groups,
   DYNAMIC_ARRAY args;
   const char **dirs, *extra_default_file;
   TYPELIB group;
-  my_bool found_print_defaults=0;
+  my_bool print_defaults=0;
   MEM_ROOT alloc;
   char *ptr,**res;
   DBUG_ENTER("load_defaults");
@@ -92,7 +78,7 @@ void load_defaults(const char *conf_file, const char **groups,
       res[i-1]=argv[0][i];
     (*argc)--;
     *argv=res;
-    *(MEM_ROOT*) ptr= alloc;                   /* Save alloc root for free */
+    memcpy(ptr,&alloc,sizeof(alloc));          /* Save alloc root for free */
     DBUG_VOID_RETURN;
   }
 
@@ -102,8 +88,8 @@ void load_defaults(const char *conf_file, const char **groups,
     extra_default_file=strchr(argv[0][1],'=')+1;
 
   group.count=0;
-  group.name= "defaults";
-  group.type_names= groups;
+  group.name= (char*) "defaults";
+  group.type_names=(char**) groups;
   for (; *groups ; groups++)
     group.count++;
 
@@ -123,7 +109,7 @@ void load_defaults(const char *conf_file, const char **groups,
   }
   else
   {
-#ifdef __WIN__
+#ifdef __WIN32__
     char system_dir[FN_REFLEN];
     GetWindowsDirectory(system_dir,sizeof(system_dir));
     if (search_default_file(&args, &alloc, system_dir, conf_file, windows_ext,
@@ -154,7 +140,7 @@ void load_defaults(const char *conf_file, const char **groups,
   /* Check if we wan't to see the new argument list */
   if (*argc >= 2 && !strcmp(argv[0][1],"--print-defaults"))
   {
-    found_print_defaults=1;
+    print_defaults=1;
     --*argc; ++*argv;                          /* skipp argument */
   }
 
@@ -164,9 +150,9 @@ void load_defaults(const char *conf_file, const char **groups,
 
   (*argc)+=args.elements;
   *argv= (char**) res;
-  *(MEM_ROOT*) ptr= alloc;                     /* Save alloc root for free */
+  memcpy(ptr,&alloc,sizeof(alloc));            /* Save alloc root for free */
   delete_dynamic(&args);
-  if (found_print_defaults)
+  if (print_defaults)
   {
     int i;
     printf("%s would have been started with the following arguments:\n",
@@ -187,7 +173,7 @@ void load_defaults(const char *conf_file, const char **groups,
 void free_defaults(char **argv)
 {
   MEM_ROOT ptr;
-  memcpy_fixed((char*) &ptr,(char *) argv - sizeof(ptr), sizeof(ptr));
+  memcpy((char*) &ptr,(char *) argv - sizeof(ptr),sizeof(ptr));
   free_root(&ptr);
 }
 
@@ -322,9 +308,7 @@ static my_bool search_default_file(DYNAMIC_ARRAY *args, MEM_ROOT *alloc,
 
 void print_defaults(const char *conf_file, const char **groups)
 {
-#ifdef __WIN__
   bool have_ext=fn_ext(conf_file)[0] != 0;
-#endif
   char name[FN_REFLEN];
   const char **dirs;
   puts("\nDefault options are read from the following files in the given order:");
@@ -333,7 +317,7 @@ void print_defaults(const char *conf_file, const char **groups)
     fputs(conf_file,stdout);
   else
   {
-#ifdef __WIN__
+#ifdef __WIN32__
     GetWindowsDirectory(name,sizeof(name));
     printf("%s\\%s%s ",name,conf_file,have_ext ? "" : windows_ext);
 #endif
@@ -358,5 +342,4 @@ void print_defaults(const char *conf_file, const char **groups)
 --print-defaults       Print the program argument list and exit\n\
 --no-defaults          Don't read default options from any options file\n\
 --defaults-file=#      Only read default options from the given file #");
-}
-
+};
index 4c952c5889eacde56d32b392850d7b5935f2c76b..a3116b33ad8e6caaa43b2c857f3ed511a48711a1 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1999 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*
 ** Handling initialization of the dll library
@@ -43,7 +29,7 @@ void libmysql_init(void)
   }
 }
 
-#ifdef __WIN__
+#ifdef WIN32
 
 static int inited=0,threads=0;
 HINSTANCE NEAR s_hModule;      /* Saved module handle */
index 194542afd7f9cf82007afe705053bddd5e2325cc..96f1f4155440741898245d86e5a8f8da87e3c5dd 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1997 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* Error messages for MySQL clients */
 /* error messages for the demon is in share/language/errmsg.sys */
@@ -43,9 +29,7 @@ const char *client_errors[]=
   "Verbindung ueber Named Pipe; Host: %-.64s",
   "Kann nicht auf Named Pipe warten. Host: %-.64s  pipe: %-.32s (%lu)",
   "Kann Named Pipe nicht oeffnen. Host: %-.64s  pipe: %-.32s (%lu)",
-  "Kann den Status der Named Pipe nicht setzen.  Host: %-.64s  pipe: %-.32s (%lu)",
-  "Can't initialize character set %-.64s (path: %-.64s)",
-  "Got packet bigger than 'max_allowed_packet'"
+  "Kann den Status der Named Pipe nicht setzen.  Host: %-.64s  pipe: %-.32s (%lu)"
 };
 
 #else /* ENGLISH */
@@ -70,8 +54,6 @@ const char *client_errors[]=
   "Can't wait for named pipe to host: %-.64s  pipe: %-.32s (%lu)",
   "Can't open named pipe to host: %-.64s  pipe: %-.32s (%lu)",
   "Can't set state of named pipe to host: %-.64s  pipe: %-.32s (%lu)",
-  "Can't initialize character set %-.64s (path: %-.64s)",
-  "Got packet bigger than 'max_allowed_packet'"
 };
 #endif
 
index b7afe11b6153e205de97eacd05acdf579102d557..d88653929b58d014b5f51ae755a61ec0b51e33cf 100644 (file)
@@ -1,31 +1,11 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* Error messages for mysql clients */
 /* error messages for the demon is in share/language/errmsg.sys */
 
-#ifdef __cplusplus
-extern "C" {
-#endif
 void   init_client_errs(void);
 extern const char *client_errors[];    /* Error messages */
-#ifdef __cplusplus
-}
-#endif
 
 #define CR_MIN_ERROR           2000    /* For easier client code */
 #define CR_MAX_ERROR           2999
@@ -51,5 +31,3 @@ extern const char *client_errors[];   /* Error messages */
 #define CR_NAMEDPIPEWAIT_ERROR 2016
 #define CR_NAMEDPIPEOPEN_ERROR 2017
 #define CR_NAMEDPIPESETSTATE_ERROR 2018
-#define CR_CANT_READ_CHARSET   2019
-#define CR_NET_PACKET_TOO_LARGE 2020
index 03b0b9d7f4654dbc309e07b123f8b14589a67414..358d092844168780bd3d8766fc65026a3ac0b5de 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #include "mysys_priv.h"
 #include "mysys_err.h"
@@ -44,7 +30,6 @@ const char * NEAR globerrs[GLOBERRS]=
   "%d files and %d streams is left open\n",
   "Disk is full writing '%s'. Waiting for someone to free space...",
   "Can't create directory '%s' (Errcode: %d)",
-  "Character set '%s' is not a compiled character set and is not specified in the '%s' file"
 };
 
 void init_glob_errs(void)
@@ -79,6 +64,5 @@ void init_glob_errs()
   EE(EE_OPEN_WARNING)  = "%d files and %d streams is left open\n";
   EE(EE_DISK_FULL)     = "Disk is full writing '%s'. Waiting for someone to free space...";
   EE(EE_CANT_MKDIR)    ="Can't create directory '%s' (Errcode: %d)";
-  EE(EE_UNKNOWN_CHARSET)= "Character set is not a compiled character set and is not specified in the %s file";
 }
 #endif
index d61c40a9559e5b8a17ce7f2a919a062eaf33da58..e0a460c3a372eddc66692d5af53ce8897198487c 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*
 ** Ask for a password from tty
@@ -35,7 +21,7 @@
 #include <pwd.h>
 #endif /* HAVE_PWD_H */
 #else /* ! HAVE_GETPASS */
-#ifndef __WIN__
+#ifndef __WIN32__
 #include <sys/ioctl.h>
 #ifdef HAVE_TERMIOS_H                          /* For tty-password */
 #include       <termios.h>
 #endif
 #else
 #include <conio.h>
-#endif /* __WIN__ */
+#endif /* __WIN32__ */
 #endif /* HAVE_GETPASS */
 
 #ifdef HAVE_GETPASSPHRASE                      /* For Solaris */
 #define getpass(A) getpassphrase(A)
 #endif
 
-#ifdef __WIN__
+#ifdef __WIN32__
 /* were just going to fake it here and get input from
    the keyboard */
 
@@ -102,54 +88,7 @@ char *get_tty_password(char *opt_message)
 
 #else
 
-
-#ifndef HAVE_GETPASS
-/*
-** Can't use fgets, because readline will get confused
-** length is max number of chars in to, not counting \0
-*  to will not include the eol characters.
-*/
-
-static void get_password(char *to,uint length,int fd,bool echo)
-{
-  char *pos=to,*end=to+length;
-
-  for (;;)
-  {
-    char tmp;
-    if (my_read(fd,&tmp,1,MYF(0)) != 1)
-      break;
-    if (tmp == '\b' || (int) tmp == 127)
-    {
-      if (pos != to)
-      {
-       if (echo)
-       {
-         fputs("\b \b",stdout);
-         fflush(stdout);
-       }
-       pos--;
-       continue;
-      }
-    }
-    if (tmp == '\n' || tmp == '\r' || tmp == 3)
-      break;
-    if (iscntrl(tmp) || pos == end)
-      continue;
-    if (echo)
-    {
-      fputc('*',stdout);
-      fflush(stdout);
-    }
-    *(pos++) = tmp;
-  }
-  while (pos != to && isspace(pos[-1]) == ' ')
-    pos--;                                     /* Allow dummy space at end */
-  *pos=0;
-  return;
-}
-#endif /* ! HAVE_GETPASS */
-
+static void get_password(char *to,uint length,int file_no,bool echo);
 
 char *get_tty_password(char *opt_message)
 {
@@ -209,4 +148,52 @@ char *get_tty_password(char *opt_message)
 
   DBUG_RETURN(my_strdup(buff,MYF(MY_FAE)));
 }
-#endif /*__WIN__*/
+
+#ifndef HAVE_GETPASS
+/*
+** Can't use fgets, because readline will get confused
+** length is max number of chars in to, not counting \0
+*  to will not include the eol characters.
+*/
+
+void get_password(char *to,uint length,int fd,bool echo)
+{
+  char *pos=to,*end=to+length;
+
+  for (;;)
+  {
+    char tmp;
+    if (my_read(fd,&tmp,1,MYF(0)) != 1)
+      break;
+    if (tmp == '\b' || (int) tmp == 127)
+    {
+      if (pos != to)
+      {
+       if (echo)
+       {
+         fputs("\b \b",stdout);
+         fflush(stdout);
+       }
+       pos--;
+       continue;
+      }
+    }
+    if (tmp == '\n' || tmp == '\r' || tmp == 3)
+      break;
+    if (iscntrl(tmp) || pos == end)
+      continue;
+    if (echo)
+    {
+      fputc('*',stdout);
+      fflush(stdout);
+    }
+    *(pos++) = tmp;
+  }
+  while (pos != to && isspace(pos[-1]) == ' ')
+    pos--;                                     /* Allow dummy space at end */
+  *pos=0;
+  return;
+}
+#endif /* ! HAVE_GETPASS */
+
+#endif /*__WIN32__*/
index 9cffcbf477b39822a94ab2cb565334d63dd05f00..34b45c241876d3f343d5b5eb6b2c95ead8670f03 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* This is the main include file that should included 'first' in every
    C file. */
 #ifndef _global_h
 #define _global_h
 
-#if defined(_WIN32) || defined(_WIN64)
-#include <config-win.h>
+#if defined(__WIN32__) || defined(WIN32)
+#include <config-win32.h>
 #else
 #include <my_config.h>
 #endif
-#if defined(__cplusplus)
-#if defined(inline)
-#undef inline                          /* fix configure problem */
+#if defined(__cplusplus) && defined(inline)
+#undef inline                                  /* fix configure problem */
 #endif
-#endif /* _cplusplus */
 
 /* The client defines this to avoid all thread code */
-#if defined(UNDEF_THREADS_HACK)
+#if defined(UNDEF_THREADS_HACK) && !defined(THREAD_SAFE_CLIENT)
 #undef THREAD
 #undef HAVE_mit_thread
 #undef HAVE_LINUXTHREADS
 #ifndef __STDC_EXT__
 #define __STDC_EXT__ 1          /* To get large file support on hpux */
 #endif
-#if defined(THREAD) && defined(HAVE_LINUXTHREADS) && defined(HAVE_PTHREAD_RWLOCK_RDLOCK)
-#define _GNU_SOURCE 1
-#endif
+/* #define _GNU_SOURCE 1 */    /* Get define for strtok_r on Alpha-linux */
 
-#if defined(THREAD) && !defined(__WIN__)
+#if defined(THREAD) && !defined(__WIN32__)
 #define _POSIX_PTHREAD_SEMANTICS /* We want posix threads */
 /* was #if defined(HAVE_LINUXTHREADS) || defined(HAVE_DEC_THREADS) || defined(HPUX) */
 #if !defined(SCO)
 #undef HAVE_PWRITE
 #endif
 
-#ifdef UNDEF_HAVE_GETHOSTBYNAME_R              /* For OSF4.x */
-#undef HAVE_GETHOSTBYNAME_R
-#endif
-#ifdef UNDEF_HAVE_INITGROUPS                   /* For AIX 4.3 */
-#undef HAVE_INITGROUPS
-#endif
-
 /* Fix a bug in gcc 2.8.0 on IRIX 6.2 */
 #if SIZEOF_LONG == 4 && defined(__LONG_MAX__)
 #undef __LONG_MAX__             /* Is a longlong value in gcc 2.8.0 ??? */
 #define __LONG_MAX__ 2147483647
 #endif
 
-/* egcs 1.1.2 has a problem with memcpy on Alpha */
-#if defined(__GNUC__) && defined(__alpha__) && ! (__GNUC__ > 2 || (__GNUC__ == 2 &&  __GNUC_MINOR__ >= 95))
-#define BAD_MEMCPY
-#endif
-
-/* In Linux-alpha we have atomic.h if we are using gcc */
-#if defined(HAVE_LINUXTHREADS) && defined(__GNUC__) && defined(__alpha__) && (__GNUC__ > 2 || ( __GNUC__ == 2 &&  __GNUC_MINOR__ >= 95))
-#define HAVE_ATOMIC_ADD
-#define HAVE_ATOMIC_SUB
-#endif
-
-/* In Linux-ia64 including atomic.h will give us an error */
-#if defined(HAVE_LINUXTHREADS) && defined(__GNUC__) && defined(__ia64__)
-#undef HAVE_ATOMIC_ADD
-#undef HAVE_ATOMIC_SUB
-#endif
-
 #if defined(_lint) && !defined(lint)
 #define lint
 #endif
 #ifdef HAVE_ALLOCA_H
 #include <alloca.h>
 #endif
-#ifdef HAVE_ATOMIC_ADD
-#define __SMP__
-#include <asm/atomic.h>
-#endif
 
 /* Go around some bugs in different OS and compilers */
 #if defined(_HPUX_SOURCE) && defined(HAVE_SYS_STREAM_H)
 #endif
 
 /* Define void to stop lint from generating "null effekt" comments */
-#ifndef DONT_DEFINE_VOID
 #ifdef _lint
 int    __void__;
 #define VOID(X)                (__void__ = (int) (X))
@@ -221,7 +174,6 @@ int __void__;
 #undef VOID
 #define VOID(X)                (X)
 #endif
-#endif /* DONT_DEFINE_VOID */
 
 #if defined(_lint) || defined(FORCE_INIT_OF_VARS)
 #define LINT_INIT(var) var=0                   /* No uninitialize-warning */
@@ -290,11 +242,6 @@ typedef unsigned short ushort;
 #endif
 
 #include <dbug.h>
-#ifndef DBUG_OFF
-#define dbug_assert(A) assert(A)
-#else
-#define dbug_assert(A)
-#endif
 
 #define MIN_ARRAY_SIZE 0       /* Zero or One. Gcc allows zero*/
 #define ASCII_BITS_USED 8      /* Bit char used */
@@ -331,7 +278,7 @@ typedef int (*qsort_cmp)(const void *,const void *);
 #define qsort_t RETQSORTTYPE   /* Broken GCC cant handle typedef !!!! */
 #endif
 #ifdef HAVE_mit_thread
-#define size_socket socklen_t  /* Type of last arg to accept */
+typedef int size_socket;       /* Type of last arg to accept */
 #else
 #ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
@@ -412,7 +359,7 @@ typedef SOCKET_SIZE_TYPE size_socket;
 #define NO_PISAM               /* Not needed anymore */
 #define NO_MISAM               /* Not needed anymore */
 #define NO_HASH                        /* Not needed anymore */
-#ifdef __WIN__
+#ifdef __WIN32__
 #define NO_DIR_LIBRARY         /* Not standar dir-library */
 #define USE_MY_STAT_STRUCT     /* For my_lib */
 #endif
@@ -434,7 +381,7 @@ extern void         init_my_atof(void);
 extern double          my_atof(const char*);
 #endif
 #undef remove          /* Crashes MySQL on SCO 5.0.0 */
-#ifndef __WIN__
+#ifndef __WIN32__
 #define closesocket(A) close(A)
 #ifndef ulonglong2double
 #define ulonglong2double(A) ((double) (A))
@@ -454,7 +401,7 @@ extern double               my_atof(const char*);
 
 #ifdef HAVE_LINUXTHREADS
 /* #define pthread_sigmask(A,B,C) sigprocmask((A),(B),(C)) */
-/* #define sigset(A,B) signal((A),(B)) */
+#define sigset(A,B) signal((A),(B))
 #endif
 
 /* Remove some things that mit_thread break or doesn't support */
@@ -523,8 +470,6 @@ typedef long                my_ptrdiff_t;
 #define NEAR                           /* Who needs segments ? */
 #define FAR                            /* On a good machine */
 #define HUGE_PTR
-#endif
-#ifndef STDCALL
 #define STDCALL
 #endif
 
@@ -582,9 +527,7 @@ typedef long                longlong;
 #endif
 #undef  SIZEOF_OFF_T
 #define SIZEOF_OFF_T       8
-#else
-#define SYSTEM_SIZEOF_OFF_T SIZEOF_OFF_T
-#endif /* USE_RAID */
+#endif
 
 #if SIZEOF_OFF_T > 4
 typedef ulonglong my_off_t;
@@ -592,9 +535,7 @@ typedef ulonglong my_off_t;
 typedef unsigned long my_off_t;
 #endif
 #define MY_FILEPOS_ERROR       (~(my_off_t) 0)
-#ifndef __WIN__
-typedef off_t os_off_t;
-#endif
+/*typedef off_t os_off_t;*/
 
 typedef uint8          int7;   /* Most effective integer 0 <= x <= 127 */
 typedef short          int15;  /* Most effective integer 0 <= x <= 32767 */
@@ -782,8 +723,8 @@ typedef char                bool;   /* Ordinary boolean values 0 1 */
                               ((byte*) &def_temp)[7]=(M)[0];\
                              (V) = def_temp; }
 #else
-#define float4get(V,M)   memcpy_fixed((byte*) &V,(byte*) (M),sizeof(float))
-#define float4store(V,M) memcpy_fixed((byte*) V,(byte*) (&M),sizeof(float))
+#define float4get(V,M)   memcpy((byte*) &V,(byte*) (M),sizeof(float))
+#define float4store(V,M) memcpy((byte*) V,(byte*) (&M),sizeof(float))
 #define float8get(V,M)   doubleget((V),(M))
 #define float8store(V,M) doublestore((V),(M))
 #endif /* WORDS_BIGENDIAN */
@@ -834,24 +775,12 @@ typedef char              bool;   /* Ordinary boolean values 0 1 */
 #define shortstore(T,V) int2store(T,V)
 #define longstore(T,V) int4store(T,V)
 #ifndef doubleget
-#define doubleget(V,M)  memcpy_fixed((byte*) &V,(byte*) (M),sizeof(double))
-#define doublestore(T,V) memcpy_fixed((byte*) (T),(byte*) &V,sizeof(double))
+#define doubleget(V,M)  memcpy((byte*) &V,(byte*) (M),sizeof(double))
+#define doublestore(T,V) memcpy((byte*) (T),(byte*) &V,sizeof(double))
 #endif
-#define longlongget(V,M) memcpy_fixed((byte*) &V,(byte*) (M),sizeof(ulonglong))
-#define longlongstore(T,V) memcpy_fixed((byte*) (T),(byte*) &V,sizeof(ulonglong))
+#define longlongget(V,M) memcpy((byte*) &V,(byte*) (M),sizeof(ulonglong))
+#define longlongstore(T,V) memcpy((byte*) (T),(byte*) &V,sizeof(ulonglong))
 
 #endif /* WORDS_BIGENDIAN */
 
-/* sprintf does not always return the number of bytes :- */
-#ifdef SPRINTF_RETURNS_INT
-#define my_sprintf(buff,args) sprintf args
-#else
-#ifdef SPRINTF_RETURNS_PTR
-#define my_sprintf(buff,args) ((int)(sprintf args - buff))
-#else
-#define my_sprintf(buff,args) sprintf args,strlen(buff)
-#endif
-#endif
-
-
 #endif /* _global_h */
index 4003e8a616719e1d8f205cd03435637c58935c4e..9d6d435721093849b2bebd52bb394d582d305fc8 100644 (file)
@@ -1,20 +1,3 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
-
 /*
   Defines: int2str(), itoa(), ltoa()
 
@@ -50,7 +33,6 @@ char *int2str(register long int val, register char *dst, register int radix)
 {
   char buffer[65];
   register char *p;
-  long int new_val;
 
   if (radix < 0) {
     if (radix < -36 || radix > -2) return NullS;
@@ -75,9 +57,8 @@ char *int2str(register long int val, register char *dst, register int radix)
       */
   p = &buffer[sizeof(buffer)-1];
   *p = '\0';
-  new_val=(ulong) val / (ulong) radix;
-  *--p = _dig_vec[(uchar) ((ulong) val- (ulong) new_val*(ulong) radix)];
-  val = new_val;
+  *--p = _dig_vec[(ulong) val % (ulong) radix];
+  val = (ulong) val / (ulong) radix;
 #ifdef HAVE_LDIV
   while (val != 0)
   {
@@ -89,53 +70,14 @@ char *int2str(register long int val, register char *dst, register int radix)
 #else
   while (val != 0)
   {
-    new_val=val/radix;
-    *--p = _dig_vec[(uchar) (val-new_val*radix)];
-    val= new_val;
+    *--p = _dig_vec[val%radix];
+    val /= radix;
   }
 #endif
   while ((*dst++ = *p++) != 0) ;
   return dst-1;
 }
 
-
-/*
-  This is a faster version of the above optimized for the normal case of
-   radix 10 / -10
-*/
-
-char *int10_to_str(long int val,char *dst,int radix)
-{
-  char buffer[65];
-  register char *p;
-  long int new_val;
-
-  if (radix < 0)                               /* -10 */
-  {
-    if (val < 0)
-    {
-      *dst++ = '-';
-      val = -val;
-    }
-  }
-
-  p = &buffer[sizeof(buffer)-1];
-  *p = '\0';
-  new_val= (long) ((unsigned long int) val / 10);
-  *--p = '0'+ (char) ((unsigned long int) val - (unsigned long) new_val * 10);
-  val = new_val;
-
-  while (val != 0)
-  {
-    new_val=val/10;
-    *--p = '0' + (char) (val-new_val*10);
-    val= new_val;
-  }
-  while ((*dst++ = *p++) != 0) ;
-  return dst-1;
-}
-
-
 #ifdef USE_MY_ITOA
 
        /* Change to less general itoa interface */
index d3f2b148de2058174f4d729a29c7fc3b12fc61ce..09b3accf759c6aaca511ff0ef72399a14e9e2f19 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*  File   : is_prefix.c
     Author : Michael Widenius
index b81af1616719bd11ea92814d622a3f8d0255af5e..888d0e22c952f9722a76c43b775000c9d1519cca 100644 (file)
@@ -1,22 +1,10 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
+
+#define PROTOCOL_VERSION 10
 
 #define DONT_USE_RAID
-#if defined(__WIN__) || defined(_WIN32) || defined(_WIN64)
+#if defined(__WIN32__) || defined(WIN32)
 #include <winsock.h>
 #include <odbcinst.h>
 #endif
 #include <violite.h>
 #include <sys/stat.h>
 #include <signal.h>
-#include <time.h>
 #ifdef  HAVE_PWD_H
 #include <pwd.h>
 #endif
-#if !defined(MSDOS) && !defined(__WIN__)
+#if !defined(MSDOS) && !defined(__WIN32__)
 #include <sys/socket.h>
 #include <netinet/in.h>
 #include <arpa/inet.h>
@@ -51,7 +38,7 @@
 #ifdef HAVE_SYS_UN_H
 #  include <sys/un.h>
 #endif
-#if defined(THREAD) && !defined(__WIN__)
+#if defined(THREAD) && !defined(__WIN32__)
 #include <my_pthread.h>                                /* because of signal()  */
 #endif
 #ifndef INADDR_NONE
 #endif
 
 static my_bool mysql_client_init=0;
+static MYSQL   *current_mysql;
 uint           mysql_port=0;
 my_string      mysql_unix_port=0;
 
-#define CLIENT_CAPABILITIES    (CLIENT_LONG_PASSWORD | CLIENT_LONG_FLAG | CLIENT_LOCAL_FILES | CLIENT_TRANSACTIONS)
+#define CLIENT_CAPABILITIES    (CLIENT_LONG_PASSWORD | CLIENT_LONG_FLAG | CLIENT_LOCAL_FILES)
 
-#if defined(MSDOS) || defined(__WIN__)
+#if defined(MSDOS) || defined(__WIN32__)
 #define ERRNO WSAGetLastError()
 #define perror(A)
 #else
-#include <errno.h>
+#include <sys/errno.h>
 #define ERRNO errno
 #define SOCKET_ERROR -1
 #define closesocket(A) close(A)
@@ -80,21 +68,20 @@ static MYSQL_DATA *read_rows (MYSQL *mysql,MYSQL_FIELD *fields,
 static int read_one_row(MYSQL *mysql,uint fields,MYSQL_ROW row,
                        ulong *lengths);
 static void end_server(MYSQL *mysql);
+static void remember_connection(MYSQL *mysql);
 static void read_user_name(char *name);
 static void append_wild(char *to,char *end,const char *wild);
 static my_bool mysql_reconnect(MYSQL *mysql);
 static int send_file_to_server(MYSQL *mysql,const char *filename);
 static sig_handler pipe_sig_handler(int sig);
-static ulong mysql_sub_escape_string(CHARSET_INFO *charset_info, char *to,
-                                    const char *from, ulong length);
 
 /*
   Let the user specify that we don't want SIGPIPE;  This doesn't however work
   with threaded applications as we can have multiple read in progress.
 */
 
-#if !defined(__WIN__) && defined(SIGPIPE) && !defined(THREAD)
-#define init_sigpipe_variables  sig_return old_signal_handler=(sig_return) 0;
+#if !defined(__WIN32__) && defined(SIGPIPE) && !defined(THREAD)
+#define init_sigpipe_variables  sig_return old_signal_handler;
 #define set_sigpipe(mysql)     if ((mysql)->client_flag & CLIENT_IGNORE_SIGPIPE) old_signal_handler=signal(SIGPIPE,pipe_sig_handler)
 #define reset_sigpipe(mysql) if ((mysql)->client_flag & CLIENT_IGNORE_SIGPIPE) signal(SIGPIPE,old_signal_handler);
 #else
@@ -114,14 +101,13 @@ static ulong mysql_sub_escape_string(CHARSET_INFO *charset_info, char *to,
 
 static int connect2(File s, const struct sockaddr *name, uint namelen, uint to)
 {
-#if defined(__WIN__)
+#if defined(__WIN32__)
   return connect(s, (struct sockaddr*) name, namelen);
 #else
   int flags, res, s_err;
   size_socket s_err_size = sizeof(uint);
   fd_set sfds;
   struct timeval tv;
-  time_t start_time, now_time;
 
   /* If they passed us a timeout of zero, we should behave
    * exactly like the normal connect() call does.
@@ -164,25 +150,11 @@ static int connect2(File s, const struct sockaddr *name, uint namelen, uint to)
 
   FD_ZERO(&sfds);
   FD_SET(s, &sfds);
-  /*
-   * select could be interrupted by a signal, and if it is, 
-   * the timeout should be adjusted and the select restarted
-   * to work around OSes that don't restart select and 
-   * implementations of select that don't adjust tv upon
-   * failure to reflect the time remaining
-   */
-  start_time = time(NULL);
-  for (;;)
-  {
-    tv.tv_sec = (long) to;
-    tv.tv_usec = 0;
-    if ((res = select(s+1, NULL, &sfds, NULL, &tv)) >= 0)
-      break;
-    now_time=time(NULL);
-    to-= (uint) (now_time - start_time);
-    if (errno != EINTR || (int) to <= 0)
-      return -1;
-  }
+  tv.tv_sec = (long) to;
+  tv.tv_usec = 0;
+  res = select(s+1, NULL, &sfds, NULL, &tv);
+  if (res <= 0)                                        /* Never became writable */
+    return(-1);
 
   /* select() returned something more interesting than zero, let's
    * see if we have any errors.  If the next two statements pass,
@@ -206,7 +178,7 @@ static int connect2(File s, const struct sockaddr *name, uint namelen, uint to)
 ** Create a named pipe connection
 */
 
-#ifdef __WIN__
+#ifdef __WIN32__
 
 HANDLE create_named_pipe(NET *net, uint connect_timeout, char **arg_host,
                         char **arg_unix_socket)
@@ -298,9 +270,7 @@ net_safe_read(MYSQL *mysql)
     DBUG_PRINT("error",("Wrong connection or packet. fd: %s  len: %d",
                        vio_description(net->vio),len));
     end_server(mysql);
-    net->last_errno=(net->last_errno == ER_NET_PACKET_TOO_LARGE ? 
-                    CR_NET_PACKET_TOO_LARGE:
-                    CR_SERVER_LOST);
+    net->last_errno=CR_SERVER_LOST;
     strmov(net->last_error,ER(net->last_errno));
     return(packet_error);
   }
@@ -439,21 +409,23 @@ simple_command(MYSQL *mysql,enum enum_server_command command, const char *arg,
   mysql->net.last_errno=0;
   mysql->info=0;
   mysql->affected_rows= ~(my_ulonglong) 0;
+  remember_connection(mysql);
   net_clear(net);                      /* Clear receive buffer */
   if (!arg)
     arg="";
 
   if (net_write_command(net,(uchar) command,arg,
-                       length ? length : (ulong) strlen(arg)))
+                       length ? length :strlen(arg)))
   {
     DBUG_PRINT("error",("Can't send command to server. Error: %d",errno));
     end_server(mysql);
     if (mysql_reconnect(mysql) ||
        net_write_command(net,(uchar) command,arg,
-                         length ? length : (ulong) strlen(arg)))
+                         length ? length :strlen(arg)))
     {
       net->last_errno=CR_SERVER_GONE_ERROR;
       strmov(net->last_error,ER(net->last_errno));
+      reset_sigpipe(mysql);
       goto end;
     }
   }
@@ -483,7 +455,7 @@ struct passwd *getpwuid(uid_t);
 char* getlogin(void);
 #endif
 
-#if !defined(MSDOS) && ! defined(VMS) && !defined(__WIN__)
+#if !defined(MSDOS) && ! defined(VMS) && !defined(__WIN32__)
 static void read_user_name(char *name)
 {
   DBUG_ENTER("read_user_name");
@@ -530,7 +502,7 @@ static void read_user_name(char *name)
 
 #endif
 
-#ifdef __WIN__
+#ifdef __WIN32__
 static my_bool is_NT(void)
 {
   char *os=getenv("OS");
@@ -601,6 +573,17 @@ mysql_debug(const char *debug)
 }
 
 
+/**************************************************************************
+** Store the server socket currently in use
+** Used by pipe_handler if error on socket interrupt
+**************************************************************************/
+
+static void
+remember_connection(MYSQL *mysql)
+{
+  current_mysql = mysql;
+}
+
 /**************************************************************************
 ** Close the server connection if we get a SIGPIPE
    ARGSUSED
@@ -677,13 +660,12 @@ mysql_free_result(MYSQL_RES *result)
 static const char *default_options[]=
 {"port","socket","compress","password","pipe", "timeout", "user",
  "init-command", "host", "database", "debug", "return-found-rows",
+#ifdef HAVE_OPENSSL
  "ssl_key" ,"ssl_cert" ,"ssl_ca" ,"ssl_capath",
- "character-set-dir", "default-character-set",
+#endif /* HAVE_OPENSSL */
  NullS
 };
-
-static TYPELIB option_types={array_elements(default_options)-1,
-                            "options",default_options};
+static TYPELIB option_types={array_elements(default_options)-1,(char*) "options",(char **) default_options};
 
 static void mysql_read_default_options(struct st_mysql_options *options,
                                       const char *filename,const char *group)
@@ -793,21 +775,7 @@ static void mysql_read_default_options(struct st_mysql_options *options,
          my_free(options->ssl_capath, MYF(MY_ALLOW_ZERO_PTR));
           options->ssl_capath = my_strdup(opt_arg, MYF(MY_WME));
           break;
-#else
-       case 13:                                /* Ignore SSL options */
-       case 14:
-       case 15:
-       case 16:
-         break;
 #endif /* HAVE_OPENSSL */
-       case 17:                        /* charset-lib */
-         my_free(options->charset_dir,MYF(MY_ALLOW_ZERO_PTR));
-          options->charset_dir = my_strdup(opt_arg, MYF(MY_WME));
-         break;
-       case 18:
-         my_free(options->charset_name,MYF(MY_ALLOW_ZERO_PTR));
-          options->charset_name = my_strdup(opt_arg, MYF(MY_WME));
-         break;
        default:
          DBUG_PRINT("warning",("unknown option: %s",option[0]));
        }
@@ -998,12 +966,8 @@ mysql_init(MYSQL *mysql)
   }
   else
     bzero((char*) (mysql),sizeof(*(mysql)));
-#ifdef __WIN__
+#ifdef __WIN32__
   mysql->options.connect_timeout=20;
-#endif
-#if defined(SIGPIPE) && defined(THREAD)
-  if (!((mysql)->client_flag & CLIENT_IGNORE_SIGPIPE))
-    (void) signal(SIGPIPE,pipe_sig_handler);
 #endif
   return mysql;
 }
@@ -1033,7 +997,7 @@ static void mysql_once_init()
     if (!mysql_unix_port)
     {
       char *env;
-#ifdef __WIN__
+#ifdef __WIN32__
       mysql_unix_port = (char*) MYSQL_NAMEDPIPE;
 #else
       mysql_unix_port = (char*) MYSQL_UNIX_ADDR;
@@ -1042,7 +1006,7 @@ static void mysql_once_init()
        mysql_unix_port = env;
     }
     mysql_debug(NullS);
-#if defined(SIGPIPE) && !defined(THREAD)
+#if defined(SIGPIPE)
     (void) signal(SIGPIPE,SIG_IGN);
 #endif
   }
@@ -1098,7 +1062,7 @@ mysql_ssl_clear(MYSQL *mysql)
   mysql->options.ssl_ca = 0;
   mysql->options.ssl_capath = 0;
   mysql->options.use_ssl = false;
-  mysql->connector_fd->delete();
+  delete reinterpret_cast<VioConnectorFd*>(mysql->connector_fd);
   mysql->connector_fd = 0;
   return 0;
 }
@@ -1137,13 +1101,13 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
                   const char *passwd, const char *db,
                   uint port, const char *unix_socket,uint client_flag)
 {
-  char         buff[100],charset_name_buff[16],*end,*host_info, *charset_name;
+  char         buff[100],*end,*host_info;
   int          sock;
-  uint32       ip_addr;
+  ulong                ip_addr;
   struct       sockaddr_in sock_addr;
   uint         pkt_length;
-  NET          *net= &mysql->net;
-#ifdef __WIN__
+  NET          *net;
+#ifdef __WIN32__
   HANDLE       hPipe=INVALID_HANDLE_VALUE;
 #endif
 #ifdef HAVE_SYS_UN_H
@@ -1159,7 +1123,6 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
 
   /* Don't give sigpipe errors if the client doesn't want them */
   set_sigpipe(mysql);
-  net->vio = 0;                                /* If something goes wrong */
   /* use default options */
   if (mysql->options.my_cnf_file || mysql->options.my_cnf_group)
   {
@@ -1192,8 +1155,10 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
   if (!unix_socket)
     unix_socket=mysql->options.unix_socket;
 
+  remember_connection(mysql);
   mysql->reconnect=1;                  /* Reconnect as default */
-  mysql->server_status=SERVER_STATUS_AUTOCOMMIT;
+  net= &mysql->net;
+  net->vio = 0;                                /* If something goes wrong */
 
   /*
   ** Grab a socket and connect it to the server
@@ -1227,7 +1192,7 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
     }
   }
   else
-#elif defined(__WIN__)
+#elif defined(__WIN32__)
   {
     if ((unix_socket ||
         !host && is_NT() ||
@@ -1285,7 +1250,7 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
 
     if ((int) (ip_addr = inet_addr(host)) != (int) INADDR_NONE)
     {
-      memcpy_fixed(&sock_addr.sin_addr,&ip_addr,sizeof(ip_addr));
+      memcpy(&sock_addr.sin_addr,&ip_addr,sizeof(ip_addr));
     }
     else
 #if defined(HAVE_GETHOSTBYNAME_R) && defined(_REENTRANT) && defined(THREAD)
@@ -1358,53 +1323,17 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
   mysql->thread_id=uint4korr(end+1);
   end+=5;
   strmake(mysql->scramble_buff,end,8);
-  end+=9;
-  if (pkt_length >= (uint) (end+1 - (char*) net->read_pos))
-    mysql->server_capabilities=uint2korr(end);
-  if (pkt_length >= (uint) (end+18 - (char*) net->read_pos))
-  {
-    /* New protocol with 16 bytes to describe server characteristics */
-    mysql->server_language=end[2];
-    mysql->server_status=uint2korr(end+3);
-  }
-
-  /* Set character set */
-  if ((charset_name=mysql->options.charset_name))
-  {
-    const char *save=charsets_dir;
-    if (mysql->options.charset_dir)
-      charsets_dir=mysql->options.charset_dir;
-    mysql->charset=get_charset_by_name(mysql->options.charset_name,
-                                       MYF(MY_WME));
-    charsets_dir=save;
-  }
-  else if (mysql->server_language)
-  {
-    charset_name=charset_name_buff;
-    sprintf(charset_name,"%d",mysql->server_language); /* In case of errors */
-    mysql->charset=get_charset((uint8) mysql->server_language, MYF(MY_WME));
-  }
-  else
-    mysql->charset=default_charset_info;
-
-  if (!mysql->charset)
-  {
-    net->last_errno=CR_CANT_READ_CHARSET;
-    sprintf(net->last_error,ER(net->last_errno),
-           charset_name ? charset_name : "unknown",
-           mysql->options.charset_dir ? mysql->options.charset_dir :
-           "default");
-    goto error;
-  }
+  if (pkt_length > (uint) (end+9 - (char*) net->read_pos))
+    mysql->server_capabilities=uint2korr(end+9);
 
   /* Save connection information */
   if (!user) user="";
   if (!passwd) passwd="";
   if (!my_multi_malloc(MYF(0),
-                      &mysql->host_info, (uint) strlen(host_info)+1,
-                      &mysql->host,      (uint) strlen(host)+1,
-                      &mysql->unix_socket,unix_socket ?
-                      (uint) strlen(unix_socket)+1 : (uint) 1,
+                      &mysql->host_info,strlen(host_info)+1,
+                      &mysql->host,strlen(host)+1,
+                      &mysql->unix_socket,unix_socket ? strlen(unix_socket)+1
+                      :1,
                       &mysql->server_version,
                       (uint) (end - (char*) net->read_pos),
                       NullS) ||
@@ -1423,9 +1352,8 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
   strmov(mysql->server_version,(char*) net->read_pos+1);
   mysql->port=port;
   mysql->client_flag=client_flag | mysql->options.client_flag;
-  DBUG_PRINT("info",("Server version = '%s'  capabilites: %ld  status: %d",
-                    mysql->server_version,mysql->server_capabilities,
-                    mysql->server_status));
+  DBUG_PRINT("info",("Server version = '%s'  capabilites: %ld",
+                    mysql->server_version,mysql->server_capabilities));
 
   /* Send client information for access check */
   client_flag|=CLIENT_CAPABILITIES;
@@ -1487,9 +1415,6 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
     strmake(buff+5,user,32);
   else
     read_user_name((char*) buff+5);
-#ifdef _CUSTOMCONFIG_
-#include "_cust_libmysql.h";
-#endif
   DBUG_PRINT("info",("user: %s",buff+5));
   end=scramble(strend(buff+5)+1, mysql->scramble_buff, passwd,
               (my_bool) (mysql->protocol_version == 9));
@@ -1540,13 +1465,8 @@ static my_bool mysql_reconnect(MYSQL *mysql)
   MYSQL tmp_mysql;
   DBUG_ENTER("mysql_reconnect");
 
-  if (!mysql->reconnect ||
-      (mysql->server_status & SERVER_STATUS_IN_TRANS) || !mysql->host_info)
-  {
-   /* Allov reconnect next time */
-    mysql->server_status&= ~SERVER_STATUS_IN_TRANS;
+  if (!mysql->reconnect || !mysql->host_info)
     DBUG_RETURN(1);
-  }
   mysql_init(&tmp_mysql);
   tmp_mysql.options=mysql->options;
   if (!mysql_real_connect(&tmp_mysql,mysql->host,mysql->user,mysql->passwd,
@@ -1555,9 +1475,9 @@ static my_bool mysql_reconnect(MYSQL *mysql)
     DBUG_RETURN(1);
   tmp_mysql.free_me=mysql->free_me;
   mysql->free_me=0;
-  bzero((char*) &mysql->options,sizeof(mysql->options));
+  bzero((char*) &mysql->options,sizeof(&mysql->options));
   mysql_close(mysql);
-  *mysql=tmp_mysql;
+  memcpy(mysql,&tmp_mysql,sizeof(tmp_mysql));
   net_clear(&mysql->net);
   mysql->affected_rows= ~(my_ulonglong) 0;
   DBUG_RETURN(0);
@@ -1608,7 +1528,7 @@ mysql_select_db(MYSQL *mysql, const char *db)
   DBUG_ENTER("mysql_select_db");
   DBUG_PRINT("enter",("db: '%s'",db));
 
-  if ((error=simple_command(mysql,COM_INIT_DB,db,(uint) strlen(db),0)))
+  if ((error=simple_command(mysql,COM_INIT_DB,db,strlen(db),0)))
     DBUG_RETURN(error);
   my_free(mysql->db,MYF(MY_ALLOW_ZERO_PTR));
   mysql->db=my_strdup(db,MYF(MY_WME));
@@ -1640,14 +1560,11 @@ mysql_close(MYSQL *mysql)
     my_free(mysql->db,MYF(MY_ALLOW_ZERO_PTR));
     my_free(mysql->options.init_command,MYF(MY_ALLOW_ZERO_PTR));
     my_free(mysql->options.user,MYF(MY_ALLOW_ZERO_PTR));
-    my_free(mysql->options.host,MYF(MY_ALLOW_ZERO_PTR));
     my_free(mysql->options.password,MYF(MY_ALLOW_ZERO_PTR));
     my_free(mysql->options.unix_socket,MYF(MY_ALLOW_ZERO_PTR));
     my_free(mysql->options.db,MYF(MY_ALLOW_ZERO_PTR));
     my_free(mysql->options.my_cnf_file,MYF(MY_ALLOW_ZERO_PTR));
     my_free(mysql->options.my_cnf_group,MYF(MY_ALLOW_ZERO_PTR));
-    my_free(mysql->options.charset_dir,MYF(MY_ALLOW_ZERO_PTR));
-    my_free(mysql->options.charset_name,MYF(MY_ALLOW_ZERO_PTR));
     /* Clear pointers for better safety */
     mysql->host_info=mysql->user=mysql->passwd=mysql->db=0;
     bzero((char*) &mysql->options,sizeof(mysql->options));
@@ -1671,12 +1588,12 @@ mysql_close(MYSQL *mysql)
 int STDCALL
 mysql_query(MYSQL *mysql, const char *query)
 {
-  return mysql_real_query(mysql,query, (uint) strlen(query));
+  return mysql_real_query(mysql,query,strlen(query));
 }
 
 
 int STDCALL
-mysql_real_query(MYSQL *mysql, const char *query, uint length)
+mysql_real_query(MYSQL *mysql, const char *query,uint length)
 {
   uchar *pos;
   ulong field_count;
@@ -1695,10 +1612,6 @@ mysql_real_query(MYSQL *mysql, const char *query, uint length)
   {
     mysql->affected_rows= net_field_length_ll(&pos);
     mysql->insert_id=    net_field_length_ll(&pos);
-    if (mysql->server_capabilities & CLIENT_TRANSACTIONS)
-    {
-      mysql->server_status=uint2korr(pos); pos+=2;
-    }
     if (pos < mysql->net.read_pos+length && net_field_length(&pos))
       mysql->info=(char*) pos;
     DBUG_RETURN(0);
@@ -1710,9 +1623,6 @@ mysql_real_query(MYSQL *mysql, const char *query, uint length)
       DBUG_RETURN(-1);
     goto get_info;                             /* Get info packet */
   }
-  if (!(mysql->server_status & SERVER_STATUS_AUTOCOMMIT))
-    mysql->server_status|= SERVER_STATUS_IN_TRANS;
-
   mysql->extra_info= net_field_length_ll(&pos); /* Maybe number of rec */
   if (!(fields=read_rows(mysql,(MYSQL_FIELD*) 0,5)))
     DBUG_RETURN(-1);
@@ -1910,7 +1820,6 @@ mysql_fetch_row(MYSQL_RES *res)
       }
       else
       {
-       DBUG_PRINT("info",("end of data"));
        res->eof=1;
        res->handle->status=MYSQL_STATUS_READY;
       }
@@ -1920,10 +1829,7 @@ mysql_fetch_row(MYSQL_RES *res)
   {
     MYSQL_ROW tmp;
     if (!res->data_cursor)
-    {
-      DBUG_PRINT("info",("end of data"));
       DBUG_RETURN(res->current_row=(MYSQL_ROW) NULL);
-    }
     tmp = res->data_cursor->data;
     res->data_cursor = res->data_cursor->next;
     DBUG_RETURN(res->current_row=tmp);
@@ -1974,7 +1880,7 @@ void STDCALL
 mysql_data_seek(MYSQL_RES *result, my_ulonglong row)
 {
   MYSQL_ROWS   *tmp=0;
-  DBUG_PRINT("info",("mysql_data_seek(%ld)",(long) row));
+  DBUG_PRINT("info",("mysql_data_seek(%d)",row));
   if (result->data)
     for (tmp=result->data->data; row-- && tmp ; tmp = tmp->next) ;
   result->current_row=0;
@@ -1983,7 +1889,7 @@ mysql_data_seek(MYSQL_RES *result, my_ulonglong row)
 
 /*************************************************************************
 ** put the row or field cursor one a position one got from mysql_row_tell()
-** This doesn't restore any data. The next mysql_fetch_row or
+** This dosen't restore any data. The next mysql_fetch_row or
 ** mysql_fetch_field will return the next row or field after the last used
 *************************************************************************/
 
@@ -2240,14 +2146,6 @@ mysql_options(MYSQL *mysql,enum mysql_option option, const char *arg)
     my_free(mysql->options.my_cnf_group,MYF(MY_ALLOW_ZERO_PTR));
     mysql->options.my_cnf_group=my_strdup(arg,MYF(MY_WME));
     break;
-  case MYSQL_SET_CHARSET_DIR:
-    my_free(mysql->options.charset_dir,MYF(MY_ALLOW_ZERO_PTR));
-    mysql->options.charset_dir=my_strdup(arg,MYF(MY_WME));
-    break;
-  case MYSQL_SET_CHARSET_NAME:
-    my_free(mysql->options.charset_name,MYF(MY_ALLOW_ZERO_PTR));
-    mysql->options.charset_name=my_strdup(arg,MYF(MY_WME));
-    break;
   default:
     DBUG_RETURN(-1);
   }
@@ -2260,93 +2158,78 @@ mysql_options(MYSQL *mysql,enum mysql_option option, const char *arg)
 ****************************************************************************/
 
 /* MYSQL_RES */
-my_ulonglong STDCALL mysql_num_rows(MYSQL_RES *res)
+my_ulonglong mysql_num_rows(MYSQL_RES *res)
 {
   return res->row_count;
 }
 
-unsigned int STDCALL mysql_num_fields(MYSQL_RES *res)
+unsigned int mysql_num_fields(MYSQL_RES *res)
 {
   return res->field_count;
 }
 
-my_bool STDCALL mysql_eof(MYSQL_RES *res)
+my_bool mysql_eof(MYSQL_RES *res)
 {
   return res->eof;
 }
 
-MYSQL_FIELD * STDCALL mysql_fetch_field_direct(MYSQL_RES *res,uint fieldnr)
+MYSQL_FIELD *mysql_fetch_field_direct(MYSQL_RES *res,uint fieldnr)
 {
   return &(res)->fields[fieldnr];
 }
 
-MYSQL_FIELD * STDCALL mysql_fetch_fields(MYSQL_RES *res)
+MYSQL_FIELD *mysql_fetch_fields(MYSQL_RES *res)
 {
   return (res)->fields;
 }
 
-MYSQL_ROWS * STDCALL mysql_row_tell(MYSQL_RES *res)
+MYSQL_ROWS *mysql_row_tell(MYSQL_RES *res)
 {
   return res->data_cursor;
 }
 
-uint STDCALL mysql_field_tell(MYSQL_RES *res)
+uint mysql_field_tell(MYSQL_RES *res)
 {
   return (res)->current_field;
 }
 
 /* MYSQL */
 
-unsigned int STDCALL mysql_field_count(MYSQL *mysql)
+unsigned int mysql_field_count(MYSQL *mysql)
 {
   return mysql->field_count;
 }
 
-my_ulonglong STDCALL mysql_affected_rows(MYSQL *mysql)
+my_ulonglong mysql_affected_rows(MYSQL *mysql)
 {
   return (mysql)->affected_rows;
 }
 
-my_ulonglong STDCALL mysql_insert_id(MYSQL *mysql)
+my_ulonglong mysql_insert_id(MYSQL *mysql)
 {
   return (mysql)->insert_id;
 }
 
-uint STDCALL mysql_errno(MYSQL *mysql)
+uint mysql_errno(MYSQL *mysql)
 {
   return (mysql)->net.last_errno;
 }
 
-char * STDCALL mysql_error(MYSQL *mysql)
+char *mysql_error(MYSQL *mysql)
 {
   return (mysql)->net.last_error;
 }
 
-char *STDCALL mysql_info(MYSQL *mysql)
+char *mysql_info(MYSQL *mysql)
 {
   return (mysql)->info;
 }
 
-ulong STDCALL mysql_thread_id(MYSQL *mysql)
+ulong mysql_thread_id(MYSQL *mysql)
 {
   return (mysql)->thread_id;
 }
 
-const char * STDCALL mysql_character_set_name(MYSQL *mysql)
-{
-  return mysql->charset->name;
-}
-
-
-uint STDCALL mysql_thread_safe(void)
-{
-#ifdef THREAD
-  return 1;
-#else
-  return 0;
-#endif
-}
-
 /****************************************************************************
 ** Some support functions
 ****************************************************************************/
@@ -2359,32 +2242,14 @@ uint STDCALL mysql_thread_safe(void)
 
 ulong STDCALL
 mysql_escape_string(char *to,const char *from,ulong length)
-{
-  return mysql_sub_escape_string(default_charset_info,to,from,length);
-}
-
-ulong STDCALL
-mysql_real_escape_string(MYSQL *mysql, char *to,const char *from,
-                        ulong length)
-{
-  return mysql_sub_escape_string(mysql->charset,to,from,length);
-}
-
-
-static ulong
-mysql_sub_escape_string(CHARSET_INFO *charset_info, char *to,
-                       const char *from, ulong length)
 {
   const char *to_start=to;
   const char *end;
-#ifdef USE_MB
-  my_bool use_mb_flag=use_mb(charset_info);
-#endif
   for (end=from+length; from != end ; from++)
   {
 #ifdef USE_MB
     int l;
-    if (use_mb_flag && (l = my_ismbchar(charset_info, from, end)))
+    if ((l = ismbchar(from, end)))
     {
       while (l--)
          *to++ = *from++;
@@ -2431,8 +2296,7 @@ mysql_sub_escape_string(CHARSET_INFO *charset_info, char *to,
 
 
 char * STDCALL
-mysql_odbc_escape_string(MYSQL *mysql,
-                        char *to, ulong to_length,
+mysql_odbc_escape_string(char *to, ulong to_length,
                         const char *from, ulong from_length,
                         void *param,
                         char * (*extend_buffer)
@@ -2440,9 +2304,6 @@ mysql_odbc_escape_string(MYSQL *mysql,
 {
   char *to_end=to+to_length-5;
   const char *end;
-#ifdef USE_MB
-  my_bool use_mb_flag=use_mb(mysql->charset);
-#endif
 
   for (end=from+from_length; from != end ; from++)
   {
@@ -2456,7 +2317,7 @@ mysql_odbc_escape_string(MYSQL *mysql,
 #ifdef USE_MB
     {
       int l;
-      if (use_mb_flag && (l = my_ismbchar(mysql->charset, from, end)))
+      if ((l = ismbchar(from, end)))
       {
        while (l--)
          *to++ = *from++;
@@ -2500,34 +2361,3 @@ mysql_odbc_escape_string(MYSQL *mysql,
   }
   return to;
 }
-
-void STDCALL
-myodbc_remove_escape(MYSQL *mysql,char *name)
-{
-  char *to;
-#ifdef USE_MB
-  my_bool use_mb_flag=use_mb(mysql->charset);
-  char *end;
-  LINT_INIT(end);
-  if (use_mb_flag)
-    for (end=name; *end ; end++) ;
-#endif
-
-  for (to=name ; *name ; name++)
-  {
-#ifdef USE_MB
-    int l;
-    if (use_mb_flag && (l = my_ismbchar( mysql->charset, name , end ) ) )
-    {
-      while (l--)
-       *to++ = *name++;
-      name--;
-      continue;
-    }
-#endif
-    if (*name == '\\' && name[1])
-      name++;
-    *to++= *name;
-  }
-  *to=0;
-}
index 0a6d900d6b9a71a7ac8abb4e508f4fa6ebf1a286..f39ac7e3e3bb4637c6e2625f6e430239c0630412 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*
   Code for handling dubble-linked lists in C
@@ -28,8 +14,6 @@
 
 LIST *list_add(LIST *root, LIST *element)
 {
-  DBUG_ENTER("list_add");
-  DBUG_PRINT("enter",("root: %lx  element: %lx", root, element));
   if (root)
   {
     if (root->prev)                    /* If add in mid of list */
@@ -40,7 +24,7 @@ LIST *list_add(LIST *root, LIST *element)
   else
     element->prev=0;
   element->next=root;
-  DBUG_RETURN(element);                        /* New root */
+  return element;                      /* New root */
 }
 
 
index 5c4eaf98c85c7a7d83592c35353f57277747ff23..9759208266f14f29d2dc584ffadbe3f797ae2d5d 100644 (file)
@@ -1,20 +1,3 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
-
 /*
   Defines: longlong2str();
 
@@ -83,61 +66,16 @@ char *longlong2str(longlong val,char *dst,int radix)
     ulonglong quo=(ulonglong) val/(uint) radix;
     uint rem= (uint) (val- quo* (uint) radix);
     *--p = _dig_vec[rem];
-    val= quo;
+      val= quo;
   }
   long_val= (long) val;
   while (long_val != 0)
   {
-    long quo= long_val/radix;
-    *--p = _dig_vec[(uchar) (long_val - quo*radix)];
-    long_val= quo;
+    *--p = _dig_vec[long_val%radix];
+    long_val /= radix;
   }
   while ((*dst++ = *p++) != 0) ;
   return dst-1;
 }
 
 #endif
-
-#ifndef longlong10_to_str
-char *longlong10_to_str(longlong val,char *dst,int radix)
-{
-  char buffer[65];
-  register char *p;
-  long long_val;
-
-  if (radix < 0)
-  {
-    if (val < 0)
-    {
-      *dst++ = '-';
-      val = -val;
-    }
-  }
-
-  if (val == 0)
-  {
-    *dst++='0';
-    *dst='\0';
-    return dst;
-  }
-  p = &buffer[sizeof(buffer)-1];
-  *p = '\0';
-
-  while ((ulonglong) val > (ulonglong) LONG_MAX)
-  {
-    ulonglong quo=(ulonglong) val/(uint) 10;
-    uint rem= (uint) (val- quo* (uint) 10);
-    *--p = _dig_vec[rem];
-    val= quo;
-  }
-  long_val= (long) val;
-  while (long_val != 0)
-  {
-    long quo= long_val/10;
-    *--p = _dig_vec[(uchar) (long_val - quo*10)];
-    long_val= quo;
-  }
-  while ((*dst++ = *p++) != 0) ;
-  return dst-1;
-}
-#endif
index 438b7b34c9a0b24d510866afddada11db486f90c..d3b55aafff51cd2d0881822fefe22e5b0f0103de 100644 (file)
@@ -1,20 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
-
+/* Copyright (C) 1996  TCX DataKonsult AB & Monty Program KB & Detron HB
+   For a more info consult the file COPYRIGHT distributed with this file */
 /*
   A better inplementation of the UNIX ctype(3) library.
   Notes:   global.h should be included before ctype.h
 #ifndef _m_ctype_h
 #define _m_ctype_h
 
+#define MY_CHARSET_UNDEFINED    0
+#define MY_CHARSET_BIG5                1
+#define MY_CHARSET_CZECH       2
+#define MY_CHARSET_DEC8                3
+#define MY_CHARSET_DOS         4
+#define MY_CHARSET_GERMAN1     5
+#define MY_CHARSET_HP8         6
+#define MY_CHARSET_KOI8_RU     7
+#define MY_CHARSET_LATIN1      8
+#define MY_CHARSET_LATIN2      9
+#define MY_CHARSET_SWE7                10
+#define MY_CHARSET_USA7                11
+#define MY_CHARSET_UJIS                12
+#define MY_CHARSET_SJIS                13
+#define MY_CHARSET_CP1251      14
+#define MY_CHARSET_DANISH      15
+#define MY_CHARSET_HEBREW      16
+#define MY_CHARSET_WIN1251     17
+#define MY_CHARSET_TIS620      18
+#define MY_CHARSET_EUC_KR      19
+#define MY_CHARSET_ESTONIA     20
+#define MY_CHARSET_HUNGARIAN   21
+#define MY_CHARSET_KOI8_UKR    22
+#define MY_CHARSET_WIN1251UKR  23
+#define MY_CHARSET_GB2312      24
+#define MY_CHARSET_GREEK       25
+#define MY_CHARSET_WIN1250     26
+#define MY_CHARSET_CROAT       27
+#define MY_CHARSET_GBK         28
+
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-#define CHARSET_DIR    "charsets/"
-
-typedef struct charset_info_st
-{
-    uint      number;
-    const char *name;
-    uchar    *ctype;
-    uchar    *to_lower;
-    uchar    *to_upper;
-    uchar    *sort_order;
-
-    uint      strxfrm_multiply;
-    int     (*strcoll)(const uchar *, const uchar *);
-    int     (*strxfrm)(uchar *, const uchar *, int);
-    int     (*strnncoll)(const uchar *, int, const uchar *, int);
-    int     (*strnxfrm)(uchar *, const uchar *, int, int);
-    my_bool (*like_range)(const char *, uint, pchar, uint,
-                          char *, char *, uint *, uint *);
-
-    uint      mbmaxlen;
-    int     (*ismbchar)(const char *, const char *);
-    my_bool (*ismbhead)(uint);
-    int     (*mbcharlen)(uint);
-} CHARSET_INFO;
-
-/* strings/ctype.c */
-extern CHARSET_INFO *default_charset_info;
-extern CHARSET_INFO *find_compiled_charset(uint cs_number);
-extern CHARSET_INFO *find_compiled_charset_by_name(const char *name);
-extern CHARSET_INFO  compiled_charsets[];
-
-#define MY_CHARSET_UNDEFINED 0
-#define MY_CHARSET_CURRENT (default_charset_info->number)
-
-#ifdef __WIN__
+#ifdef __WIN32__
 #include <ctype.h>
 #endif
 /* Don't include std ctype.h when this is included */
@@ -70,6 +51,14 @@ extern CHARSET_INFO  compiled_charsets[];
 #define __CTYPE_INCLUDED
 #define _CTYPE_USING   /* Don't put names in global namespace. */
 
+#ifndef CTYPE_LIBRARY
+#define EXT extern
+#define D(x)
+#else
+#define EXT
+#define D(x)   = x
+#endif
+
 #define        _U      01      /* Upper case */
 #define        _L      02      /* Lower case */
 #define        _N      04      /* Numeral (digit) */
@@ -79,12 +68,17 @@ extern CHARSET_INFO  compiled_charsets[];
 #define        _B      0100    /* Blank */
 #define        _X      0200    /* heXadecimal digit */
 
-#define my_ctype       (default_charset_info->ctype)
-#define my_to_upper    (default_charset_info->to_upper)
-#define my_to_lower    (default_charset_info->to_lower)
-#define my_sort_order  (default_charset_info->sort_order)
+extern uchar NEAR ctype_latin1[];
+extern uchar NEAR to_upper_latin1[];
+extern uchar NEAR to_lower_latin1[];
+extern uchar NEAR sort_order_latin1[];
+
+#define my_ctype       ctype_latin1
+#define my_to_upper    to_upper_latin1
+#define my_to_lower    to_lower_latin1
+#define my_sort_order  sort_order_latin1
 
-#ifndef __WIN__
+#ifndef __WIN32__
 #define        _toupper(c)     (char) my_to_upper[(uchar) (c)]
 #define        _tolower(c)     (char) my_to_lower[(uchar) (c)]
 #define toupper(c)     (char) my_to_upper[(uchar) (c)]
@@ -108,34 +102,7 @@ extern CHARSET_INFO  compiled_charsets[];
 #undef ctype
 #endif /* ctype */
 
-#endif /* __WIN__ */
-
-#define        my_isalpha(s, c)  (((s)->ctype+1)[(uchar) (c)] & (_U | _L))
-#define        my_isupper(s, c)  (((s)->ctype+1)[(uchar) (c)] & _U)
-#define        my_islower(s, c)  (((s)->ctype+1)[(uchar) (c)] & _L)
-#define        my_isdigit(s, c)  (((s)->ctype+1)[(uchar) (c)] & _N)
-#define        my_isxdigit(s, c) (((s)->ctype+1)[(uchar) (c)] & _X)
-#define        my_isalnum(s, c)  (((s)->ctype+1)[(uchar) (c)] & (_U | _L | _N))
-#define        my_isspace(s, c)  (((s)->ctype+1)[(uchar) (c)] & _S)
-#define        my_ispunct(s, c)  (((s)->ctype+1)[(uchar) (c)] & _P)
-#define        my_isprint(s, c)  (((s)->ctype+1)[(uchar) (c)] & (_P | _U | _L | _N | _B))
-#define        my_isgraph(s, c)  (((s)->ctype+1)[(uchar) (c)] & (_P | _U | _L | _N))
-#define        my_iscntrl(s, c)  (((s)->ctype+1)[(uchar) (c)] & _C)
-
-#define use_strcoll(s)                ((s)->strcoll != NULL)
-#define MY_STRXFRM_MULTIPLY           (default_charset_info->strxfrm_multiply)
-#define my_strnxfrm(s, a, b, c, d)    ((s)->strnxfrm((a), (b), (c), (d)))
-#define my_strnncoll(s, a, b, c, d)   ((s)->strnncoll((a), (b), (c), (d)))
-#define my_strxfrm(s, a, b, c, d)     ((s)->strnxfrm((a), (b), (c)))
-#define my_strcoll(s, a, b)           ((s)->strcoll((a), (b)))
-#define my_like_range(s, a, b, c, d, e, f, g, h) \
-                ((s)->like_range((a), (b), (c), (d), (e), (f), (g), (h)))
-
-#define use_mb(s)                     ((s)->ismbchar != NULL)
-#define MBMAXLEN                      (default_charset_info->mbmaxlen)
-#define my_ismbchar(s, a, b)          ((s)->ismbchar((a), (b)))
-#define my_ismbhead(s, a)             ((s)->ismbhead((a)))
-#define my_mbcharlen(s, a)            ((s)->mbcharlen((a)))
+#endif /* __WIN32__ */
 
 /* Some macros that should be cleaned up a little */
 #define isvar(c)       (isalnum(c) || (c) == '_')
@@ -143,13 +110,120 @@ extern CHARSET_INFO  compiled_charsets[];
 #define tocntrl(c)     ((c) & 31)
 #define toprint(c)     ((c) | 64)
 
-/* XXX: still need to take care of this one */
-#ifdef MY_CHARSET_TIS620
-#error The TIS620 charset is broken at the moment.  Tell tim to fix it.
+/* Support for Japanese(UJIS) characters, by tommy@valley.ne.jp */
+#if MY_CHARSET_CURRENT == MY_CHARSET_UJIS
+#define USE_MB
+#define        USE_MB_IDENT
+#define isujis(c)     ((0xa1<=((c)&0xff) && ((c)&0xff)<=0xfe))
+#define iskata(c)     ((0xa1<=((c)&0xff) && ((c)&0xff)<=0xdf))
+#define isujis_ss2(c) (((c)&0xff) == 0x8e)
+#define isujis_ss3(c) (((c)&0xff) == 0x8f)
+#define ismbchar(p, end)       ((*(uchar*)(p)<0x80)? 0:\
+       isujis(*(p)) && (end)-(p)>1 && isujis(*((p)+1))? 2:\
+       isujis_ss2(*(p)) && (end)-(p)>1 && iskata(*((p)+1))? 2:\
+       isujis_ss3(*(p)) && (end)-(p)>2 && isujis(*((p)+1)) && isujis(*((p)+2))? 3:\
+       0)
+#define ismbhead(c)    (isujis(c) || isujis_ss2(c) || isujis_ss3(c))
+#define mbcharlen(c)   (isujis(c)? 2: isujis_ss2(c)? 2: isujis_ss3(c)? 3: 0)
+#define MBMAXLEN       3
+#endif
+
+/* Support for Japanese(SJIS) characters, by tommy@valley.ne.jp */
+#if MY_CHARSET_CURRENT == MY_CHARSET_SJIS
+#define USE_MB
+#define USE_MB_IDENT
+#define issjishead(c) ((0x81<=((c)&0xff) && ((c)&0xff)<=0x9f) || (0xe0<=((c)&0xff) && ((c)&0xff)<=0xfc))
+#define issjistail(c) ((0x40<=((c)&0xff) && ((c)&0xff)<=0x7e) || (0x80<=((c)&0xff) && ((c)&0xff)<=0xfc))
+#define ismbchar(p, end)       (issjishead(*(p)) && (end)-(p)>1 && issjistail(*((p)+1))? 2: 0)
+#define ismbhead(c)    issjishead(c)
+#define mbcharlen(c)   (issjishead(c)? 2: 0)
+#define MBMAXLEN       2
+#endif
+
+/* Support for Chinese(BIG5) characters, by jou@nematic.ieo.nctu.edu.tw
+   modified by Wei He (hewei@mail.ied.ac.cn) */
+
+#if MY_CHARSET_CURRENT == MY_CHARSET_BIG5
+#define USE_MB
+#define USE_MB_IDENT
+#define isbig5head(c) (0xa1<=(uchar)(c) && (uchar)(c)<=0xf9)
+#define isbig5tail(c) ((0x40<=(uchar)(c) && (uchar)(c)<=0x7e) || \
+                      (0xa1<=(uchar)(c) && (uchar)(c)<=0xfe))
+#define ismbchar(p, end)  (isbig5head(*(p)) && (end)-(p)>1 && isbig5tail(*((p)+1))? 2: 0)
+#define ismbhead(c)     isbig5head(c)
+#define mbcharlen(c)    (isbig5head(c)? 2: 0)
+#define MBMAXLEN        2
+#
+#undef USE_STRCOLL
+#define USE_STRCOLL
+#endif
+
+/* Support for Chinese(GB2312) characters, by Miles Tsai (net-bull@126.com)
+  modified by Wei He (hewei@mail.ied.ac.cn) */
+
+#if MY_CHARSET_CURRENT == MY_CHARSET_GB2312
+#define USE_MB
+#define USE_MB_IDENT
+#define isgb2312head(c) (0xa1<=(uchar)(c) && (uchar)(c)<=0xf7)
+#define isgb2312tail(c) (0xa1<=(uchar)(c) && (uchar)(c)<=0xfe)
+#define ismbchar(p, end)  (isgb2312head(*(p)) && (end)-(p)>1 && isgb2312tail(*((p)+1))? 2: 0)
+#define ismbhead(c)     isgb2312head(c)
+#define mbcharlen(c)    (isgb2312head(c)? 2:0)
+#define MBMAXLEN        2
+#endif
+
+/* Support for Chinese(GBK) characters, by hewei@mail.ied.ac.cn */
+
+#if MY_CHARSET_CURRENT == MY_CHARSET_GBK
+#define USE_MB
+#define USE_MB_IDENT
+#define isgbkhead(c) (0x81<=(uchar)(c) && (uchar)(c)<=0xfe)
+#define isgbktail(c) ((0x40<=(uchar)(c) && (uchar)(c)<=0x7e) || \
+                          (0x80<=(uchar)(c) && (uchar)(c)<=0xfe))
+#define ismbchar(p, end)  (isgbkhead(*(p)) && (end)-(p)>1 && isgbktail(*((p)+1))? 2: 0)
+#define ismbhead(c)     isgbkhead(c)
+#define mbcharlen(c)    (isgbkhead(c)? 2:0)
+#define MBMAXLEN        2
+#undef USE_STRCOLL
+#define USE_STRCOLL
+#endif
+
+/* Define, how much will the string grow under strxfrm */
+#if MY_CHARSET_CURRENT == MY_CHARSET_CZECH
+#undef USE_STRCOLL
+#define USE_STRCOLL
+#endif
+#if MY_CHARSET_CURRENT == MY_CHARSET_TIS620
+#undef USE_STRCOLL
+#define USE_STRCOLL
 #define USE_TIS620
 #include "t_ctype.h"
 #endif
 
+/* Support for Korean(EUC_KR) characters, by powerm90@tinc.co.kr and mrpark@tinc.co.kr */
+#if MY_CHARSET_CURRENT == MY_CHARSET_EUC_KR
+#define USE_MB
+#define USE_MB_IDENT
+#define iseuc_kr(c)     ((0xa1<=(uchar)(c) && (uchar)(c)<=0xfe))
+#define ismbchar(p, end)        ((*(uchar*)(p)<0x80)? 0:\
+        iseuc_kr(*(p)) && (end)-(p)>1 && iseuc_kr(*((p)+1))? 2:\
+        0)
+#define ismbhead(c)     (iseuc_kr(c))
+#define mbcharlen(c)    (iseuc_kr(c) ? 2 : 0)
+#define MBMAXLEN        2
+#endif
+
+#ifdef USE_STRCOLL
+extern uint MY_STRXFRM_MULTIPLY;
+extern int my_strnxfrm(unsigned char *, unsigned char *, int, int);
+extern int my_strnncoll(const unsigned char *, int, const unsigned char *, int);
+extern int my_strxfrm(unsigned char *, unsigned char *, int);
+extern int my_strcoll(const unsigned char *, const unsigned char *);
+extern my_bool my_like_range(const char *ptr,uint ptr_length,pchar escape,
+                            uint res_length, char *min_str,char *max_str,
+                            uint *min_length,uint *max_length);
+#endif
+
 #ifdef __cplusplus
 }
 #endif
index c17e928ea374e0bb4a870aba926a1371e207198a..37207b6612508fdcb1bc6393bac115488f2730ea 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright (C) 1996  TCX DataKonsult AB & Monty Program KB & Detron HB
+   For a more info consult the file COPYRIGHT distributed with this file */
 
 /* There may be prolems include all of theese. Try to test in
    configure with ones are needed? */
@@ -22,9 +8,6 @@
 
 #ifndef _m_string_h
 #define _m_string_h
-#ifndef __USE_GNU
-#define __USE_GNU                              /* We want to use stpcpy */
-#endif
 #if defined(HAVE_STRINGS_H)
 #include <strings.h>
 #endif
 # define memmove(d, s, n)      bmove((d), (s), (n)) /* our bmove */
 #endif
 
-#if defined(HAVE_STPCPY) && !defined(HAVE_mit_thread)
-#define strmov(A,B) stpcpy((A),(B))
-#endif
-
 /* Unixware 7 */
 #if !defined(HAVE_BFILL)
 # define bfill(A,B,C)           memset((A),(C),(B))
@@ -99,12 +78,6 @@ extern char NEAR _dig_vec[];         /* Declared in int2str() */
 #define strmake_overlapp(A,B,C) strmake(A,B,C)
 #endif
 
-#ifdef BAD_MEMCPY                      /* Problem with gcc on Alpha */
-#define memcpy_fixed(A,B,C) bmove((A),(B),(C))
-#else
-#define memcpy_fixed(A,B,C) memcpy((A),(B),(C))
-#endif
-
 #ifdef MSDOS
 #undef bmove_allign
 #define bmove512(A,B,C) bmove_allign(A,B,C)
@@ -163,6 +136,7 @@ extern      char *strmake_overlapp(char *dst,const char *src, uint length);
 #ifndef strmov
 extern char *strmov(char *dst,const char *src);
 #endif
+extern uint strnlen(const char *s,uint n);
 extern char *strnmov(char *dst,const char *src,uint n);
 extern char *strsuff(const char *src,const char *suffix);
 extern char *strcont(const char *src,const char *set);
@@ -185,9 +159,6 @@ extern int strcmp(const char *, const char *);
 extern size_t strlen(const char *);
 #endif
 #endif
-#ifndef HAVE_STRNLEN 
-extern uint strnlen(const char *s, uint n);
-#endif
 
 #if !defined(__cplusplus)
 #ifndef HAVE_STRPBRK
@@ -197,6 +168,7 @@ extern char *strpbrk(const char *, const char *);
 extern char *strstr(const char *, const char *);
 #endif
 #endif
+extern qsort_cmp get_ptr_compare(uint);
 extern int is_prefix(const char *, const char *);
 
 /* Conversion rutins */
@@ -206,19 +178,16 @@ extern char *my_itoa(int val,char *dst,int radix);
 extern char *my_ltoa(long val,char *dst,int radix);
 #endif
 
-extern char *llstr(longlong value,char *buff);
 #ifndef HAVE_STRTOUL
 extern long strtol(const char *str, char **ptr, int base);
 extern ulong strtoul(const char *str, char **ptr, int base);
 #endif
 
 extern char *int2str(long val,char *dst,int radix);
-extern char *int10_to_str(long val,char *dst,int radix);
 extern char *str2int(const char *src,int radix,long lower,long upper,
                         long *val);
 #if SIZEOF_LONG == SIZEOF_LONG_LONG
 #define longlong2str(A,B,C) int2str((A),(B),(C))
-#define longlong10_to_str(A,B,C) int10_to_str((A),(B),(C))
 #define strtoll(A,B,C) strtol((A),(B),(C))
 #define strtoull(A,B,C) strtoul((A),(B),(C))
 #ifndef HAVE_STRTOULL
@@ -227,7 +196,6 @@ extern char *str2int(const char *src,int radix,long lower,long upper,
 #else
 #ifdef HAVE_LONG_LONG
 extern char *longlong2str(longlong val,char *dst,int radix);
-extern char *longlong10_to_str(longlong val,char *dst,int radix);
 #if (!defined(HAVE_STRTOULL) || defined(HAVE_mit_thread)) || defined(NO_STRTOLL_PROTO)
 extern longlong strtoll(const char *str, char **ptr, int base);
 extern ulonglong strtoull(const char *str, char **ptr, int base);
index 1d63527eb7b58f5250b3d129a84feca44c11d495..6b24182b9c9711758c2d76384487b840ad095936 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*
   Functions to convert to lover_case and to upper_case in scandinavia.
@@ -32,17 +18,16 @@ void caseup_str(my_string str)
 {
 #ifdef USE_MB
   register uint32 l;
-  register char *end=str+(uint) strlen(str);
-  if (use_mb(default_charset_info))
-    while (*str)
-    {
-      if ((l=my_ismbchar(default_charset_info, str,end))) str+=l;
-      else *str=toupper(*str),++str;
-    }
-  else
+  register char *end=str+strlen(str);
+  while (*str)
+  {
+    if ((l=ismbchar(str,end))) str+=l;
+    else *str=toupper(*str),++str;
+  }
+#else
+  while ((*str = toupper(*str)) != 0)
+    str++;
 #endif
-    while ((*str = toupper(*str)) != 0)
-      str++;
 } /* caseup_str */
 
        /* string to lowercase */
@@ -51,17 +36,16 @@ void casedn_str(my_string str)
 {
 #ifdef USE_MB
   register uint32 l;
-  register char *end=str+(uint) strlen(str);
-  if (use_mb(default_charset_info))
-    while (*str)
-    {
-      if ((l=my_ismbchar(default_charset_info, str,end))) str+=l;
-      else *str=tolower(*str),++str;
-    }
-  else
+  register char *end=str+strlen(str);
+  while (*str)
+  {
+    if ((l=ismbchar(str,end))) str+=l;
+    else *str=tolower(*str),++str;
+  }
+#else
+  while ((*str= tolower(*str)) != 0)
+    str++;
 #endif
-    while ((*str= tolower(*str)) != 0)
-      str++;
 } /* casedn_str */
 
 
@@ -72,16 +56,15 @@ void caseup(my_string str, uint length)
 #ifdef USE_MB
   register uint32 l;
   register char *end=str+length;
-  if (use_mb(default_charset_info))
-    while (str<end)
-    {
-      if ((l=my_ismbchar(default_charset_info, str,end))) str+=l;
-      else *str=toupper(*str),++str;
-    }
-  else
+  while (str<end)
+  {
+    if ((l=ismbchar(str,end))) str+=l;
+    else *str=toupper(*str),++str;
+  }
+#else
+  for ( ; length>0 ; length--, str++)
+    *str= toupper(*str);
 #endif
-    for ( ; length>0 ; length--, str++)
-      *str= toupper(*str);
 } /* caseup */
 
        /* to lowercase */
@@ -91,16 +74,15 @@ void casedn(my_string str, uint length)
 #ifdef USE_MB
   register uint32 l;
   register char *end=str+length;
-  if (use_mb(default_charset_info))
-    while (str<end)
-    {
-      if ((l=my_ismbchar(default_charset_info, str,end))) str+=l;
-      else *str=tolower(*str),++str;
-    }
-  else
+  while (str<end)
+  {
+    if ((l=ismbchar(str,end))) str+=l;
+    else *str=tolower(*str),++str;
+  }
+#else
+  for ( ; length>0 ; length--, str++)
+    *str= tolower(*str);
 #endif
-    for ( ; length>0 ; length--, str++)
-      *str= tolower(*str);
 } /* casedn */
 
        /* to sort-string that can be compared to get text in order */
@@ -118,7 +100,7 @@ void case_sort(my_string str, uint length)
         Wei He (hewei@mail.ied.ac.cn)
 */
 
-my_string my_strcasestr(const char *str, const char *search)
+my_string strcasestr(const char *str, const char *search)
 {
  uchar *i,*j,*pos;
 
@@ -126,8 +108,7 @@ my_string my_strcasestr(const char *str, const char *search)
 skipp:
  while (*pos != '\0')
  {
-   if (toupper((uchar) *pos++) == toupper((uchar) *search))
-   {
+   if (toupper((uchar) *pos++) == toupper((uchar) *search)) {
      i=(uchar*) pos; j=(uchar*) search+1;
      while (*j)
        if (toupper(*i++) != toupper(*j++)) goto skipp;
@@ -144,28 +125,23 @@ int my_strcasecmp(const char *s, const char *t)
 {
 #ifdef USE_MB
   register uint32 l;
-  register const char *end=s+(uint) strlen(s);
-  if (use_mb(default_charset_info))
+  register const char *end=s+strlen(s);
+  while (s<end)
   {
-    while (s<end)
+    if ((l=ismbchar(s,end)))
     {
-      if ((l=my_ismbchar(default_charset_info, s,end)))
-      {
-        while (l--)
-          if (*s++ != *t++) return 1;
-      }
-      else if (my_ismbhead(default_charset_info, *t)) return 1;
-      else if (toupper((uchar) *s++) != toupper((uchar) *t++)) return 1;
+      while (l--)
+       if (*s++ != *t++) return 1;
     }
-    return *t;
+    else if (ismbhead(*t)) return 1;
+    else if (toupper((uchar) *s++) != toupper((uchar) *t++)) return 1;
   }
-  else
+  return *t;
+#else
+  while (toupper((uchar) *s) == toupper((uchar) *t++))
+    if (!*s++) return 0;
+  return ((int) toupper((uchar) s[0]) - (int) toupper((uchar) t[-1]));
 #endif
-  {
-    while (toupper((uchar) *s) == toupper((uchar) *t++))
-      if (!*s++) return 0;
-    return ((int) toupper((uchar) s[0]) - (int) toupper((uchar) t[-1]));
-  }
 }
 
 
@@ -174,79 +150,46 @@ int my_casecmp(const char *s, const char *t, uint len)
 #ifdef USE_MB
   register uint32 l;
   register const char *end=s+len;
-  if (use_mb(default_charset_info))
+  while (s<end)
   {
-    while (s<end)
+    if ((l=ismbchar(s,end)))
     {
-      if ((l=my_ismbchar(default_charset_info, s,end)))
-      {
-        while (l--)
-          if (*s++ != *t++) return 1;
-      }
-      else if (my_ismbhead(default_charset_info, *t)) return 1;
-      else if (toupper((uchar) *s++) != toupper((uchar) *t++)) return 1;
+      while (l--)
+       if (*s++ != *t++) return 1;
     }
-    return 0;
+    else if (ismbhead(*t)) return 1;
+    else if (toupper((uchar) *s++) != toupper((uchar) *t++)) return 1;
   }
-  else
+  return 0;
+#else
+  while (len-- != 0 && toupper(*s++) == toupper(*t++)) ;
+  return (int) len+1;
 #endif
-  {
-    while (len-- != 0 && toupper(*s++) == toupper(*t++)) ;
-    return (int) len+1;
-  }
 }
 
 
 int my_strsortcmp(const char *s, const char *t)
 {
 #ifdef USE_STRCOLL
-  if (use_strcoll(default_charset_info))
-    return my_strcoll(default_charset_info, (uchar *)s, (uchar *)t);
-  else
+  return my_strcoll((uchar *)s, (uchar *)t);
+#else
+  while (my_sort_order[(uchar) *s] == my_sort_order[(uchar) *t++])
+    if (!*s++) return 0;
+  return ((int) my_sort_order[(uchar) s[0]] - (int) my_sort_order[(uchar) t[-1]]);
 #endif
-  {
-    while (my_sort_order[(uchar) *s] == my_sort_order[(uchar) *t++])
-      if (!*s++) return 0;
-    return ((int) my_sort_order[(uchar) s[0]] -
-            (int) my_sort_order[(uchar) t[-1]]);
-  }
 }
 
 int my_sortcmp(const char *s, const char *t, uint len)
 {
-#ifdef USE_STRCOLL
-  if (use_strcoll(default_charset_info))
-    return my_strnncoll(default_charset_info,
-                        (uchar *)s, len, (uchar *)t, len);
-  else
-#endif
+#ifndef USE_STRCOLL
+  while (len--)
   {
-    while (len--)
-    {
-      if (my_sort_order[(uchar) *s++] != my_sort_order[(uchar) *t++])
-        return ((int) my_sort_order[(uchar) s[-1]] -
-                (int) my_sort_order[(uchar) t[-1]]);
-    }
-    return 0;
+    if (my_sort_order[(uchar) *s++] != my_sort_order[(uchar) *t++])
+      return ((int) my_sort_order[(uchar) s[-1]] -
+             (int) my_sort_order[(uchar) t[-1]]);
   }
-}
-
-int my_sortncmp(const char *s, uint s_len, const char *t, uint t_len)
-{
-#ifdef USE_STRCOLL
-  if (use_strcoll(default_charset_info))
-    return my_strnncoll(default_charset_info,
-                        (uchar *)s, s_len, (uchar *)t, t_len);
-  else
+  return 0;
+#else
+  return my_strnncoll((uchar *)s, len, (uchar *)t, len);
 #endif
-  {
-    uint len= min(s_len,t_len);
-    while (len--)
-    {
-      if (my_sort_order[(uchar) *s++] != my_sort_order[(uchar) *t++])
-        return ((int) my_sort_order[(uchar) s[-1]] -
-                (int) my_sort_order[(uchar) t[-1]]);
-    }
-    return (int) (s_len - t_len);
-  }
 }
index 1bd6d256cfe4863e24c9cae084e9a98828639304..0897be7882dd76014dd2eefec1cff11a169a9291 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #include "mysys_priv.h"
 #include <m_string.h>
index 6a9b9d183411dffcd72806a9eefa564be67e2e97..0a52e60af3a63840c9299a53381d7b9268e4b20c 100644 (file)
@@ -1,30 +1,15 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* Returnerar en pekare till filnamnets extension. */
 
 #include "mysys_priv.h"
 #include <m_string.h>
 
-       /* Return a pointerto the extension of the filename
-          The pointer points at the extension character (normally '.'))
-          If there isn't any extension, the pointer points at the end
-          NULL of the filename
-       */
+       /* Returnera en pekare till ett filnamns extension.
+          Pekaren pekar p} extensions-karakt{ren. Om ingen extension hittas
+          returneras en pekare till NULL-tecknet i filnamnet */
+       /* Denna funktion r|r inte p} utg}ngsnamnet */
 
 my_string fn_ext(const char *name)
 {
index 623f1dbd19eed50ca9ba7b825492451c0b468c42..ca2188b1992f1de8943a8711a0d4641fcaccb8c4 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #include "mysys_priv.h"
 #include <m_string.h>
index 641528b8b5d9b3fa9aaf5474a38e2e949036a046..8e3118968d393971c16d7979574fec817310a43a 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #include "mysys_priv.h"
 #include <m_string.h>
@@ -30,8 +16,7 @@ my_string my_load_path(my_string to, const char *path,
 {
   char buff[FN_REFLEN];
   DBUG_ENTER("my_load_path");
-  DBUG_PRINT("enter",("path: %s  prefix: %s",path,
-                     own_path_prefix ? own_path_prefix : ""));
+  DBUG_PRINT("enter",("path: %s  prefix: %d",path,own_path_prefix));
 
   if ((path[0] == FN_HOMELIB && path[1] == FN_LIBCHAR) ||
       test_if_hard_path(path))
index bfa9e5d871170ebd3cb83d6ccd59cbb90a2a1c66..3dab1621f53f47eee799457916cd94bb9d39eedf 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #include "mysys_priv.h"
 #include <m_string.h>
@@ -53,13 +39,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= (uint) strlen(buff);
+    buff_length=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,(uint) strlen(to)+1);
+      bchange(to,d_length,buff,buff_length,strlen(to)+1);
     }
   }
 
@@ -68,7 +54,7 @@ void pack_dirname(my_string to, const char *from)
     length=0;
     if (home_dir)
     {
-      length= (uint) strlen(home_dir);
+      length=strlen(home_dir);
       if (home_dir[length-1] == FN_LIBCHAR)
        length--;                               /* Don't test last '/' */
     }
@@ -92,7 +78,7 @@ void pack_dirname(my_string to, const char *from)
       }
       if (is_prefix(to,buff))
       {
-       length= (uint) strlen(buff);
+       length=strlen(buff);
        if (to[length])
          (void) strmov_overlapp(to,to+length); /* Remove everything before */
        else
@@ -212,44 +198,6 @@ uint cleanup_dirname(register my_string to, const char *from)
 } /* cleanup_dirname */
 
 
-       /*
-         On system where you don't have symbolic links, the following
-         code will allow you to create a file: 
-         directory-name.lnk that should contain the real path
-         to the directory.  This will be used if the directory name
-         doesn't exists
-       */
-         
-
-my_bool my_use_symdir=0;       /* Set this if you want to use symdirs */
-
-#ifdef USE_SYMDIR
-void symdirget(char *dir)
-{
-  char buff[FN_REFLEN];
-  char *pos=strend(dir);
-  if (dir[0] && pos[-1] != FN_DEVCHAR && access(dir, F_OK))
-  {
-    FILE *fp;
-    char temp= *(--pos);            /* May be "/" or "\" */
-    strmov(pos,".sym");
-    fp = my_fopen(dir, O_RDONLY,MYF(0));
-    *pos++=temp; *pos=0;         /* Restore old filename */
-    if (fp)
-    {
-      if (fgets(buff, sizeof(buff), fp))
-      {
-       for (pos=strend(buff);
-            pos > buff && (iscntrl(pos[-1]) || isspace(pos[-1])) ;
-            pos --);
-       strmake(dir,buff, (uint) (pos-buff));
-      }
-      my_fclose(fp,MYF(0));
-    }
-  }
-}
-#endif /* USE_SYMDIR */
-
        /* Unpacks dirname to name that can be used by open... */
        /* Make that last char of to is '/' if from not empty and
           from doesn't end in FN_DEVCHAR */
@@ -261,11 +209,11 @@ uint unpack_dirname(my_string to, const char *from)
                                                  /* to may be == from */
 {
   uint length,h_length;
-  char buff[FN_REFLEN+1+4],*suffix,*tilde_expansion;
+  char buff[FN_REFLEN+1],*suffix,*tilde_expansion;
   DBUG_ENTER("unpack_dirname");
 
   (void) intern_filename(buff,from);           /* Change to intern name */
-  length= (uint) strlen(buff);                 /* Fix that '/' is last */
+  length=strlen(buff);                         /* Fix that '/' is last */
   if (length &&
 #ifdef FN_DEVCHAR
       buff[length-1] != FN_DEVCHAR &&
@@ -283,7 +231,7 @@ uint unpack_dirname(my_string to, const char *from)
     if (tilde_expansion)
     {
       length-=(uint) (suffix-buff)-1;
-      if (length+(h_length= (uint) strlen(tilde_expansion)) <= FN_REFLEN)
+      if (length+(h_length=strlen(tilde_expansion)) <= FN_REFLEN)
       {
        if (tilde_expansion[h_length-1] == FN_LIBCHAR)
          h_length--;
@@ -295,10 +243,6 @@ uint unpack_dirname(my_string to, const char *from)
       }
     }
   }
-#ifdef USE_SYMDIR
-  if (my_use_symdir)
-    symdirget(buff);
-#endif
   DBUG_RETURN(system_filename(to,buff));       /* Fix for open */
 } /* unpack_dirname */
 
index f7dcf34e6b42de9eff7c510cc5af14875830a456..c51a79e2384cf097a5a38e00c835b30b797b41af 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #include "mysys_priv.h"
 #include <m_string.h>
@@ -46,7 +32,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, (uint) strlen(curr_dir), (uint) strlen(to)+1);
+       bchange(to,0,curr_dir,strlen(curr_dir),strlen(to)+1);
     }
   }
   else
@@ -74,7 +60,7 @@ my_string my_path(my_string to, const char *progname,
        /* test if file without filename is found in path */
        /* Returns to if found and to has dirpart if found, else NullS */
 
-#if defined(MSDOS) || defined(__WIN__)
+#if defined(MSDOS) || defined(__WIN32__)
 #define F_OK 0
 #define PATH_SEP ';'
 #define PROGRAM_EXTENSION ".exe"
@@ -107,7 +93,7 @@ static char *find_file_in_path(char *to, const char *name)
       }
     }
   }
-#ifdef __WIN__
+#ifdef __WIN32__
   to[0]=FN_CURLIB;
   strxmov(to+1,dir,name,ext,NullS);
   if (!access(to,F_OK))                        /* Test in current dir */
index 6ae29f99136cf0d93fb9c66c82189bc079e9c5b2..f28bfb3f23bed353b61231abbdab8f7b69b897e3 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #include "mysys_priv.h"
 #include <m_string.h>
index 5f1ab9b813e6e5cb6ae0adfdb21670ad9df1492d..8c9d43a01cc8e92637091105a57635d3f9deb088 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* Funktions for comparing with wild-cards */
 
index 8a7ee312aa949a667d63e94faf5817473068d8c8..88cfd33ef5336ef123339617bedb301f72480228 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
        /* Malloc many pointers at the same time */
        /* format myFlags,ptr,length,ptr,length ... until null ptr */
index b6c5ca6a3f4611bec123592126de4ddedaf3f4a1..42e41cc48f7d43c142ed2d6629ad9ab40ecd4128 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*
   File to include when we want to use alarm or a loop_counter to display
index 45fd25166839cf2f6383e2663e0ae45a6c855ea3..4dec9115d9a1b0a8fbe7cb712e65c0a5073dfe10 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* Routines to handle mallocing of results which will be freed the same time */
 
@@ -112,7 +98,7 @@ void free_root(MEM_ROOT *root)
 
 char *strdup_root(MEM_ROOT *root,const char *str)
 {
-  uint len= (uint) strlen(str)+1;
+  uint len=strlen(str)+1;
   char *pos;
   if ((pos=alloc_root(root,len)))
     memcpy(pos,str,len);
index d1e322341355165973051405fe1655bad51bcf94..79d4d2963d6a0d3938cf3c5e3bc049af63d08ab3 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* Written by Sinisa Milivojevic <sinisa@coresinc.com> */
 
index f29ec2572a5310f4ac0bdc647642063df9074eae..f1038d825a6a817775b24d775990e2348b05b905 100644 (file)
@@ -1,708 +1 @@
-/* config.h.  Generated automatically by configure.  */
-/* config.h.in.  Generated automatically from configure.in by autoheader.  */
-
-/* Define if using alloca.c.  */
-/* #undef C_ALLOCA */
-
-/* Define to empty if the keyword does not work.  */
-/* #undef const */
-
-/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
-   This function is required for alloca.c support on those systems.  */
-/* #undef CRAY_STACKSEG_END */
-
-/* Define if you have alloca, as a function or macro.  */
-#define HAVE_ALLOCA 1
-
-/* Define if you have <alloca.h> and it should be used (not on Ultrix).  */
-#define HAVE_ALLOCA_H 1
-
-/* Define if you don't have vprintf but do have _doprnt.  */
-/* #undef HAVE_DOPRNT */
-
-/* Define if you have a working `mmap' system call.  */
-#define HAVE_MMAP 1
-
-/* Define if system calls automatically restart after interruption
-   by a signal.  */
-#define HAVE_RESTARTABLE_SYSCALLS 1
-
-/* Define if your struct stat has st_rdev.  */
-#define HAVE_ST_RDEV 1
-
-/* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
-#define HAVE_SYS_WAIT_H 1
-
-/* Define if you don't have tm_zone but do have the external array
-   tzname.  */
-#define HAVE_TZNAME 1
-
-/* Define if utime(file, NULL) sets file's timestamp to the present.  */
-#define HAVE_UTIME_NULL 1
-
-/* Define if you have the vprintf function.  */
-#define HAVE_VPRINTF 1
-
-/* Define as __inline if that's what the C compiler calls it.  */
-/* #undef inline */
-
-/* Define to `long' if <sys/types.h> doesn't define.  */
-/* #undef off_t */
-
-/* Define as the return type of signal handlers (int or void).  */
-#define RETSIGTYPE void
-
-/* Define to `unsigned' if <sys/types.h> doesn't define.  */
-/* #undef size_t */
-
-/* If using the C implementation of alloca, define if you know the
-   direction of stack growth for your system; otherwise it will be
-   automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown
- */
-#define STACK_DIRECTION -1
-
-/* Define if the `S_IS*' macros in <sys/stat.h> do not work properly.  */
-/* #undef STAT_MACROS_BROKEN */
-
-/* Define if you have the ANSI C header files.  */
-#define STDC_HEADERS 1
-
-/* Define if you can safely include both <sys/time.h> and <time.h>.  */
-#define TIME_WITH_SYS_TIME 1
-
-/* Define if your <sys/time.h> declares struct tm.  */
-/* #undef TM_IN_SYS_TIME */
-
-/* Define if your processor stores words with the most significant
-   byte first (like Motorola and SPARC, unlike Intel and VAX).  */
-/* #undef WORDS_BIGENDIAN */
-
-/* Version of .frm files */
-#define DOT_FRM_VERSION 6
-
-/* READLINE: */
-#define FIONREAD_IN_SYS_IOCTL 1
-
-/* READLINE: Define if your system defines TIOCGWINSZ in sys/ioctl.h.  */
-#define GWINSZ_IN_SYS_IOCTL 1
-
-/* Do we have FIONREAD */
-#define FIONREAD_IN_SYS_IOCTL 1
-
-/* atomic_add() from <asm/atomic.h> (Linux only) */
-#define HAVE_ATOMIC_ADD 1
-
-/* atomic_sub() from <asm/atomic.h> (Linux only) */
-#define HAVE_ATOMIC_SUB 1
-
-/* bool is not defined by all C++ compilators */
-#define HAVE_BOOL 1
-
-/* Have berkeley db installed */
-/* #undef HAVE_BERKELEY_DB */
-
-/* DSB style signals ? */
-/* #undef HAVE_BSD_SIGNALS */
-
-/* Can netinet be included */
-/* #undef HAVE_BROKEN_NETINET_INCLUDES */
-
-/* READLINE: */
-/* #undef HAVE_BSD_SIGNALS */
-
-/* Define if we are using OSF1 DEC threads */
-/* #undef HAVE_DEC_THREADS */
-
-/* Define if we are using OSF1 DEC threads on 3.2 */
-/* #undef HAVE_DEC_3_2_THREADS */
-
-/* fp_except from ieeefp.h */
-/* #undef HAVE_FP_EXCEPT */
-
-/* READLINE: */
-/* #undef HAVE_GETPW_DECLS */
-
-/* In OSF 4.0f the 3'd argument to gethostname_r is hostent_data * */
-/* #undef HAVE_GETHOSTBYNAME_R_WITH_HOSTENT_DATA */
-
-/* Solaris define gethostbyname_r with 5 arguments. glibc2 defines
-   this with 6 arguments */
-#define HAVE_GLIBC2_STYLE_GETHOSTBYNAME_R 1
-
-/* Define if int8, int16 and int32 types exist */
-/* #undef HAVE_INT_8_16_32 */
-
-/* Define if have -lwrap */
-/* #undef HAVE_LIBWRAP */
-
-/* Define if we are using Xavier Leroy's LinuxThreads */
-#define HAVE_LINUXTHREADS 1
-
-/* Do we use user level threads */
-/* #undef HAVE_mit_thread */
-
-/* For some non posix threads */
-/* #undef HAVE_NONPOSIX_PTHREAD_GETSPECIFIC */
-
-/* For some non posix threads */
-/* #undef HAVE_NONPOSIX_PTHREAD_MUTEX_INIT */
-
-/* READLINE: */
-#define HAVE_POSIX_SIGNALS 1
-
-/* sigwait with one argument */
-/* #undef HAVE_NONPOSIX_SIGWAIT */
-
-/* pthread_attr_setscope */
-#define HAVE_PTHREAD_ATTR_SETSCOPE 1
-
-/* POSIX readdir_r */
-#define HAVE_READDIR_R 1
-
-/* POSIX sigwait */
-#define HAVE_SIGWAIT 1
-
-/* Solaris define gethostbyaddr_r with 7 arguments. glibc2 defines
-   this with 8 arguments */
-/* #undef HAVE_SOLARIS_STYLE_GETHOST */
-
-/* MIT pthreads does not support connecting with unix sockets */
-/* #undef HAVE_THREADS_WITHOUT_SOCKETS */
-
-/* Timespec has a ts_sec instead of tv_sev  */
-/* #undef HAVE_TIMESPEC_TS_SEC */
-
-/* Have the tzname variable */
-#define HAVE_TZNAME 1
-
-/* Define if the system files define uchar */
-/* #undef HAVE_UCHAR */
-
-/* Define if the system files define uint */
-#define HAVE_UINT 1
-
-/* Define if the system files define ulong */
-#define HAVE_ULONG 1
-
-/* UNIXWARE7 threads are not posix */
-/* #undef HAVE_UNIXWARE7_THREADS */
-
-/* new UNIXWARE7 threads that are not yet posix */
-/* #undef HAVE_UNIXWARE7_POSIX */
-
-/* READLINE: */
-/* #undef HAVE_USG_SIGHOLD */
-
-/* Define if want -lwrap */
-/* #undef LIBWRAP */
-
-/* Define to machine type name eg sun10 */
-#define MACHINE_TYPE "i686"
-
-/* mysql client protocoll version */
-#define PROTOCOL_VERSION 10
-
-/* Define if qsort returns void */
-#define QSORT_TYPE_IS_VOID 1
-
-/* Define as the return type of qsort (int or void). */
-#define RETQSORTTYPE void
-
-/* Size of off_t */
-#define SIZEOF_OFF_T 8
-
-/* Define as the base type of the last arg to accept */
-#define SOCKET_SIZE_TYPE socklen_t
-
-/* #undef SPEED_T_IN_SYS_TYPES */
-/* #undef SPRINTF_RETURNS_PTR */
-#define SPRINTF_RETURNS_INT 1
-/* #undef SPRINTF_RETURNS_GARBAGE */
-
-/* #undef STRUCT_DIRENT_HAS_D_FILENO */
-#define STRUCT_DIRENT_HAS_D_INO 1
-
-/* Define to name of system eg solaris*/
-#define SYSTEM_TYPE "pc-linux-gnu"
-
-/* Define if you want to have threaded code. This may be undef on client code */
-#define THREAD 1
-
-/* Should be client be thread safe */
-/* #undef THREAD_SAFE_CLIENT */
-
-/* READLINE: */
-/* #undef TIOCSTAT_IN_SYS_IOCTL */
-
-/* Use multi-byte character routines */
-#define USE_MB 1
-#define USE_MB_IDENT 1
-
-/* Use MySQL RAID */
-/* #undef USE_RAID */
-
-/* Use strcoll() functions when comparing and sorting. */
-#define USE_STRCOLL 1
-
-/* READLINE: */
-#define VOID_SIGHANDLER 1
-
-/* The number of bytes in a char.  */
-#define SIZEOF_CHAR 1
-
-/* The number of bytes in a int.  */
-#define SIZEOF_INT 4
-
-/* The number of bytes in a long.  */
-#define SIZEOF_LONG 4
-
-/* The number of bytes in a long long.  */
-#define SIZEOF_LONG_LONG 8
-
-/* Define if you have the alarm function.  */
-#define HAVE_ALARM 1
-
-/* Define if you have the atod function.  */
-/* #undef HAVE_ATOD */
-
-/* Define if you have the bcmp function.  */
-#define HAVE_BCMP 1
-
-/* Define if you have the bfill function.  */
-/* #undef HAVE_BFILL */
-
-/* Define if you have the bmove function.  */
-/* #undef HAVE_BMOVE */
-
-/* Define if you have the bzero function.  */
-#define HAVE_BZERO 1
-
-/* Define if you have the chsize function.  */
-/* #undef HAVE_CHSIZE */
-
-/* Define if you have the compress function.  */
-#define HAVE_COMPRESS 1
-
-/* Define if you have the crypt function.  */
-#define HAVE_CRYPT 1
-
-/* Define if you have the cuserid function.  */
-#define HAVE_CUSERID 1
-
-/* Define if you have the dlerror function.  */
-#define HAVE_DLERROR 1
-
-/* Define if you have the dlopen function.  */
-#define HAVE_DLOPEN 1
-
-/* Define if you have the fchmod function.  */
-#define HAVE_FCHMOD 1
-
-/* Define if you have the fcntl function.  */
-#define HAVE_FCNTL 1
-
-/* Define if you have the fconvert function.  */
-/* #undef HAVE_FCONVERT */
-
-/* Define if you have the finite function.  */
-#define HAVE_FINITE 1
-
-/* Define if you have the fpresetsticky function.  */
-/* #undef HAVE_FPRESETSTICKY */
-
-/* Define if you have the fpsetmask function.  */
-/* #undef HAVE_FPSETMASK */
-
-/* Define if you have the fseeko function.  */
-#define HAVE_FSEEKO 1
-
-/* Define if you have the ftruncate function.  */
-#define HAVE_FTRUNCATE 1
-
-/* Define if you have the getcwd function.  */
-#define HAVE_GETCWD 1
-
-/* Define if you have the gethostbyaddr_r function.  */
-#define HAVE_GETHOSTBYADDR_R 1
-
-/* Define if you have the gethostbyname_r function.  */
-#define HAVE_GETHOSTBYNAME_R 1
-
-/* Define if you have the getpagesize function.  */
-#define HAVE_GETPAGESIZE 1
-
-/* Define if you have the getpass function.  */
-#define HAVE_GETPASS 1
-
-/* Define if you have the getpassphrase function.  */
-/* #undef HAVE_GETPASSPHRASE */
-
-/* Define if you have the getpwnam function.  */
-#define HAVE_GETPWNAM 1
-
-/* Define if you have the getpwuid function.  */
-#define HAVE_GETPWUID 1
-
-/* Define if you have the getrlimit function.  */
-#define HAVE_GETRLIMIT 1
-
-/* Define if you have the getrusage function.  */
-#define HAVE_GETRUSAGE 1
-
-/* Define if you have the getwd function.  */
-#define HAVE_GETWD 1
-
-/* Define if you have the index function.  */
-#define HAVE_INDEX 1
-
-/* Define if you have the initgroups function.  */
-#define HAVE_INITGROUPS 1
-
-/* Define if you have the localtime_r function.  */
-#define HAVE_LOCALTIME_R 1
-
-/* Define if you have the locking function.  */
-/* #undef HAVE_LOCKING */
-
-/* Define if you have the longjmp function.  */
-#define HAVE_LONGJMP 1
-
-/* Define if you have the lrand48 function.  */
-#define HAVE_LRAND48 1
-
-/* Define if you have the lstat function.  */
-#define HAVE_LSTAT 1
-
-/* Define if you have the madvise function.  */
-/* #undef HAVE_MADVISE */
-
-/* Define if you have the memcpy function.  */
-#define HAVE_MEMCPY 1
-
-/* Define if you have the memmove function.  */
-#define HAVE_MEMMOVE 1
-
-/* Define if you have the perror function.  */
-#define HAVE_PERROR 1
-
-/* Define if you have the pread function.  */
-#define HAVE_PREAD 1
-
-/* Define if you have the pthread_attr_create function.  */
-/* #undef HAVE_PTHREAD_ATTR_CREATE */
-
-/* Define if you have the pthread_attr_setprio function.  */
-/* #undef HAVE_PTHREAD_ATTR_SETPRIO */
-
-/* Define if you have the pthread_attr_setschedparam function.  */
-#define HAVE_PTHREAD_ATTR_SETSCHEDPARAM 1
-
-/* Define if you have the pthread_attr_setstacksize function.  */
-#define HAVE_PTHREAD_ATTR_SETSTACKSIZE 1
-
-/* Define if you have the pthread_condattr_create function.  */
-/* #undef HAVE_PTHREAD_CONDATTR_CREATE */
-
-/* Define if you have the pthread_getsequence_np function.  */
-/* #undef HAVE_PTHREAD_GETSEQUENCE_NP */
-
-/* Define if you have the pthread_init function.  */
-/* #undef HAVE_PTHREAD_INIT */
-
-/* Define if you have the pthread_rwlock_rdlock function.  */
-#define HAVE_PTHREAD_RWLOCK_RDLOCK 1
-
-/* Define if you have the pthread_setprio function.  */
-/* #undef HAVE_PTHREAD_SETPRIO */
-
-/* Define if you have the pthread_setprio_np function.  */
-/* #undef HAVE_PTHREAD_SETPRIO_NP */
-
-/* Define if you have the pthread_setschedparam function.  */
-#define HAVE_PTHREAD_SETSCHEDPARAM 1
-
-/* Define if you have the pthread_sigmask function.  */
-#define HAVE_PTHREAD_SIGMASK 1
-
-/* Define if you have the putenv function.  */
-#define HAVE_PUTENV 1
-
-/* Define if you have the realpath function.  */
-#define HAVE_REALPATH 1
-
-/* Define if you have the rename function.  */
-#define HAVE_RENAME 1
-
-/* Define if you have the rint function.  */
-#define HAVE_RINT 1
-
-/* Define if you have the rwlock_init function.  */
-/* #undef HAVE_RWLOCK_INIT */
-
-/* Define if you have the select function.  */
-#define HAVE_SELECT 1
-
-/* Define if you have the setenv function.  */
-#define HAVE_SETENV 1
-
-/* Define if you have the setlocale function.  */
-#define HAVE_SETLOCALE 1
-
-/* Define if you have the setupterm function.  */
-/* #undef HAVE_SETUPTERM */
-
-/* Define if you have the sighold function.  */
-#define HAVE_SIGHOLD 1
-
-/* Define if you have the sigset function.  */
-#define HAVE_SIGSET 1
-
-/* Define if you have the sigthreadmask function.  */
-/* #undef HAVE_SIGTHREADMASK */
-
-/* Define if you have the snprintf function.  */
-#define HAVE_SNPRINTF 1
-
-/* Define if you have the socket function.  */
-#define HAVE_SOCKET 1
-
-/* Define if you have the stpcpy function.  */
-#define HAVE_STPCPY 1
-
-/* Define if you have the strcasecmp function.  */
-#define HAVE_STRCASECMP 1
-
-/* Define if you have the strcoll function.  */
-#define HAVE_STRCOLL 1
-
-/* Define if you have the strerror function.  */
-#define HAVE_STRERROR 1
-
-/* Define if you have the strnlen function.  */
-#define HAVE_STRNLEN 1
-
-/* Define if you have the strpbrk function.  */
-#define HAVE_STRPBRK 1
-
-/* Define if you have the strstr function.  */
-#define HAVE_STRSTR 1
-
-/* Define if you have the strtok_r function.  */
-#define HAVE_STRTOK_R 1
-
-/* Define if you have the strtoul function.  */
-#define HAVE_STRTOUL 1
-
-/* Define if you have the strtoull function.  */
-#define HAVE_STRTOULL 1
-
-/* Define if you have the tcgetattr function.  */
-#define HAVE_TCGETATTR 1
-
-/* Define if you have the tell function.  */
-/* #undef HAVE_TELL */
-
-/* Define if you have the tempnam function.  */
-#define HAVE_TEMPNAM 1
-
-/* Define if you have the thr_setconcurrency function.  */
-/* #undef HAVE_THR_SETCONCURRENCY */
-
-/* Define if you have the vidattr function.  */
-/* #undef HAVE_VIDATTR */
-
-/* Define if you have the <alloca.h> header file.  */
-#define HAVE_ALLOCA_H 1
-
-/* Define if you have the <arpa/inet.h> header file.  */
-#define HAVE_ARPA_INET_H 1
-
-/* Define if you have the <asm/termbits.h> header file.  */
-#define HAVE_ASM_TERMBITS_H 1
-
-/* Define if you have the <crypt.h> header file.  */
-#define HAVE_CRYPT_H 1
-
-/* Define if you have the <curses.h> header file.  */
-#define HAVE_CURSES_H 1
-
-/* Define if you have the <dirent.h> header file.  */
-#define HAVE_DIRENT_H 1
-
-/* Define if you have the <fcntl.h> header file.  */
-#define HAVE_FCNTL_H 1
-
-/* Define if you have the <float.h> header file.  */
-#define HAVE_FLOAT_H 1
-
-/* Define if you have the <floatingpoint.h> header file.  */
-/* #undef HAVE_FLOATINGPOINT_H */
-
-/* Define if you have the <grp.h> header file.  */
-#define HAVE_GRP_H 1
-
-/* Define if you have the <ieeefp.h> header file.  */
-/* #undef HAVE_IEEEFP_H */
-
-/* Define if you have the <limits.h> header file.  */
-#define HAVE_LIMITS_H 1
-
-/* Define if you have the <locale.h> header file.  */
-#define HAVE_LOCALE_H 1
-
-/* Define if you have the <memory.h> header file.  */
-#define HAVE_MEMORY_H 1
-
-/* Define if you have the <ndir.h> header file.  */
-/* #undef HAVE_NDIR_H */
-
-/* Define if you have the <netinet/in.h> header file.  */
-#define HAVE_NETINET_IN_H 1
-
-/* Define if you have the <pwd.h> header file.  */
-#define HAVE_PWD_H 1
-
-/* Define if you have the <sched.h> header file.  */
-#define HAVE_SCHED_H 1
-
-/* Define if you have the <select.h> header file.  */
-/* #undef HAVE_SELECT_H */
-
-/* Define if you have the <stdarg.h> header file.  */
-#define HAVE_STDARG_H 1
-
-/* Define if you have the <stddef.h> header file.  */
-#define HAVE_STDDEF_H 1
-
-/* Define if you have the <stdlib.h> header file.  */
-#define HAVE_STDLIB_H 1
-
-/* Define if you have the <string.h> header file.  */
-#define HAVE_STRING_H 1
-
-/* Define if you have the <strings.h> header file.  */
-#define HAVE_STRINGS_H 1
-
-/* Define if you have the <synch.h> header file.  */
-/* #undef HAVE_SYNCH_H */
-
-/* Define if you have the <sys/dir.h> header file.  */
-#define HAVE_SYS_DIR_H 1
-
-/* Define if you have the <sys/file.h> header file.  */
-#define HAVE_SYS_FILE_H 1
-
-/* Define if you have the <sys/mman.h> header file.  */
-#define HAVE_SYS_MMAN_H 1
-
-/* Define if you have the <sys/ndir.h> header file.  */
-/* #undef HAVE_SYS_NDIR_H */
-
-/* Define if you have the <sys/pte.h> header file.  */
-/* #undef HAVE_SYS_PTE_H */
-
-/* Define if you have the <sys/ptem.h> header file.  */
-/* #undef HAVE_SYS_PTEM_H */
-
-/* Define if you have the <sys/select.h> header file.  */
-#define HAVE_SYS_SELECT_H 1
-
-/* Define if you have the <sys/socket.h> header file.  */
-#define HAVE_SYS_SOCKET_H 1
-
-/* Define if you have the <sys/stream.h> header file.  */
-/* #undef HAVE_SYS_STREAM_H */
-
-/* Define if you have the <sys/timeb.h> header file.  */
-#define HAVE_SYS_TIMEB_H 1
-
-/* Define if you have the <sys/types.h> header file.  */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define if you have the <sys/un.h> header file.  */
-#define HAVE_SYS_UN_H 1
-
-/* Define if you have the <sys/utime.h> header file.  */
-/* #undef HAVE_SYS_UTIME_H */
-
-/* Define if you have the <sys/vadvise.h> header file.  */
-/* #undef HAVE_SYS_VADVISE_H */
-
-/* Define if you have the <sys/wait.h> header file.  */
-#define HAVE_SYS_WAIT_H 1
-
-/* Define if you have the <term.h> header file.  */
-#define HAVE_TERM_H 1
-
-/* Define if you have the <termbits.h> header file.  */
-/* #undef HAVE_TERMBITS_H */
-
-/* Define if you have the <termcap.h> header file.  */
-#define HAVE_TERMCAP_H 1
-
-/* Define if you have the <termio.h> header file.  */
-#define HAVE_TERMIO_H 1
-
-/* Define if you have the <termios.h> header file.  */
-#define HAVE_TERMIOS_H 1
-
-/* Define if you have the <unistd.h> header file.  */
-#define HAVE_UNISTD_H 1
-
-/* Define if you have the <utime.h> header file.  */
-#define HAVE_UTIME_H 1
-
-/* Define if you have the <varargs.h> header file.  */
-#define HAVE_VARARGS_H 1
-
-/* Define if you have the bind library (-lbind).  */
-/* #undef HAVE_LIBBIND */
-
-/* Define if you have the c_r library (-lc_r).  */
-/* #undef HAVE_LIBC_R */
-
-/* Define if you have the compat library (-lcompat).  */
-/* #undef HAVE_LIBCOMPAT */
-
-/* Define if you have the crypt library (-lcrypt).  */
-#define HAVE_LIBCRYPT 1
-
-/* Define if you have the dl library (-ldl).  */
-#define HAVE_LIBDL 1
-
-/* Define if you have the gen library (-lgen).  */
-/* #undef HAVE_LIBGEN */
-
-/* Define if you have the m library (-lm).  */
-#define HAVE_LIBM 1
-
-/* Define if you have the nsl library (-lnsl).  */
-#define HAVE_LIBNSL 1
-
-/* Define if you have the nsl_r library (-lnsl_r).  */
-/* #undef HAVE_LIBNSL_R */
-
-/* Define if you have the pthread library (-lpthread).  */
-#define HAVE_LIBPTHREAD 1
-
-/* Define if you have the socket library (-lsocket).  */
-/* #undef HAVE_LIBSOCKET */
-
-/* Name of package */
-#define PACKAGE "mysql"
-
-/* Version number of package */
-#define VERSION "3.23.22-beta"
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#define _FILE_OFFSET_BITS 64
-
-/* Define to make fseeko etc. visible, on some hosts. */
-/* #undef _LARGEFILE_SOURCE */
-
-/* Define for large files, on AIX-style hosts. */
-/* #undef _LARGE_FILES */
-
+#include "php_config.h"
index 866c0dfd46533c8cfa0fa6d58c3eee13b8d79eb6..d227140b09c516789624bbae2c381c62403776ca 100644 (file)
@@ -1,26 +1,12 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #define USES_TYPES
 #include "mysys_priv.h"
 #include <my_dir.h>
 #include "mysys_err.h"
 #include <errno.h>
-#if defined(MSDOS) || defined(__WIN__)
+#if defined(MSDOS) || defined(__WIN32__)
 #include <share.h>
 #endif
 
@@ -48,7 +34,7 @@ File my_create(const char *FileName, int CreateFlags, int access_flags,
 #elif defined(VMS)
   fd = open((my_string) FileName, access_flags | O_CREAT, 0,
            "ctx=stm","ctx=bin");
-#elif defined(MSDOS) || defined(__WIN__)
+#elif defined(MSDOS) || defined(__WIN32__)
   if (access_flags & O_SHARE)
     fd = sopen((my_string) FileName, access_flags | O_CREAT | O_BINARY,
               SH_DENYNO, MY_S_IREAD | MY_S_IWRITE);
@@ -62,15 +48,11 @@ File my_create(const char *FileName, int CreateFlags, int access_flags,
   if (fd >= 0)
   {
     if ((int) fd >= MY_NFILE)
-    {
-      DBUG_PRINT("exit",("fd: %d",fd));
       DBUG_RETURN(fd);                         /* safeguard */
-    }
     if ((my_file_info[fd].name = (char*) my_strdup(FileName,MyFlags)))
     {
       my_file_opened++;
       my_file_info[fd].type = FILE_BY_CREATE;
-      DBUG_PRINT("exit",("fd: %d",fd));
       DBUG_RETURN(fd);
     }
     VOID(my_close(fd,MyFlags));
index 77d5f311418071d9f153b65e50f0a3ad4c82901a..b29631b90a0915b5c443f25fc9d7572b87a99b89 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #include "mysys_priv.h"
 
index 1961ca795496d4a72445f5ee4ab4a10d14c6d163..0fdd5a148e82c6ee6a13d386fdcbcfe33ed30a81 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #ifndef _my_dir_h
 #define _my_dir_h
@@ -90,7 +76,6 @@ typedef struct st_my_dir      /* Struct returned from my_dir */
 extern MY_DIR *my_dir(const char *path,myf MyFlags);
 extern void my_dirend(MY_DIR *buffer);
 extern MY_STAT *my_stat(const char *path, MY_STAT *stat_area, myf my_flags);
-extern int my_fstat(int filenr, MY_STAT *stat_area, myf MyFlags);
 
 #endif /* MY_DIR_H */
 
index 2479467937669e6afa064b1e493e3fd61aaa2686..9650b28136755397c2e67f7a4b72398c9e91578e 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #include "mysys_priv.h"
 
index 26510f0848059acb3dcf8e66f6d76ebe66f86efe..aeef85dbd43de5ced973b3b931172f025fc47cb2 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #include "mysys_priv.h"
 #include "mysys_err.h"
@@ -53,7 +39,6 @@ int my_error(int nr,myf MyFlags, ...)
     if (tpos[0] != '%')
     {
       *endpos++= *tpos++;      /* Copy ordinary char */
-      olen++;
       continue;
     }
     if (*++tpos == '%')                /* test if %% */
@@ -81,10 +66,8 @@ int my_error(int nr,myf MyFlags, ...)
       {
        register int iarg;
        iarg = va_arg(ap, int);
-       if (*tpos == 'd')
-         plen= (uint) (int2str((long) iarg,endpos, -10) - endpos);
-       else
-         plen= (uint) (int2str((long) (uint) iarg,endpos,10)- endpos);
+       plen= (uint) (int2str((long) iarg,endpos,*tpos == 'd'  ? -10 : 10)-
+                     endpos);
        if (olen + plen < ERRMSGSIZE+2) /* Replace parameter if possible */
        {
          endpos+=plen;
index b2e9951879263507296cfadf7f93f313549357e3..f22f492b4fcc3eb68e82152f535326081e76f031 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #include "mysys_priv.h"
 #include "my_static.h"
@@ -63,8 +49,7 @@ FILE *my_fopen(const char *FileName, int Flags, myf MyFlags)
     my_errno=errno;
   DBUG_PRINT("error",("Got error %d on open",my_errno));
   if (MyFlags & (MY_FFNF | MY_FAE | MY_WME))
-    my_error((Flags & O_RDONLY) || (Flags == O_RDONLY ) ? EE_FILENOTFOUND :
-            EE_CANTCREATEFILE,
+    my_error(Flags & O_RDONLY ? EE_FILENOTFOUND : EE_CANTCREATEFILE,
             MYF(ME_BELL+ME_WAITTANG), FileName,my_errno);
   DBUG_RETURN((FILE*) 0);
 } /* my_fopen */
index 3d674276731ea4c2a29864b1d54953dd640616d5..0267a3eaa647a55d7ec84eb389bca8d81f509347 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* my_setwd() and my_getwd() works with intern_filenames !! */
 
@@ -23,7 +9,7 @@
 #ifdef HAVE_GETWD
 #include <sys/param.h>
 #endif
-#if defined(MSDOS) || defined(__WIN__)
+#if defined(MSDOS) || defined(__WIN32__)
 #include <m_ctype.h>
 #include <dos.h>
 #include <direct.h>
index 912e80d9ebd228e349aa233a0a60bb6aa093c9e3..db45d991d31cf6d56380200fe27c2fe8154788df 100644 (file)
@@ -1,26 +1,10 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #include "mysys_priv.h"
 #include "my_static.h"
 #include "mysys_err.h"
-#include "m_ctype.h"
 #include <m_string.h>
-#include <m_ctype.h>
 #ifdef THREAD
 #include <my_pthread.h>
 #endif
@@ -33,7 +17,7 @@
 #include <my_static.c>
 #include <m_ctype.h>
 #endif
-#ifdef __WIN__
+#ifdef __WIN32__
 #ifdef _MSC_VER
 #include <locale.h>
 #include <crtdbg.h>
@@ -60,7 +44,7 @@ void my_init(void)
   pthread_init();                      /* Must be called before DBUG_ENTER */
 #endif
   my_thread_global_init();
-#ifndef __WIN__
+#ifndef __WIN32__
   sigfillset(&my_signals);             /* signals blocked by mf_brkhant */
 #endif
 #endif
@@ -75,15 +59,13 @@ void my_init(void)
 #ifndef VMS
       if ((str=getenv("UMASK")) != 0)
        my_umask=atoi(str) | 0600;      /* Default creation of new files */
-      if ((str=getenv("UMASK_DIR")) != 0)
-       my_umask_dir=atoi(str) | 0700;  /* Default creation of new dir's */
 #endif
 #ifdef VMS
       init_ctype();                    /* Stupid linker don't link _ctype.c */
 #endif
       DBUG_PRINT("exit",("home: '%s'",home_dir));
     }
-#ifdef __WIN__
+#ifdef __WIN32__
     win32_init_tcp_ip();
 #endif
     DBUG_VOID_RETURN;
@@ -112,7 +94,7 @@ void my_end(int infoflag)
 #ifdef HAVE_GETRUSAGE
     struct rusage rus;
     if (!getrusage(RUSAGE_SELF, &rus))
-      fprintf(info_file,"\nUser time %.2f, System time %.2f\nMaximum resident set size %ld, Integral resident set size %ld\nNon physical pagefaults %ld, Physical pagefaults %ld, Swaps %ld\nBlocks in %ld out %ld, Messages in %ld out %ld, Signals %ld\nVouluntary context switches %ld, Invouluntary context switches %ld\n",
+      fprintf(info_file,"\nUser time %.2f, System time %.2f\nMaximum resident set size %d, Integral resident set size %d\nNon physical pagefaults %d, Physical pagefaults %d, Swaps %d\nBlocks in %d out %d, Messages in %d out %d, Signals %d\nVouluntary context switches %d, Invouluntary context switches %d\n",
              (rus.ru_utime.tv_sec * SCALE_SEC +
               rus.ru_utime.tv_usec / SCALE_USEC) / 100.0,
              (rus.ru_stime.tv_sec * SCALE_SEC +
@@ -123,13 +105,12 @@ void my_end(int infoflag)
              rus.ru_msgsnd, rus.ru_msgrcv, rus.ru_nsignals,
              rus.ru_nvcsw, rus.ru_nivcsw);
 #endif
-#if defined(MSDOS) && !defined(__WIN__)
+#if defined(MSDOS) && !defined(__WIN32__)
     fprintf(info_file,"\nRun time: %.1f\n",(double) clock()/CLOCKS_PER_SEC);
 #endif
-    free_charsets();
 #if defined(SAFEMALLOC)
     TERMINATE(stderr);         /* Give statistic on screen */
-#elif defined(__WIN__) && defined(_MSC_VER)
+#elif defined(__WIN32__) && defined(_MSC_VER)
    _CrtSetReportMode( _CRT_WARN, _CRTDBG_MODE_FILE );
    _CrtSetReportFile( _CRT_WARN, _CRTDBG_FILE_STDERR );
    _CrtSetReportMode( _CRT_ERROR, _CRTDBG_MODE_FILE );
@@ -148,13 +129,13 @@ void my_end(int infoflag)
   my_thread_end();
   my_thread_global_end();
 #endif
-#ifdef __WIN__
+#ifdef __WIN32__
   if (have_tcpip);
     WSACleanup( );
-#endif /* __WIN__ */
+#endif /* __WIN32__ */
 } /* my_end */
 
-#ifdef __WIN__
+#ifdef __WIN32__
 
 /*
   This code is specially for running MySQL, but it should work in
index 7391db70e27f958632dbe457e6b685e2a8e8c744..d5a28ac139efcfe16b56a7182d2177649f5a6970 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #ifndef _list_h_
 #define _list_h_
index 6cae6fe3a4d682830b573ae6554a8631a1488ec2..ca44ae4f647367a88b91d5d52826d7e262508d2f 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #ifdef SAFEMALLOC                      /* We don't need SAFEMALLOC here */
 #undef SAFEMALLOC
index 0dd3be5ba9827c2027b63eb46811898b24a3f8fd..96d90af343dc543eacb32032ddbcd3b15f4f0edc 100644 (file)
@@ -1,23 +1,9 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #include "mysys_priv.h"
 
-int my_message_no_curses(uint error __attribute__((unused)),
+int my_message_no_curses(uint my_error __attribute__((unused)),
                         const char *str, myf MyFlags)
 {
   DBUG_ENTER("my_message_no_curses");
index 1c91f7ff8026922fbc5b475bd89496f65b6fc8d0..9fb47c50f9e208c6f7f31bd5a7222cf1406b0daa 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 2000 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* thread safe version of some common functions */
 
 #include <m_string.h>
 
 /* for thread safe my_inet_ntoa */
-#if !defined(MSDOS) && !defined(__WIN__)
+#if !defined(MSDOS) && !defined(__WIN32__)
 #include <netdb.h>
-#ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
 #include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
 #include <arpa/inet.h>
-#endif
-#endif /* !defined(MSDOS) && !defined(__WIN__) */
+#endif 
 
 #ifndef THREAD
 #define pthread_mutex_lock(A)
index a02a564c52779e4a09c4ccdbc6734f34d305b367..ac4af6595b62c570df2275e88ed462b31c7a75c9 100644 (file)
@@ -1,33 +1,10 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
-
 /* thread safe version of some common functions */
 
 /* for thread safe my_inet_ntoa */
-#if !defined(MSDOS) && !defined(__WIN__) && !defined(__BEOS__)
-#ifdef HAVE_SYS_SOCKET_H
+#if !defined(MSDOS) && !defined(__WIN32__)
 #include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
 #include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
 #include <arpa/inet.h>
-#endif
-#endif /* !defined(MSDOS) && !defined(__WIN__) */
+#endif 
 
 void my_inet_ntoa(struct in_addr in, char *buf);
index 0b8b5addc161d769c2c894c466e14f3f9f4488f0..b03f4df529d2e69eb9f45bb5f7e7602b7feffd1a 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* Not MT-SAFE */
 
index ef1db41e3f5f2cff97f4c689c575d11d79bdd08f..10ddb953882cb2dfbdf0119be6b89ab43fd58b52 100644 (file)
@@ -1,25 +1,11 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #define USES_TYPES
 #include "mysys_priv.h"
 #include "mysys_err.h"
 #include <errno.h>
-#if defined(MSDOS) || defined(__WIN__)
+#if defined(MSDOS) || defined(__WIN32__)
 #include <share.h>
 #endif
 
@@ -34,7 +20,7 @@ File my_open(const char *FileName, int Flags, myf MyFlags)
   DBUG_ENTER("my_open");
   DBUG_PRINT("my",("Name: '%s'  Flags: %d  MyFlags: %d",
                   FileName, Flags, MyFlags));
-#if defined(MSDOS) || defined(__WIN__)
+#if defined(MSDOS) || defined(__WIN32__)
   if (Flags & O_SHARE)
     fd = sopen((my_string) FileName, (Flags & ~O_SHARE) | O_BINARY, SH_DENYNO);
   else
@@ -86,7 +72,7 @@ int my_close(File fd, myf MyFlags)
     if (MyFlags & (MY_FAE | MY_WME))
       my_error(EE_BADCLOSE, MYF(ME_BELL+ME_WAITTANG),my_filename(fd),errno);
   }
-  if ((uint) fd < MY_NFILE && my_file_info[fd].type != UNOPEN)
+  if (fd < MY_NFILE && my_file_info[fd].type != UNOPEN)
   {
     my_file_opened--;
     my_free(my_file_info[fd].name, MYF(0));
index b2445bfa3639d3d383cfe1fa4f4dcd5aef0aaef3..2110437a162ede37210236cda144d5dda56a5dda 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* Functions to get threads more portable */
 
@@ -23,7 +9,7 @@
 #include <m_string.h>
 #include <thr_alarm.h>
 #include <assert.h>
-#if !defined(MSDOS) && !defined(__WIN__)
+#if !defined(MSDOS) && !defined(__WIN32__)
 #include <netdb.h>
 #endif
 
@@ -100,7 +86,7 @@ int my_pthread_create_detached=1;
 
 #if defined(HAVE_NONPOSIX_SIGWAIT) || defined(HAVE_DEC_3_2_THREADS)
 
-int my_sigwait(const sigset_t *set,int *sig)
+int my_sigwait(sigset_t *set,int *sig)
 {
   int signal=sigwait(set);
   if (signal < 0)
@@ -121,7 +107,7 @@ struct tm *localtime_r(const time_t *clock, struct tm *res)
   struct tm *tmp;
   pthread_mutex_lock(&LOCK_localtime_r);
   tmp=localtime(clock);
-  *res= *tmp;
+  memcpy(res,tmp,sizeof(*tmp));
   pthread_mutex_unlock(&LOCK_localtime_r);
   return res;
 }
@@ -145,7 +131,7 @@ struct tm *localtime_r(const time_t *clock, struct tm *res)
 ** Author: Gary Wisniewski <garyw@spidereye.com.au>, much modified by Monty
 ****************************************************************************/
 
-#if !defined(HAVE_SIGWAIT) && !defined(HAVE_mit_thread) && !defined(sigwait) && !defined(__WIN__) && !defined(HAVE_rts_threads) && !defined(HAVE_NONPOSIX_SIGWAIT) && !defined(HAVE_DEC_3_2_THREADS)
+#if !defined(HAVE_SIGWAIT) && !defined(HAVE_mit_thread) && !defined(sigwait) && !defined(__WIN32__) && !defined(HAVE_rts_threads) && !defined(HAVE_NONPOSIX_SIGWAIT) && !defined(HAVE_DEC_3_2_THREADS)
 
 #if !defined(DONT_USE_SIGSUSPEND)
 
@@ -165,7 +151,7 @@ void sigwait_setup(sigset_t *set)
 
   sact.sa_flags = 0;
   sact.sa_handler = px_handle_sig;
-  memcpy_fixed(&sact.sa_mask,set,sizeof(*set));        /* handler isn't thread_safe */
+  memcpy(&sact.sa_mask,set,sizeof(*set));      /* handler isn't thread_safe */
   sigemptyset(&unblock_mask);
   pthread_sigmask(SIG_UNBLOCK,(sigset_t*) 0,&rev_sigwait_set);
 
@@ -191,7 +177,7 @@ void sigwait_setup(sigset_t *set)
       }
     }
   }
-  memcpy_fixed(&sigwait_set,set,sizeof(*set));
+  memcpy(&sigwait_set,set,sizeof(*set));
   pthread_sigmask(SIG_BLOCK,(sigset_t*) set,(sigset_t*) 0);
   pthread_sigmask(SIG_UNBLOCK,&unblock_mask,(sigset_t*) 0);
 }
@@ -281,7 +267,7 @@ void *sigwait_thread(void *set_arg)
   struct sigaction sact;
   sact.sa_flags = 0;
   sact.sa_handler = sigwait_handle_sig;
-  memcpy_fixed(&sact.sa_mask,set,sizeof(*set));        /* handler isn't thread_safe */
+  memcpy(&sact.sa_mask,set,sizeof(*set));      /* handler isn't thread_safe */
   sigemptyset(&pending_set);
 
   for (i = 1; i <= sizeof(pending_set)*8; i++)
@@ -320,7 +306,7 @@ int sigwait(sigset_t *setp, int *sigp)
     pthread_cond_init(&COND_sigwait,NULL);
 
     pthread_attr_init(&thr_attr);
-    pthread_attr_setscope(&thr_attr,PTHREAD_SCOPE_PROCESS);
+    pthread_attr_setscope(&thr_attr,PTHREAD_SCOPE_SYSTEM);
     pthread_attr_setdetachstate(&thr_attr,PTHREAD_CREATE_DETACHED);
     pthread_attr_setstacksize(&thr_attr,8196);
     my_pthread_attr_setprio(&thr_attr,100);    /* Very high priority */
index b7034ee0f589aeef662bc9ca90f8cd7467ed6642..ad64c59a50c5b0ac5f2698a69c28a6eb5d801211 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1999 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* Defines to make different thread packages compatible */
 
@@ -25,7 +11,7 @@
 #define ETIME ETIMEDOUT                                /* For FreeBSD */
 #endif
 
-#if defined(__WIN__)
+#if defined(__WIN32__)
 
 typedef CRITICAL_SECTION pthread_mutex_t;
 typedef HANDLE          pthread_t;
@@ -169,7 +155,7 @@ void *      my_pthread_getspecific_imp(pthread_key_t key);
 
 #define pthread_sigmask(A,B,C) thr_sigsetmask((A),(B),(C))
 
-extern int my_sigwait(const sigset_t *set,int *sig);
+extern int my_sigwait(sigset_t *set,int *sig);
 
 #define pthread_detach_this_thread() pthread_dummy(0)
 
@@ -199,9 +185,6 @@ extern int my_sigwait(const sigset_t *set,int *sig);
 #ifdef HAVE_SCHED_H
 #include <sched.h>
 #endif
-#ifdef HAVE_SYNCH_H
-#include <synch.h>
-#endif
 #if defined(__EMX__) && (!defined(EMX_PTHREAD_REV) || (EMX_PTHREAD_REV < 2))
 #error Requires at least rev 2 of EMX pthreads library.
 #endif
@@ -228,9 +211,8 @@ typedef struct st_safe_mutex_t
 int safe_mutex_init(safe_mutex_t *mp, const pthread_mutexattr_t *attr);
 int safe_mutex_lock(safe_mutex_t *mp,const char *file, uint line);
 int safe_mutex_unlock(safe_mutex_t *mp,const char *file, uint line);
-int safe_mutex_destroy(safe_mutex_t *mp,const char *file, uint line);
-int safe_cond_wait(pthread_cond_t *cond, safe_mutex_t *mp,const char *file,
-                  uint line);
+int safe_mutex_destroy(safe_mutex_t *mp);
+int safe_cond_wait(pthread_cond_t *cond, safe_mutex_t *mp,const char *file, uint line);
 int safe_cond_timedwait(pthread_cond_t *cond, safe_mutex_t *mp,
                        struct timespec *abstime, const char *file, uint line);
 
@@ -245,7 +227,7 @@ int safe_cond_timedwait(pthread_cond_t *cond, safe_mutex_t *mp,
 #define pthread_mutex_init(A,B) safe_mutex_init((A),(B))
 #define pthread_mutex_lock(A) safe_mutex_lock((A),__FILE__,__LINE__)
 #define pthread_mutex_unlock(A) safe_mutex_unlock((A),__FILE__,__LINE__)
-#define pthread_mutex_destroy(A) safe_mutex_destroy((A),__FILE__,__LINE__)
+#define pthread_mutex_destroy(A) safe_mutex_destroy((A))
 #define pthread_cond_wait(A,B) safe_cond_wait((A),(B),__FILE__,__LINE__)
 #define pthread_cond_timedwait(A,B,C) safe_cond_timedwait((A),(B),(C),__FILE__,__LINE__)
 #define pthread_mutex_t safe_mutex_t
@@ -267,11 +249,8 @@ extern int my_pthread_create_detached;
 #define HAVE_LOCALTIME_R
 #undef HAVE_PTHREAD_ATTR_SETSCOPE
 #define HAVE_PTHREAD_ATTR_SETSCOPE
-#undef HAVE_GLIBC2_STYLE_GETHOSTBYNAME_R       /* If we are running linux */
 #undef HAVE_RWLOCK_T
 #undef HAVE_RWLOCK_INIT
-#undef HAVE_PTHREAD_RWLOCK_RDLOCK
-#undef HAVE_SNPRINTF
 
 #define sigset(A,B) pthread_signal((A),(void (*)(int)) (B))
 #define signal(A,B) pthread_signal((A),(void (*)(int)) (B))
@@ -309,16 +288,10 @@ extern int my_pthread_cond_init(pthread_cond_t *mp,
 #endif
 
 #if !defined(HAVE_SIGWAIT) && !defined(HAVE_mit_thread) && !defined(HAVE_rts_threads) && !defined(sigwait) && !defined(alpha_linux_port) && !defined(HAVE_NONPOSIX_SIGWAIT) && !defined(HAVE_DEC_3_2_THREADS) && !defined(_AIX)
-int sigwait(const sigset_t *setp, int *sigp);          /* Use our implemention */
+int sigwait(sigset_t *setp, int *sigp);                /* Use our implemention */
 #endif
 #if !defined(HAVE_SIGSET) && !defined(HAVE_mit_thread) && !defined(sigset)
-#define sigset(A,B) do { struct sigaction s; sigset_t set;              \
-                         sigemptyset(&set);                             \
-                         s.sa_handler = (B);                            \
-                         s.sa_mask    = set;                            \
-                         s.sa_flags   = 0;                              \
-                         sigaction((A), &s, (struct sigaction *) NULL); \
-                       } while (0)
+#define sigset(A,B) signal((A),(B))
 #endif
 
 #ifndef my_pthread_setprio
@@ -365,7 +338,6 @@ struct tm *localtime_r(const time_t *clock, struct tm *res);
 #define pthread_cond_destroy(A) pthread_dummy(0)
 #define pthread_mutex_destroy(A) pthread_dummy(0)
 #define pthread_attr_delete(A) pthread_dummy(0)
-#define pthread_condattr_delete(A) pthread_dummy(0)
 #define pthread_attr_setstacksize(A,B) pthread_dummy(0)
 #define pthread_equal(A,B) ((A) == (B))
 #define pthread_cond_timedwait(a,b,c) pthread_cond_wait((a),(b))
@@ -413,19 +385,14 @@ struct hostent *my_gethostbyname_r(const char *name,
 #endif /* defined(HAVE_GLIBC2_STYLE_GETHOSTBYNAME_R) */
 
 #else
-#ifdef HAVE_GETHOSTBYNAME_R_WITH_HOSTENT_DATA
-#define GETHOSTBYNAME_BUFF_SIZE sizeof(hostent_data)
-#define my_gethostbyname_r(A,B,C,D,E) gethostbyname_r((A),(B),(hostent_data*) (C))
-#else
-#define GETHOSTBYNAME_BUFF_SIZE 2048
 #define my_gethostbyname_r(A,B,C,D,E) gethostbyname_r((A),(B),(C),(D),(E))
-#endif /* HAVE_GETHOSTBYNAME_R_WITH_HOSTENT_DATA */
+#define GETHOSTBYNAME_BUFF_SIZE 2048
 #endif /* defined(HAVE_PTHREAD_ATTR_CREATE) || defined(_AIX) || defined(HAVE_GLIBC2_STYLE_GETHOSTBYNAME_R) */
 
-#endif /* defined(__WIN__) */
+#endif /* defined(__WIN32__) */
 
 /* READ-WRITE thread locking */
-
+#ifndef HAVE_RWLOCK_INIT
 #if defined(USE_MUTEX_INSTEAD_OF_RW_LOCKS)
 /* use these defs for simple mutex locking */
 #define rw_lock_t pthread_mutex_t
@@ -441,13 +408,7 @@ struct hostent *my_gethostbyname_r(const char *name,
 #define rw_wrlock(A) pthread_rwlock_wrlock(A)
 #define rw_unlock(A) pthread_rwlock_unlock(A)
 #define rwlock_destroy(A) pthread_rwlock_destroy(A)
-#elif defined(HAVE_RWLOCK_INIT)
-#ifdef HAVE_RWLOCK_T                           /* For example Solaris 2.6-> */
-#define rw_lock_t rwlock_t
-#endif
-#define my_rwlock_init(A,B) rwlock_init((A),USYNC_THREAD,0)
 #else
-/* Use our own version of read/write locks */
 typedef struct _my_rw_lock_t {
        pthread_mutex_t lock;           /* lock for structure           */
        pthread_cond_t  readers;        /* waiting readers              */
@@ -462,12 +423,18 @@ typedef struct _my_rw_lock_t {
 #define rw_unlock(A) my_rw_unlock((A))
 #define rwlock_destroy(A) my_rwlock_destroy((A))
 
-extern int     my_rwlock_init( my_rw_lock_t *, void * );
-extern int     my_rwlock_destroy( my_rw_lock_t * );
-extern int     my_rw_rdlock( my_rw_lock_t * );
-extern int     my_rw_wrlock( my_rw_lock_t * );
-extern int     my_rw_unlock( my_rw_lock_t * );
+extern int     my_rwlock_init( rw_lock_t *, void * );
+extern int     my_rwlock_destroy( rw_lock_t * );
+extern int     my_rw_rdlock( rw_lock_t * );
+extern int     my_rw_wrlock( rw_lock_t * );
+extern int     my_rw_unlock( rw_lock_t * );
 #endif /* USE_MUTEX_INSTEAD_OF_RW_LOCKS */
+#else
+#ifdef HAVE_RWLOCK_T                           /* For example Solaris 2.6-> */
+#define rw_lock_t rwlock_t
+#define my_rwlock_init(A,B) rwlock_init((A),USYNC_THREAD,0)
+#endif
+#endif /* HAVE_RWLOCK_INIT */
 
 #define GETHOSTBYADDR_BUFF_SIZE 2048
 
@@ -510,29 +477,18 @@ extern struct st_my_thread_var *_my_thread_var(void) __attribute__ ((const));
 #define my_thread_var (_my_thread_var())
 #define my_errno my_thread_var->thr_errno
 
-       /* statistics_xxx functions are for not essential statistic */
+       /* This is only used for not essential statistic */
 
 #ifndef thread_safe_increment
-#ifdef HAVE_ATOMIC_ADD
-#define thread_safe_increment(V,L) atomic_add(1,(atomic_t*) &V);
-#define thread_safe_add(V,C,L)     atomic_add((C),(atomic_t*) &V);
-#define thread_safe_sub(V,C,L)     atomic_sub((C),(atomic_t*) &V);
-#define statistic_increment(V,L)   thread_safe_increment((V),(L))
-#define statistic_add(V,C,L)       thread_safe_add((V),(C),(L))
-#else
+#ifdef SAFE_STATISTICS
 #define thread_safe_increment(V,L) \
        pthread_mutex_lock((L)); (V)++; pthread_mutex_unlock((L));
 #define thread_safe_add(V,C,L) \
        pthread_mutex_lock((L)); (V)+=(C); pthread_mutex_unlock((L));
-#define thread_safe_sub(V,C,L) \
-       pthread_mutex_lock((L)); (V)-=(C); pthread_mutex_unlock((L));
-#ifdef SAFE_STATISTICS
-#define statistic_increment(V,L)   thread_safe_increment((V),(L))
-#define statistic_add(V,C,L)       thread_safe_add((V),(C),(L))
 #else
-#define statistic_increment(V,L) (V)++
-#define statistic_add(V,C,L)     (V)+=(C)
-#endif /* SAFE_STATISTICS */
-#endif /* HAVE_ATOMIC_ADD */
+#define thread_safe_increment(V,L) (V)++
+#define thread_safe_add(V,C,L) (V)+=(C)
+#endif
 #endif /* thread_safe_increment */
+
 #endif /* _my_ptread_h */
index b317630f4bd5a549ffe47423a4b4ee2f2c2d964d..b112927a3e311c0c056432740eba45a4f3ce1de7 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #include "mysys_priv.h"
 #include "mysys_err.h"
index c9d8edd6ddf96dfc459755ff5d7a0292eb38c3bd..1d26140b01e959eb697bde8b20c609767fd5ea46 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #ifdef SAFEMALLOC                      /* We don't need SAFEMALLOC here */
 #undef SAFEMALLOC
index db942d96db974967ed5f41c0a0f1ebd26fc78276..93c9b15ef12960d68ad80f07982807af6f9e132d 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*
   Static variables for mysys library. All definied here for easy making of
@@ -31,7 +17,7 @@ my_string     home_dir=0,my_progname=0;
 char           NEAR curr_dir[FN_REFLEN]= {0},
                NEAR home_dir_buff[FN_REFLEN]= {0};
 uint           my_stream_opened=0,my_file_opened=0;
-int            NEAR my_umask=0664, NEAR my_umask_dir=0777;
+int            NEAR my_umask=0664;
 #ifndef THREAD
 int            NEAR my_errno=0;
 #endif
index dd80a8da1f97969358a39a15b0f3601018ceff24..20d43dca55cc6a3a2eb2471a1afa5fb38022232c 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*
   Static variables for mysys library. All definied here for easy making of
@@ -77,6 +63,6 @@ extern byte   *sf_min_adress,*sf_max_adress;
 extern uint    cNewCount;
 extern struct remember *pRememberRoot;
 
-#if defined(THREAD) && !defined(__WIN__)
+#if defined(THREAD) && !defined(__WIN32__)
 extern sigset_t my_signals;            /* signals blocked by mf_brkhant */
 #endif
index 57734e9e53484e9595e31eb9f3dc01537ef5b352..d7cf6995213c7611be603d606e05bad5c3849325 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #ifndef _my_sys_h
 #define _my_sys_h
@@ -35,12 +21,6 @@ extern int NEAR my_errno;            /* Last error in mysys */
 #include <my_pthread.h>
 #endif
 
-#ifndef _m_ctype_h
-#include <m_ctype.h>                    /* for CHARSET_INFO */
-#endif
-
-#include <stdarg.h>  
-
 #define MYSYS_PROGRAM_USES_CURSES()  { error_handler_hook = my_message_curses; mysys_uses_curses=1; }
 #define MYSYS_PROGRAM_DONT_USE_CURSES()  { error_handler_hook = my_message_no_curses; mysys_uses_curses=0;}
 #define MY_INIT(name);         { my_progname= name; my_init(); }
@@ -68,7 +48,6 @@ extern int NEAR my_errno;             /* Last error in mysys */
 #define MY_ALLOW_ZERO_PTR 64   /* my_realloc() ; zero ptr -> malloc */
 #define MY_FREE_ON_ERROR 128   /* my_realloc() ; Free old ptr on error */
 #define MY_HOLD_ON_ERROR 256   /* my_realloc() ; Return old ptr on error */
-#define MY_THREADSAFE  128     /* pread/pwrite:  Don't allow interrupts */
 
 #define MY_CHECK_ERROR 1       /* Params to my_end; Check open-close */
 #define MY_GIVE_INFO   2       /* Give time info about process*/
@@ -91,18 +70,10 @@ extern int NEAR my_errno;           /* Last error in mysys */
 #define MY_SEEK_CUR    1
 #define MY_SEEK_END    2
 
-        /* My charsets_list flags */
-#define MY_NO_SETS       0
-#define MY_COMPILED_SETS 1      /* show compiled-in sets */
-#define MY_CONFIG_SETS   2      /* sets that have a *.conf file */
-#define MY_INDEX_SETS    4      /* all sets listed in the Index file */
-#define MY_LOADED_SETS    8      /* the sets that are currently loaded */
-
        /* Some constants */
 #define MY_WAIT_FOR_USER_TO_FIX_PANIC  60      /* in seconds */
 #define MY_WAIT_GIVE_USER_A_MESSAGE    10      /* Every 10 times of prev */
 #define MIN_COMPRESS_LENGTH            50      /* Don't compress small bl. */
-#define KEYCACHE_BLOCK_SIZE            1024
 
        /* defines when allocating data */
 
@@ -165,21 +136,11 @@ extern int (*error_handler_hook)(uint my_err, const char *str,myf MyFlags);
 extern int (*fatal_error_handler_hook)(uint my_err, const char *str,
                                       myf MyFlags);
 
-/* charsets */
-extern uint get_charset_number(const char *cs_name);
-extern const char *get_charset_name(uint cs_number);
-extern CHARSET_INFO *get_charset(uint cs_number, myf flags);
-extern my_bool set_default_charset(uint cs, myf flags);
-extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags);
-extern my_bool set_default_charset_by_name(const char *cs_name, myf flags);
-extern void free_charsets(void);
-extern char *list_charsets(myf want_flags); /* my_free() this string... */
-
 
 /* statisticts */
 extern ulong   _my_cache_w_requests,_my_cache_write,_my_cache_r_requests,
                _my_cache_read;
-extern ulong    _my_blocks_used,_my_blocks_changed;
+extern uint     _my_blocks_used,_my_blocks_changed;
 extern uint    my_file_opened,my_stream_opened;
 
                                        /* Point to current my_message() */
@@ -189,18 +150,16 @@ extern void (*my_sigtstp_cleanup)(void),
            (*my_abort_hook)(int);
                                        /* Executed when comming from shell */
 extern int NEAR my_umask,              /* Default creation mask  */
-          NEAR my_umask_dir,
           NEAR my_recived_signals,     /* Signals we have got */
           NEAR my_safe_to_handle_signal, /* Set when allowed to SIGTSTP */
           NEAR my_dont_interrupt;      /* call remember_intr when set */
-extern my_bool NEAR mysys_uses_curses, my_use_symdir;
+extern my_bool NEAR mysys_uses_curses;
 extern long lCurMemory,lMaxMemory;     /* from safemalloc */
 
 extern ulong   my_default_record_cache_size;
 extern my_bool NEAR my_disable_locking,NEAR my_disable_async_io,
        NEAR my_disable_flush_key_blocks;
 extern char    wild_many,wild_one,wild_prefix;
-extern const char *charsets_dir;
 
 typedef struct wild_file_pack  /* Struct to hold info when selecting files */
 {
@@ -211,13 +170,12 @@ typedef struct wild_file_pack     /* Struct to hold info when selecting files */
 
 typedef struct st_typelib {    /* Different types saved here */
   uint count;                  /* How many types */
-  const char *name;                    /* Name of typelib */
-  const char **type_names;
+  my_string name;                      /* Name of typelib */
+  my_string *type_names;
 } TYPELIB;
 
 enum cache_type {READ_CACHE,WRITE_CACHE,READ_NET,WRITE_NET};
-enum flush_type { FLUSH_KEEP, FLUSH_RELEASE, FLUSH_IGNORE_CHANGED,
-                 FLUSH_FORCE_WRITE};
+enum flush_type { FLUSH_KEEP, FLUSH_RELEASE, FLUSH_IGNORE_CHANGED};
 
 typedef struct st_record_cache /* Used when cacheing records */
 {
@@ -271,11 +229,9 @@ typedef struct st_io_cache         /* Used when cacheing files */
 #endif
   enum cache_type type;
   int (*read_function)(struct st_io_cache *,byte *,uint);
-  char *file_name;                     /* if used with 'open_cached_file' */
+  char *file_name;                     /* if used with 'open_cacheed_file' */
 } IO_CACHE;
 
-typedef int (*qsort2_cmp)(const void *, const void *, const void *);
-
        /* defines for mf_iocache */
 
        /* Test if buffer is inited */
@@ -371,7 +327,7 @@ extern my_off_t my_fseek(FILE *stream,my_off_t pos,int whence,myf MyFlags);
 extern my_off_t my_ftell(FILE *stream,myf MyFlags);
 extern gptr _mymalloc(uint uSize,const char *sFile,
                      uint uLine, myf MyFlag);
-extern gptr _myrealloc(gptr pPtr,uint uSize,const char *sFile,
+extern gptr _myrealloc(my_string pPtr,uint uSize,const char *sFile,
                       uint uLine, myf MyFlag);
 extern gptr my_multi_malloc _VARARGS((myf MyFlags, ...));
 extern void _myfree(gptr pPtr,const char *sFile,uint uLine, myf MyFlag);
@@ -392,9 +348,6 @@ extern int my_error _VARARGS((int nr,myf MyFlags, ...));
 extern int my_printf_error _VARARGS((uint my_err, const char *format,
                                     myf MyFlags, ...)
                                    __attribute__ ((format (printf, 2, 4))));
-extern int my_vsnprintf( char *str, size_t n,
-                                const char *format, va_list ap );
-
 extern int my_message(uint my_err, const char *str,myf MyFlags);
 extern int my_message_no_curses(uint my_err, const char *str,myf MyFlags);
 extern int my_message_curses(uint my_err, const char *str,myf MyFlags);
@@ -436,12 +389,11 @@ extern my_string my_path(my_string to,const char *progname,
 extern my_string my_load_path(my_string to, const char *path,
                              const char *own_path_prefix);
 extern int wild_compare(const char *str,const char *wildstr);
-extern my_string my_strcasestr(const char *src,const char *suffix);
+extern my_string strcasestr(const char *src,const char *suffix);
 extern int my_strcasecmp(const char *s,const char *t);
 extern int my_strsortcmp(const char *s,const char *t);
 extern int my_casecmp(const char *s,const char *t,uint length);
 extern int my_sortcmp(const char *s,const char *t,uint length);
-extern int my_sortncmp(const char *s,uint s_len, const char *t,uint t_len);
 extern WF_PACK *wf_comp(my_string str);
 extern int wf_test(struct wild_file_pack *wf_pack,const char *name);
 extern void wf_end(struct wild_file_pack *buffer);
@@ -470,9 +422,6 @@ extern sig_handler my_set_alarm_variable(int signo);
 extern void my_string_ptr_sort(void *base,uint items,size_s size);
 extern void radixsort_for_str_ptr(uchar* base[], uint number_of_elements,
                                  size_s size_of_element,uchar *buffer[]);
-extern qsort_t qsort2(void *base_ptr, size_t total_elems, size_t size,
-                     qsort2_cmp cmp, void *cmp_argument);
-extern qsort2_cmp get_ptr_compare(uint);
 extern int init_io_cache(IO_CACHE *info,File file,uint cachesize,
                         enum cache_type type,my_off_t seek_offset,
                         pbool use_async_io, myf cache_myflags);
@@ -484,15 +433,13 @@ extern int _my_b_net_read(IO_CACHE *info,byte *Buffer,uint Count);
 extern int _my_b_get(IO_CACHE *info);
 extern int _my_b_async_read(IO_CACHE *info,byte *Buffer,uint Count);
 extern int _my_b_write(IO_CACHE *info,const byte *Buffer,uint Count);
-extern int my_block_write(IO_CACHE *info, const byte *Buffer,
-                         uint Count, my_off_t pos);
 extern int flush_io_cache(IO_CACHE *info);
 extern int end_io_cache(IO_CACHE *info);
-extern my_bool open_cached_file(IO_CACHE *cache,const char *dir,
+extern my_bool open_cacheed_file(IO_CACHE *cache,const char *dir,
                                 const char *prefix, uint cache_size,
                                 myf cache_myflags);
 extern my_bool real_open_cached_file(IO_CACHE *cache);
-extern void close_cached_file(IO_CACHE *cache);
+extern void close_cacheed_file(IO_CACHE *cache);
 extern my_bool init_dynamic_array(DYNAMIC_ARRAY *array,uint element_size,
                                  uint init_alloc,uint alloc_increment);
 extern my_bool insert_dynamic(DYNAMIC_ARRAY *array,gptr element);
@@ -509,7 +456,7 @@ extern void freeze_size(DYNAMIC_ARRAY *array);
 
 extern int find_type(my_string x,TYPELIB *typelib,uint full_name);
 extern void make_type(my_string to,uint nr,TYPELIB *typelib);
-extern const char *get_type(TYPELIB *typelib,uint nr);
+extern my_string get_type(TYPELIB *typelib,uint nr);
 extern my_bool init_dynamic_string(DYNAMIC_STRING *str, const char *init_str,
                                   uint init_alloc,uint alloc_increment);
 extern my_bool dynstr_append(DYNAMIC_STRING *str, const char *append);
@@ -541,15 +488,17 @@ my_bool my_uncompress(byte *, ulong *, ulong *);
 byte *my_compress_alloc(const byte *packet, ulong *len, ulong *complen);
 ulong checksum(const byte *mem, uint count);
 
-#if defined(_MSC_VER) && !defined(__WIN__)
+#if defined(_MSC_VER) && !defined(__WIN32__)
 extern void sleep(int sec);
 #endif
-#ifdef __WIN__
+#ifdef __WIN32__
 extern my_bool have_tcpip;             /* Is set if tcpip is used */
 #endif
 
 #ifdef __cplusplus
 }
 #endif
+#if defined(USE_RAID)
 #include "raid.h"
+#endif
 #endif /* _my_sys_h */
index 7e5b953fe5307b87ce2fc7d79b68a67351b2575e..a288ecda4f21f559cb71bf526ba6b157671a0c24 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #include "mysys_priv.h"
 #include <m_string.h>
index d879da8e65df9feef1d83b1ce835fb26844b3621..c51582246850cf854ff7153e0d733c39e74bd10c 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*
 ** Functions to handle initializating and allocationg of all mysys & debug
@@ -30,12 +16,11 @@ pthread_key(struct st_my_thread_var*, THR_KEY_mysys);
 pthread_key(struct st_my_thread_var, THR_KEY_mysys);
 #endif
 pthread_mutex_t THR_LOCK_malloc,THR_LOCK_open,THR_LOCK_keycache,
-               THR_LOCK_lock,THR_LOCK_isam,THR_LOCK_myisam,THR_LOCK_heap,
-               THR_LOCK_net, THR_LOCK_charset; 
+               THR_LOCK_lock,THR_LOCK_isam,THR_LOCK_heap,THR_LOCK_net;
 #ifndef HAVE_LOCALTIME_R
 pthread_mutex_t LOCK_localtime_r;
 #endif
-#ifdef __WIN__
+#ifdef __WIN32__
 pthread_mutex_t THR_LOCK_thread;
 #endif
 
@@ -55,11 +40,9 @@ my_bool my_thread_global_init(void)
   pthread_mutex_init(&THR_LOCK_keycache,NULL);
   pthread_mutex_init(&THR_LOCK_lock,NULL);
   pthread_mutex_init(&THR_LOCK_isam,NULL);
-  pthread_mutex_init(&THR_LOCK_myisam,NULL);
   pthread_mutex_init(&THR_LOCK_heap,NULL);
   pthread_mutex_init(&THR_LOCK_net,NULL);
-  pthread_mutex_init(&THR_LOCK_charset,NULL);
-#ifdef __WIN__
+#ifdef __WIN32__
   pthread_mutex_init(&THR_LOCK_thread,NULL);
 #endif
 #ifndef HAVE_LOCALTIME_R
@@ -81,7 +64,7 @@ my_bool my_thread_init(void)
 {
   struct st_my_thread_var *tmp;
   pthread_mutex_lock(&THR_LOCK_lock);
-#if !defined(__WIN__) || defined(USE_TLS)
+#if !defined(__WIN32__) || defined(USE_TLS)
   if (my_pthread_getspecific(struct st_my_thread_var *,THR_KEY_mysys))
   {
     pthread_mutex_unlock(&THR_LOCK_lock);
@@ -128,11 +111,11 @@ void my_thread_end(void)
     pthread_cond_destroy(&tmp->suspend);
 #endif
     pthread_mutex_destroy(&tmp->mutex);
-#if !defined(__WIN__) || defined(USE_TLS)
+#if !defined(__WIN32__) || defined(USE_TLS)
     free(tmp);
 #endif
   }
-#if !defined(__WIN__) || defined(USE_TLS)
+#if !defined(__WIN32__) || defined(USE_TLS)
   pthread_setspecific(THR_KEY_mysys,0);
 #endif
 }
@@ -162,7 +145,7 @@ long my_thread_id()
 {
 #if defined(HAVE_PTHREAD_GETSEQUENCE_NP)
   return pthread_getsequence_np(pthread_self());
-#elif (defined(__sun) || defined(__sgi) || defined(__linux__)) && !defined(HAVE_mit_thread)
+#elif defined(__sun) || defined(__sgi) || defined(__linux__)
   return pthread_self();
 #else
   return my_thread_var->id;
index 0ff32094ed74eab12785dac86731d43c49739e87..6ac221c194e2292f5f091b2265e758bf9e7c5b91 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #include "mysys_priv.h"
 #include "mysys_err.h"
index e83babb8fa8b3d8ea290ad142618c9dbe1ca1a5c..6f358da110f41966bb9505e7732e1b249eae85cd 100644 (file)
@@ -1,38 +1,19 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* defines for the libmysql library */
 
 #ifndef _mysql_h
 #define _mysql_h
 
-#ifndef MYSQL_SERVER
 #ifdef __cplusplus
 extern "C" {
 #endif
-#endif
-  
+
 #ifndef _global_h                              /* If not standard header */
 #include <sys/types.h>
 typedef char my_bool;
-#if (defined(_WIN32) || defined(_WIN64)) && !defined(__WIN__)
-#define __WIN__
-#endif
-#if !defined(__WIN__)
+#if !defined(WIN32)
 #define STDCALL
 #else
 #define STDCALL __stdcall
@@ -56,7 +37,7 @@ typedef struct st_mem_root {
 #endif
 
 #ifndef my_socket_defined
-#ifdef __WIN__
+#ifdef WIN32
 #define my_socket SOCKET
 #else
 typedef int my_socket;
@@ -90,7 +71,7 @@ typedef unsigned int MYSQL_FIELD_OFFSET; /* offset to current field */
 
 #if defined(NO_CLIENT_LONG_LONG)
 typedef unsigned long my_ulonglong;
-#elif defined (__WIN__)
+#elif defined (WIN32)
 typedef unsigned __int64 my_ulonglong;
 #else
 typedef unsigned long long my_ulonglong;
@@ -117,7 +98,7 @@ struct st_mysql_options {
   my_bool compress,named_pipe;
   unsigned int port;
   char *host,*init_command,*user,*password,*unix_socket,*db;
-  char *my_cnf_file,*my_cnf_group, *charset_dir, *charset_name;
+  char *my_cnf_file,*my_cnf_group;
   my_bool use_ssl;                             /* if to use SSL or not */
   char *ssl_key;                               /* PEM key file */
   char *ssl_cert;                              /* PEM cert file */
@@ -127,8 +108,7 @@ struct st_mysql_options {
 
 enum mysql_option { MYSQL_OPT_CONNECT_TIMEOUT, MYSQL_OPT_COMPRESS,
                    MYSQL_OPT_NAMED_PIPE, MYSQL_INIT_COMMAND,
-                   MYSQL_READ_DEFAULT_FILE, MYSQL_READ_DEFAULT_GROUP,
-                   MYSQL_SET_CHARSET_DIR, MYSQL_SET_CHARSET_NAME};
+                   MYSQL_READ_DEFAULT_FILE, MYSQL_READ_DEFAULT_GROUP };
 
 enum mysql_status { MYSQL_STATUS_READY,MYSQL_STATUS_GET_RESULT,
                    MYSQL_STATUS_USE_RESULT};
@@ -141,7 +121,6 @@ typedef struct st_mysql {
   unsigned int port,client_flag,server_capabilities;
   unsigned int protocol_version;
   unsigned int field_count;
-  unsigned int         server_status;
   unsigned long thread_id;             /* Id for connection in server */
   my_ulonglong affected_rows;
   my_ulonglong insert_id;              /* id if insert on table with NEXTNR */
@@ -154,8 +133,6 @@ typedef struct st_mysql {
   my_bool      reconnect;              /* set to 1 if automatic reconnect */
   struct st_mysql_options options;
   char         scramble_buff[9];
-  struct charset_info_st *charset;
-  unsigned int  server_language;
 } MYSQL;
 
 
@@ -176,23 +153,21 @@ typedef struct st_mysql_res {
 /* Functions to get information from the MYSQL and MYSQL_RES structures */
 /* Should definitely be used if one uses shared libraries */
 
-my_ulonglong STDCALL mysql_num_rows(MYSQL_RES *res);
-unsigned int STDCALL mysql_num_fields(MYSQL_RES *res);
-my_bool STDCALL mysql_eof(MYSQL_RES *res);
-MYSQL_FIELD *STDCALL mysql_fetch_field_direct(MYSQL_RES *res,
-                                             unsigned int fieldnr);
-MYSQL_FIELD * STDCALL mysql_fetch_fields(MYSQL_RES *res);
-MYSQL_ROWS * STDCALL mysql_row_tell(MYSQL_RES *res);
-unsigned int STDCALL mysql_field_tell(MYSQL_RES *res);
+my_ulonglong mysql_num_rows(MYSQL_RES *res);
+unsigned int mysql_num_fields(MYSQL_RES *res);
+my_bool mysql_eof(MYSQL_RES *res);
+MYSQL_FIELD *mysql_fetch_field_direct(MYSQL_RES *res,unsigned int fieldnr);
+MYSQL_FIELD *mysql_fetch_fields(MYSQL_RES *res);
+MYSQL_ROWS *mysql_row_tell(MYSQL_RES *res);
+unsigned int mysql_field_tell(MYSQL_RES *res);
 
-unsigned int STDCALL mysql_field_count(MYSQL *mysql);
-my_ulonglong STDCALL mysql_affected_rows(MYSQL *mysql);
-my_ulonglong STDCALL mysql_insert_id(MYSQL *mysql);
-unsigned int STDCALL mysql_errno(MYSQL *mysql);
-char * STDCALL mysql_error(MYSQL *mysql);
-char * STDCALL mysql_info(MYSQL *mysql);
-unsigned long STDCALL mysql_thread_id(MYSQL *mysql);
-const char * STDCALL mysql_character_set_name(MYSQL *mysql);
+unsigned int mysql_field_count(MYSQL *mysql);
+my_ulonglong mysql_affected_rows(MYSQL *mysql);
+my_ulonglong mysql_insert_id(MYSQL *mysql);
+unsigned int mysql_errno(MYSQL *mysql);
+char *mysql_error(MYSQL *mysql);
+char *mysql_info(MYSQL *mysql);
+unsigned long mysql_thread_id(MYSQL *mysql);
 
 MYSQL *                STDCALL mysql_init(MYSQL *mysql);
 #ifdef HAVE_OPENSSL
@@ -260,13 +235,8 @@ unsigned long * STDCALL mysql_fetch_lengths(MYSQL_RES *result);
 MYSQL_FIELD *  STDCALL mysql_fetch_field(MYSQL_RES *result);
 unsigned long  STDCALL mysql_escape_string(char *to,const char *from,
                                            unsigned long from_length);
-unsigned long STDCALL mysql_real_escape_string(MYSQL *mysql,
-                                              char *to,const char *from,
-                                              unsigned long length);
 void           STDCALL mysql_debug(const char *debug);
-char *         STDCALL mysql_odbc_escape_string(MYSQL *mysql,
-                                                char *to,
-                                                unsigned long to_length,
+char *         STDCALL mysql_odbc_escape_string(char *to, unsigned long to_length,
                                                 const char *from,
                                                 unsigned long from_length,
                                                 void *param,
@@ -274,20 +244,14 @@ char *            STDCALL mysql_odbc_escape_string(MYSQL *mysql,
                                                 (*extend_buffer)
                                                 (void *, char *to,
                                                  unsigned long *length));
-void           STDCALL myodbc_remove_escape(MYSQL *mysql,char *name);
-unsigned int   STDCALL mysql_thread_safe(void);
 
-  
 #define mysql_reload(mysql) mysql_refresh((mysql),REFRESH_GRANT)
 
 /* new api functions */
 
 #define HAVE_MYSQL_REAL_CONNECT
 
-#ifndef MYSQL_SERVER  
 #ifdef __cplusplus
 }
 #endif
 #endif
-
-#endif
index 2a1471f735da9b4782c72c0b0e03ef34705f8f5f..c4c0ecfdd781fd0ebf0e23342308599941a0319b 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*
 ** Common definition between mysql server & client
@@ -22,6 +8,9 @@
 #ifndef _mysql_com_h
 #define _mysql_com_h
 
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 #define NAME_LEN       64              /* Field/table name length */
 #define HOSTNAME_LENGTH 60
 #define LOCAL_HOST     "localhost"
 #define LOCAL_HOST_NAMEDPIPE "."
 
+#define MYSQL_PORT     3306            /* Alloced by ISI for MySQL */
 #if defined(__EMX__) || defined(__OS2__)
 #undef MYSQL_UNIX_ADDR
 #define MYSQL_OS2_ADDR "\\socket\\MySQL"
 #define MYSQL_UNIX_ADDR MYSQL_OS2_ADDR
 #endif
-#if defined(__WIN__) && !defined( _CUSTOMCONFIG_)
+#ifdef WIN32
 #define MYSQL_NAMEDPIPE "MySQL"
 #define MYSQL_SERVICENAME "MySql"
-#endif /* __WIN__ */
+#endif
 
 enum enum_server_command {COM_SLEEP,COM_QUIT,COM_INIT_DB,COM_QUERY,
                          COM_FIELD_LIST,COM_CREATE_DB,COM_DROP_DB,COM_REFRESH,
                          COM_SHUTDOWN,COM_STATISTICS,
                          COM_PROCESS_INFO,COM_CONNECT,COM_PROCESS_KILL,
                          COM_DEBUG,COM_PING,COM_TIME,COM_DELAYED_INSERT,
-                         COM_CHANGE_USER, COM_BINLOG_DUMP,
-                          COM_TABLE_DUMP};
+                         COM_CHANGE_USER};
 
 #define NOT_NULL_FLAG  1               /* Field can't be NULL */
 #define PRI_KEY_FLAG   2               /* Field is part of a primary key */
@@ -70,14 +59,6 @@ enum enum_server_command {COM_SLEEP,COM_QUIT,COM_INIT_DB,COM_QUERY,
 #define REFRESH_TABLES         4       /* close all tables */
 #define REFRESH_HOSTS          8       /* Flush host cache */
 #define REFRESH_STATUS         16      /* Flush status variables */
-#define REFRESH_THREADS                32      /* Flush status variables */
-#define REFRESH_SLAVE           64      /* Reset master info and restart slave
-                                          thread */
-#define REFRESH_MASTER          128     /* Remove all bin logs in the index
-                                          and truncate the index */
-
-/* The following can't be set with mysql_refresh() */
-#define REFRESH_READ_LOCK      16384   /* Lock tables for read */
 #define REFRESH_FAST           32768   /* Intern flag */
 
 #define CLIENT_LONG_PASSWORD   1       /* new more secure passwords */
@@ -93,10 +74,6 @@ enum enum_server_command {COM_SLEEP,COM_QUIT,COM_INIT_DB,COM_QUERY,
 #define CLIENT_INTERACTIVE     1024    /* This is an interactive client */
 #define CLIENT_SSL              2048     /* Switch to SSL after handshake */
 #define CLIENT_IGNORE_SIGPIPE   4096     /* IGNORE sigpipes */
-#define CLIENT_TRANSACTIONS    8196    /* Client knows about transactions */
-
-#define SERVER_STATUS_IN_TRANS  1      /* Transaction has started */
-#define SERVER_STATUS_AUTOCOMMIT 2     /* Server in auto_commit mode */
 
 #define MYSQL_ERRMSG_SIZE      200
 #define NET_READ_TIMEOUT       30              /* Timeout on read */
@@ -120,15 +97,10 @@ typedef struct st_net {
   unsigned char *buff,*buff_end,*write_pos,*read_pos;
   char last_error[MYSQL_ERRMSG_SIZE];
   unsigned int last_errno,max_packet,timeout,pkt_nr;
-  unsigned char error;
-  my_bool return_errno,compress;
-  my_bool no_send_ok; /* needed if we are doing several
-   queries in one command ( as in LOAD TABLE ... FROM MASTER ),
-   and do not want to confuse the client with OK at the wrong time
-                     */
+  my_bool error,return_errno,compress;
+
   unsigned long remain_in_buf,length, buf_length, where_b;
-  unsigned int *return_status;
-  unsigned char reading_or_writing;
+  my_bool more;
   char save_char;
 } NET;
 
@@ -205,10 +177,6 @@ typedef struct st_udf_init
 
   /* Prototypes to password functions */
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-  
 void randominit(struct rand_struct *,unsigned long seed1,
                unsigned long seed2);
 double rnd(struct rand_struct *);
@@ -221,9 +189,6 @@ my_bool check_scramble(const char *, const char *message,
                       unsigned long *salt,my_bool old_ver);
 char *get_tty_password(char *opt_message);
 void hash_password(unsigned long *result, const char *password);
-#ifdef __cplusplus
-}
-#endif
 
 /* Some other useful functions */
 
@@ -233,10 +198,13 @@ void load_defaults(const char *conf_file, const char **groups,
 
 #define NULL_LENGTH ((unsigned long) ~0) /* For net_store_length */
 
-#ifdef __WIN__
+#ifdef WIN32
 #define socket_errno WSAGetLastError()
 #else
 #define socket_errno errno
 #endif
 
+#ifdef __cplusplus
+}
+#endif
 #endif
index 1f868704fe8a77d05b50858e572582204d3561d2..b07e587aff01f3bc05799f1718d8d4c4a32b5183 100644 (file)
@@ -3,18 +3,8 @@
 
 /* Version numbers for protocol & mysqld */
 
-#ifdef _CUSTOMCONFIG_
-       #include <custom_conf.h>
-#else
-#define PROTOCOL_VERSION               10
-#define MYSQL_SERVER_VERSION           "3.23.22-beta"
+#define MYSQL_SERVER_VERSION           "3.23.10-alpha"
 #define FRM_VER                                6
-#define MYSQL_VERSION_ID               32322
-#define MYSQL_PORT                     3306
-#define MYSQL_UNIX_ADDR                        "/tmp/mysql.sock"
-
+#define MYSQL_VERSION_ID               32310
 /* mysqld compile time options */
-#ifndef MYSQL_CHARSET
 #define MYSQL_CHARSET                  "latin1"
-#endif
-#endif
index d815e61f3b5fd4e66dd87b050b815518a987826a..da19af6138b88f64011d7a5f4820f03a0347d5e9 100644 (file)
 #define ER_REQUIRES_PRIMARY_KEY 1173
 #define ER_NO_RAID_COMPILED 1174
 #define ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE 1175
-#define ER_KEY_DOES_NOT_EXITS 1176
-#define ER_CHECK_NO_SUCH_TABLE 1177
-#define ER_CHECK_NOT_IMPLEMENTED 1178
-#define ER_CANT_DO_THIS_DURING_AN_TRANSACTION 1179
-#define ER_ERROR_DURING_COMMIT 1180
-#define ER_ERROR_DURING_ROLLBACK 1181
-#define ER_ERROR_DURING_FLUSH_LOGS 1182
-#define ER_ERROR_DURING_CHECKPOINT 1183
-#define ER_NEW_ABORTING_CONNECTION 1184
-#define ER_DUMP_NOT_IMPLEMENTED    1185
-#define ER_FLUSH_MASTER_BINLOG_CLOSED 1186
-#define ER_INDEX_REBUILD  1187
-#define ER_MASTER 1188
-#define ER_MASTER_NET_READ 1189
-#define ER_MASTER_NET_WRITE 1190
-#define ER_FT_MATCHING_KEY_NOT_FOUND 1191
-#define ER_LOCK_OR_ACTIVE_TRANSACTION 1192
-#define ER_ERROR_MESSAGES 193
+#define ER_ERROR_MESSAGES 176
index 7f5c3e1908b8ad3c841f25660a0e6f35be4fa500..7264f21906de5d9bdf5b8a8d5f7ec342b576fe6b 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #ifndef _mysys_err_h
 #define _mysys_err_h
@@ -22,7 +8,7 @@ extern "C" {
 #endif
 
 #define GLOB           0       /* Error maps */
-#define GLOBERRS       23      /* Max number of error messages in map's */
+#define GLOBERRS       22      /* Max number of error messages in map's */
 #define EE(X)  globerrs[ X ]   /* Defines to add error to right map */
 
 extern const char * NEAR globerrs[];   /* my_error_messages is here */
@@ -49,7 +35,6 @@ extern const char * NEAR globerrs[];  /* my_error_messages is here */
 #define EE_OPEN_WARNING                19
 #define EE_DISK_FULL           20
 #define EE_CANT_MKDIR          21
-#define EE_UNKNOWN_CHARSET     22
 
 #ifdef __cplusplus
 }
index 86c32202e991bab255ad0e9c939c33273f89584b..86bc74f38b6b20cd3fdc73d89caa14cc625cfb35 100644 (file)
@@ -1,30 +1,12 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 #include <global.h>
 #include <my_sys.h>
 
-#ifdef USE_SYSTEM_WRAPPERS
-#include "system_wrappers.h"
-#endif
-
 #ifdef THREAD
 extern pthread_mutex_t THR_LOCK_malloc,THR_LOCK_open,THR_LOCK_keycache,
-  THR_LOCK_lock,THR_LOCK_isam,THR_LOCK_net,THR_LOCK_charset;
+  THR_LOCK_lock,THR_LOCK_isam,THR_LOCK_net;
 #else /* THREAD */
 #define pthread_mutex_lock(A)
 #define pthread_mutex_unlock(A)
index 643b5e031cff2a3bafa7d78cadf7e228774b6600..9af0a54c3dde5fc35f457bd491a0c70f5522d127 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* Write and read of logical packets to/from socket
 ** Writes are cached into net_buffer_length big packets.
@@ -22,7 +8,7 @@
 ** 3 byte length & 1 byte package-number.
 */
 
-#ifdef __WIN__
+#ifdef _WIN32
 #include <winsock.h>
 #endif
 #include <global.h>
 #include <my_sys.h>
 #include <m_string.h>
 #include "mysql.h"
-#include "mysqld_error.h"
 #include <signal.h>
 #include <errno.h>
 #include <sys/types.h>
 #include <violite.h>
 
-#ifdef MYSQL_SERVER
-ulong max_allowed_packet=65536;
-extern ulong net_read_timeout,net_write_timeout;
-extern uint test_flags;
-#else
-ulong max_allowed_packet=16*1024*1024L;
-ulong net_read_timeout=  NET_READ_TIMEOUT;
-ulong net_write_timeout= NET_WRITE_TIMEOUT;
-#endif
-ulong net_buffer_length=8192;  /* Default length. Enlarged if necessary */
-
-#if !defined(__WIN__) && !defined(MSDOS)
+#if !defined(__WIN32__) && !defined(MSDOS)
 #include <sys/socket.h>
-#else
-#undef MYSQL_SERVER                    // Win32 can't handle interrupts
 #endif
-#if !defined(MSDOS) && !defined(__WIN__) && !defined(HAVE_BROKEN_NETINET_INCLUDES) && !defined(__BEOS__)
+#if !defined(MSDOS) && !defined(__WIN32__) && !defined(HAVE_BROKEN_NETINET_INCLUDES)
 #include <netinet/in_systm.h>
 #include <netinet/in.h>
 #include <netinet/ip.h>
@@ -69,12 +41,11 @@ void sql_print_error(const char *format,...);
 extern ulong mysqld_net_retry_count;
 #else
 typedef my_bool thr_alarm_t;
-typedef my_bool ALARM;
 #define thr_alarm_init(A) (*A)=0
 #define thr_alarm_in_use(A) (A)
 #define thr_end_alarm(A)
-#define thr_alarm(A,B,C) local_thr_alarm((A),(B),(C))
-static inline int local_thr_alarm(my_bool *A,int B __attribute__((unused)),ALARM *C __attribute__((unused)))
+#define thr_alarm(A,B) local_thr_alarm((A),(B))
+static inline int local_thr_alarm(my_bool *A,int B __attribute__((unused)))
 {
   *A=1;
   return 0;
@@ -87,8 +58,8 @@ static inline int local_thr_alarm(my_bool *A,int B __attribute__((unused)),ALARM
 extern ulong bytes_sent, bytes_received; 
 extern pthread_mutex_t LOCK_bytes_sent , LOCK_bytes_received;
 #else
-#undef statistic_add
-#define statistic_add(A,B,C)
+#undef thread_safe_add
+#define thread_safe_add(A,B,C)
 #endif
 
 /*
@@ -97,6 +68,14 @@ extern pthread_mutex_t LOCK_bytes_sent , LOCK_bytes_received;
 ** can't normally do this the client should have a bigger max-buffer.
 */
 
+#ifdef MYSQL_SERVER
+ulong max_allowed_packet=65536;
+extern uint test_flags;
+#else
+ulong max_allowed_packet=24*1024*1024L;
+#endif
+ulong net_buffer_length=8192;  /* Default length. Enlarged if necessary */
+
 #define TEST_BLOCKING          8
 static int net_write_buff(NET *net,const char *packet,uint len);
 
@@ -111,20 +90,19 @@ int my_net_init(NET *net, Vio* vio)
     max_allowed_packet=net_buffer_length;
   net->buff_end=net->buff+(net->max_packet=net_buffer_length);
   net->vio = vio;
-  net->no_send_ok = 0;
-  net->error=0; net->return_errno=0; net->return_status=0;
-  net->timeout=(uint) net_read_timeout;                /* Timeout for read */
+  net->error=net->return_errno=0;
+  net->timeout=NET_READ_TIMEOUT;               /* Timeout for read */
   net->pkt_nr=0;
   net->write_pos=net->read_pos = net->buff;
   net->last_error[0]=0;
-  net->compress=0; net->reading_or_writing=0;
+  net->compress=net->more=0;
   net->where_b = net->remain_in_buf=0;
   net->last_errno=0;
 
   if (vio != 0)                                        /* If real connection */
   {
     net->fd  = vio_fd(vio);                    /* For perl DBI/DBD */
-#if defined(MYSQL_SERVER) && !defined(___WIN__) && !defined(__EMX__)
+#if defined(MYSQL_SERVER) && !defined(___WIN32__) && !defined(__EMX__)
     if (!(test_flags & TEST_BLOCKING))
       vio_blocking(vio, FALSE);
 #endif
@@ -147,12 +125,19 @@ static my_bool net_realloc(NET *net, ulong length)
   ulong pkt_length;
   if (length >= max_allowed_packet)
   {
-    DBUG_PRINT("error",("Packet too large (%lu)", length));
+    DBUG_PRINT("error",("Packet too large (%ld)", length));
+#ifdef MYSQL_SERVER
+    sql_print_error("Packet too large (%ld)\n", length);
+#else
+    fprintf(stderr,"Packet too large (%ld)\n", length);
+#endif
     net->error=1;
+#ifdef MYSQL_SERVER
     net->last_errno=ER_NET_PACKET_TOO_LARGE;
+#endif
     return 1;
   }
-  pkt_length = (length+IO_SIZE-1) & ~(IO_SIZE-1);
+  pkt_length = (length+IO_SIZE) & ~(IO_SIZE-1);
   if (!(buff=(uchar*) my_realloc((char*) net->buff, pkt_length, MYF(MY_WME))))
   {
     net->error=1;
@@ -168,40 +153,37 @@ static my_bool net_realloc(NET *net, ulong length)
 
        /* Remove unwanted characters from connection */
 
+#ifndef MYSQL_SERVER
 void net_clear(NET *net)
 {
 #ifndef EXTRA_DEBUG
   int count;
-  bool is_blocking=vio_is_blocking(net->vio);
-  if (is_blocking)
-    vio_blocking(net->vio, FALSE);
+  vio_blocking(net->vio, FALSE);
   if (!vio_is_blocking(net->vio))              /* Safety if SSL */
   {
     while ( (count = vio_read(net->vio, (char*) (net->buff),
                              net->max_packet)) > 0)
       DBUG_PRINT("info",("skipped %d bytes from file: %s",
                         count,vio_description(net->vio)));
-    if (is_blocking)
-      vio_blocking(net->vio, TRUE);
   }
 #endif /* EXTRA_DEBUG */
   net->pkt_nr=0;                               /* Ready for new command */
   net->write_pos=net->buff;
 }
+#endif /* MYSQL_SERVER */
 
        /* Flush write_buffer if not empty. */
 
 int net_flush(NET *net)
 {
   int error=0;
-  DBUG_ENTER("net_flush");
   if (net->buff != net->write_pos)
   {
     error=net_real_write(net,(char*) net->buff,
                         (uint) (net->write_pos - net->buff));
     net->write_pos=net->buff;
   }
-  DBUG_RETURN(error);
+  return error;
 }
 
 
@@ -271,17 +253,9 @@ net_real_write(NET *net,const char *packet,ulong len)
   int length;
   char *pos,*end;
   thr_alarm_t alarmed;
-#if (!defined(__WIN__) && !defined(__EMX__))
-  ALARM alarm_buff;
-#endif
   uint retry_count=0;
   my_bool net_blocking = vio_is_blocking(net->vio);
-  DBUG_ENTER("net_real_write");
-
-  if (net->error == 2)
-    DBUG_RETURN(-1);                           /* socket can't be used */
 
-  net->reading_or_writing=2;
 #ifdef HAVE_COMPRESS
   if (net->compress)
   {
@@ -293,10 +267,9 @@ net_real_write(NET *net,const char *packet,ulong len)
     {
 #ifdef MYSQL_SERVER
       net->last_errno=ER_OUT_OF_RESOURCES;
-      net->error=2;
+      net->error=1;
 #endif
-      net->reading_or_writing=0;
-      DBUG_RETURN(1);
+      return 1;
     }
     memcpy(b+header_length,packet,len);
 
@@ -318,7 +291,7 @@ net_real_write(NET *net,const char *packet,ulong len)
 #ifdef MYSQL_SERVER
   thr_alarm_init(&alarmed);
   if (net_blocking)
-    thr_alarm(&alarmed,(uint) net_write_timeout,&alarm_buff);
+    thr_alarm(&alarmed,NET_WRITE_TIMEOUT);
 #else
   alarmed=0;
 #endif /* MYSQL_SERVER */
@@ -329,10 +302,10 @@ net_real_write(NET *net,const char *packet,ulong len)
     if ((int) (length=vio_write(net->vio,pos,(size_t) (end-pos))) <= 0)
     {
       my_bool interrupted = vio_should_retry(net->vio);
-#if (!defined(__WIN__) && !defined(__EMX__))
+#if (!defined(__WIN32__) && !defined(__EMX__))
       if ((interrupted || length==0) && !thr_alarm_in_use(alarmed))
       {
-        if (!thr_alarm(&alarmed,(uint) net_write_timeout,&alarm_buff))
+        if (!thr_alarm(&alarmed,NET_WRITE_TIMEOUT))
         {                                       /* Always true for client */
          if (!vio_is_blocking(net->vio))
          {
@@ -345,7 +318,7 @@ net_real_write(NET *net,const char *packet,ulong len)
                      "%s: my_net_write: fcntl returned error %d, aborting thread\n",
                      my_progname,vio_errno(net->vio));
 #endif /* EXTRA_DEBUG */
-             net->error=2;                     /* Close socket */
+             net->error=1;                     /* Close socket */
              goto end;
            }
          }
@@ -354,7 +327,7 @@ net_real_write(NET *net,const char *packet,ulong len)
        }
       }
       else
-#endif /* (!defined(__WIN__) && !defined(__EMX__)) */
+#endif /* (!defined(__WIN32__) && !defined(__EMX__)) */
        if (thr_alarm_in_use(alarmed) && !thr_got_alarm(alarmed) &&
            interrupted)
       {
@@ -372,7 +345,7 @@ net_real_write(NET *net,const char *packet,ulong len)
        continue;
       }
 #endif /* defined(THREAD_SAFE_CLIENT) && !defined(MYSQL_SERVER) */
-      net->error=2;                            /* Close socket */
+      net->error=1;                            /* Close socket */
 #ifdef MYSQL_SERVER
       net->last_errno= (interrupted ? ER_NET_WRITE_INTERRUPTED :
                        ER_NET_ERROR_ON_WRITE);
@@ -380,9 +353,9 @@ net_real_write(NET *net,const char *packet,ulong len)
       break;
     }
     pos+=length;
-    statistic_add(bytes_sent,length,&LOCK_bytes_sent);
+    thread_safe_add(bytes_sent,length,&LOCK_bytes_sent);
   }
-#ifndef __WIN__
+#ifndef __WIN32__
  end:
 #endif
 #ifdef HAVE_COMPRESS
@@ -394,8 +367,7 @@ net_real_write(NET *net,const char *packet,ulong len)
     thr_end_alarm(&alarmed);
     vio_blocking(net->vio, net_blocking);
   }
-  net->reading_or_writing=0;
-  DBUG_RETURN(((int) (pos != end)));
+  return (int) (pos != end);
 }
 
 
@@ -403,43 +375,6 @@ net_real_write(NET *net,const char *packet,ulong len)
 ** Read something from server/clinet
 *****************************************************************************/
 
-#ifdef MYSQL_SERVER
-
-/*
-  Help function to clear the commuication buffer when we get a too
-  big packet
-*/
-
-static void my_net_skip_rest(NET *net, ulong remain, thr_alarm_t *alarmed)
-{
-  char buff[1024];
-  ALARM alarm_buff;
-  uint retry_count=0;
-  if (!thr_alarm_in_use(alarmed))
-  {
-    if (!thr_alarm(alarmed,net->timeout,&alarm_buff) ||
-       (!vio_is_blocking(net->vio) && vio_blocking(net->vio,TRUE) < 0))
-      return;                                  // Can't setup, abort
-  }
-  while (remain > 0)
-  {
-    ulong length;
-    if ((int) (length=vio_read(net->vio,(char*) net->buff,remain)) <= 0L)
-    {
-      my_bool interrupted = vio_should_retry(net->vio);
-      if (!thr_got_alarm(alarmed) && interrupted)
-      {                                        /* Probably in MIT threads */
-       if (retry_count++ < RETRY_COUNT)
-         continue;
-      }
-      return;
-    }
-    remain -=(ulong) length;
-    statistic_add(bytes_received,(ulong) length,&LOCK_bytes_received);
-  }
-}
-#endif /* MYSQL_SERVER */
-
 
 static uint
 my_real_read(NET *net, ulong *complen)
@@ -449,19 +384,15 @@ my_real_read(NET *net, ulong *complen)
   uint i,retry_count=0;
   ulong len=packet_error;
   thr_alarm_t alarmed;
-#if (!defined(__WIN__) && !defined(__EMX__)) || defined(MYSQL_SERVER)
-  ALARM alarm_buff;
-#endif
   my_bool net_blocking=vio_is_blocking(net->vio);
   ulong remain= (net->compress ? NET_HEADER_SIZE+COMP_HEADER_SIZE :
                 NET_HEADER_SIZE);
   *complen = 0;
 
-  net->reading_or_writing=1;
   thr_alarm_init(&alarmed);
 #ifdef MYSQL_SERVER
   if (net_blocking)
-    thr_alarm(&alarmed,net->timeout,&alarm_buff);
+    thr_alarm(&alarmed,net->timeout);
 #endif /* MYSQL_SERVER */
 
     pos = net->buff + net->where_b;            /* net->packet -4 */
@@ -476,7 +407,7 @@ my_real_read(NET *net, ulong *complen)
 
          DBUG_PRINT("info",("vio_read returned %d,  errno: %d",
                             length, vio_errno(net->vio)));
-#if (!defined(__WIN__) && !defined(__EMX__)) || defined(MYSQL_SERVER)
+#if (!defined(__WIN32__) && !defined(__EMX__)) || !defined(MYSQL_SERVER)
          /*
            We got an error that there was no data on the socket. We now set up
            an alarm to not 'read forever', change the socket to non blocking
@@ -484,7 +415,7 @@ my_real_read(NET *net, ulong *complen)
          */
          if ((interrupted || length == 0) && !thr_alarm_in_use(alarmed))
          {
-           if (!thr_alarm(&alarmed,net->timeout,&alarm_buff)) /* Don't wait too long */
+           if (!thr_alarm(&alarmed,net->timeout)) /* Don't wait too long */
            {
               if (!vio_is_blocking(net->vio))
               {
@@ -502,7 +433,7 @@ my_real_read(NET *net, ulong *complen)
                           my_progname,vio_errno(net->vio));
 #endif /* EXTRA_DEBUG */
                   len= packet_error;
-                  net->error=2;                 /* Close socket */
+                  net->error=1;                 /* Close socket */
 #ifdef MYSQL_SERVER
                  net->last_errno=ER_NET_FCNTL_ERROR;
 #endif
@@ -513,7 +444,7 @@ my_real_read(NET *net, ulong *complen)
              continue;
            }
          }
-#endif /* (!defined(__WIN__) && !defined(__EMX__)) || defined(MYSQL_SERVER) */
+#endif /* (!defined(__WIN32__) && !defined(__EMX__)) || !defined(MYSQL_SERVER) */
          if (thr_alarm_in_use(alarmed) && !thr_got_alarm(alarmed) &&
              interrupted)
          {                                     /* Probably in MIT threads */
@@ -533,7 +464,7 @@ my_real_read(NET *net, ulong *complen)
 #endif
          DBUG_PRINT("error",("Couldn't read packet: remain: %d  errno: %d  length: %d  alarmed: %d", remain,vio_errno(net->vio),length,alarmed));
          len= packet_error;
-         net->error=2;                         /* Close socket */
+         net->error=1;                         /* Close socket */
 #ifdef MYSQL_SERVER
          net->last_errno= (interrupted ? ER_NET_READ_INTERRUPTED :
                            ER_NET_READ_ERROR);
@@ -542,7 +473,7 @@ my_real_read(NET *net, ulong *complen)
        }
        remain -= (ulong) length;
        pos+= (ulong) length;
-       statistic_add(bytes_received,(ulong) length,&LOCK_bytes_received);
+       thread_safe_add(bytes_received,(ulong) length,&LOCK_bytes_received);
       }
       if (i == 0)
       {                                        /* First parts is packet length */
@@ -581,13 +512,8 @@ my_real_read(NET *net, ulong *complen)
        /* The necessary size of net->buff */
        if (helping >= net->max_packet)
        {
-         /* We must allocate one extra byte for the end null */
-         if (net_realloc(net,helping+1))
+         if (net_realloc(net,helping))
          {
-#ifdef MYSQL_SERVER
-           if (i == 1)
-             my_net_skip_rest(net, len, &alarmed);
-#endif
            len= packet_error;          /* Return error */
            goto end;
          }
@@ -603,10 +529,10 @@ end:
     thr_end_alarm(&alarmed);
     vio_blocking(net->vio, net_blocking);
   }
-  net->reading_or_writing=0;
   return(len);
 }
 
+
 uint
 my_net_read(NET *net)
 {
@@ -661,7 +587,7 @@ my_net_read(NET *net)
     if (my_uncompress((byte*) net->buff + net->where_b, &len, &complen))
     {
       len= packet_error;
-      net->error=2;                    /* caller will close socket */
+      net->error=1;                    /* caller will close socket */
 #ifdef MYSQL_SERVER
       net->last_errno=ER_NET_UNCOMPRESS_ERROR;
 #endif
index 0fd5861873a9169785c36fcff96fbac2ce7ceab6..46667993d5167405b5aed3162934421ea23fb6fb 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* password checking routines */
 /*****************************************************************************
index d715f69e38abf3bfe24ff1dfbd7e430b97f2a7f5..5a44745bed75dcc395378018d4489928017e43e6 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*
  * [This posting refers to an article entitled "oops, corrupted memory
@@ -207,7 +193,7 @@ gptr _mymalloc (uint uSize, const char *sFile, uint uLine, myf MyFlags)
  *  Free then old memoryblock
  */
 
-gptr _myrealloc (register gptr pPtr, register uint uSize,
+gptr _myrealloc (register my_string pPtr, register uint uSize,
                 const char *sFile, uint uLine, myf MyFlags)
 {
   struct remember *pRec;
@@ -223,8 +209,7 @@ gptr _myrealloc (register gptr pPtr, register uint uSize,
   if (check_ptr("Reallocating",(byte*) pPtr,sFile,uLine))
     DBUG_RETURN((gptr) NULL);
 
-  pRec = (struct remember *) ((char*) pPtr - sizeof (struct irem)-
-                             sf_malloc_prehunc);
+  pRec = (struct remember *) (pPtr - sizeof (struct irem)-sf_malloc_prehunc);
   if (*((long*) ((char*) &pRec -> lSpecialValue+sf_malloc_prehunc))
       != MAGICKEY)
   {
@@ -482,7 +467,6 @@ int _sanity (const char *sFile, uint uLine)
   count=cNewCount;
   for (pTmp = pRememberRoot; pTmp != NULL && count-- ; pTmp = pTmp -> pNext)
     flag+=_checkchunk (pTmp, sFile, uLine);
-  pthread_mutex_unlock(&THR_LOCK_malloc);
   if (count || pTmp)
   {
     const char *format="Safemalloc link list destroyed, discovered at '%s:%d'";
@@ -491,6 +475,7 @@ int _sanity (const char *sFile, uint uLine)
     DBUG_PRINT("safe",(format, sFile, uLine));
     flag=1;
   }
+  pthread_mutex_unlock(&THR_LOCK_malloc);
   return flag;
 } /* _sanity */
 
index 55fcd56adb94935b4b8ca5149a07af7b4e733121..c6de1a436a04369e00d435f8c60eed610bfaaf2f 100644 (file)
@@ -1,20 +1,3 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
-
 /*
   str2int(src, radix, lower, upper, &val)
   converts the string pointed to by src to an integer and stores it in
index 246b81d7f7b68ebf715a96eaa0f2d8c4d785c264..f65eb16837acd02ede99a129af18a44c1c188ae0 100644 (file)
@@ -1,20 +1,3 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
-
 /*  File   : strcend.c
     Author : Michael Widenius: ifdef MC68000
     Updated: 20 April 1984
index 5c7d5d2e55fbe06c42cb7da58bb3ad032a3f89a4..5ed0738decfbe095a0e084ab926331ba801f5923 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*  File   : strcont.c
     Author : Monty
index ef0ccb567d1e8213befb1feef0aa2b7e0d0da85c..6a718db9c163955359efdb1900d9a3a18f250002 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*  File   : strfill.c
     Author : Monty
index 0696c72b92215932e5ad8b53521ce0339d689996..a14cc138fac094f6c46549d29362c4e7deb270ce 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*
   Code for handling strings with can grow dynamicly.
@@ -33,7 +19,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= (uint) strlen(init_str)+1) < init_alloc)
+  if (init_str && (length=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 +39,7 @@ my_bool dynstr_set(DYNAMIC_STRING *str, const char *init_str)
   uint length;
   DBUG_ENTER("dynstr_set");
 
-  if (init_str && (length= (uint) strlen(init_str)+1) > str->max_length)
+  if (init_str && (length=strlen(init_str)+1) > str->max_length)
   {
     str->max_length=((length+str->alloc_increment-1)/str->alloc_increment)*
       str->alloc_increment;
index e1d502f40048a2a35fc702d56939cf2dbea7d04e..459cfbc3e6a33ab7672e7753bdd7fd785bd40f48 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*  File   : strinstr.c
     Author : Monty & David
index d4edce689a5c0c5213c5f3f524a368a16ec1aa4e..65792625ae7e9255f3de198677b1ba1381204719 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*  File   : strmake.c
     Author : Michael Widenius
index 8f5beb41f41292f3d6eac6142fba6be60b5d653c..b41470aef42c2faeb82ba43240ef10efe3a396e9 100644 (file)
@@ -1,20 +1,3 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
-
 /*
   strmov(dst, src) moves all the  characters  of  src  (including  the
   closing NUL) to dst, and returns a pointer to the new closing NUL in
 #define strmov strmov_overlapp
 #endif
 
-#ifndef strmov
-
 #if !defined(MC68000) && !defined(DS90)
 
 char *strmov(register char *dst, register const char *src)
 {
-  while ((*dst++ = *src++)) ;
+  while (*dst++ = *src++) ;
   return dst-1;
 }
 
@@ -55,5 +36,3 @@ char *strmov(dst, src)
 }
 
 #endif
-
-#endif /* strmov */
index ffc4a62f75e4e02c62fd18f2d7edd679a97f1243..2e939085241ace73985a27b68db53db4756529d7 100644 (file)
@@ -1,20 +1,3 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
-
 /*
     strnmov(dst,src,length) moves length characters, or until end, of src to
     dst and appends a closing NUL to dst if src is shorter than length.
index eb8caab2ab6e94138ea4f7512985b58f605a5e98..a2acd9c786a5e99f781ea80cb9f6282f3bb569e2 100644 (file)
@@ -1,20 +1,3 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
-
 /*
   strtol,strtoul,strtoll,strtoull
   convert string to long, unsigned long, long long or unsigned long long.
index f43dae726f58f5f00c9a139fbefed64409a2ef29..3b8f9bf36830e00a80f8ef03c4b72b1d8f74a67d 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright (C) 1996  TCX DataKonsult AB & Monty Program KB & Detron HB
+   For a more info consult the file COPYRIGHT distributed with this file */
 
 /* This is defines strtoll() if neaded */
 
index 42ce5ea4177bb52f8e9eb75da9852274c2d9a881..fbb23e0f2053f1d252246d7bada1ae1b33230024 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright (C) 1996  TCX DataKonsult AB & Monty Program KB & Detron HB
+   For a more info consult the file COPYRIGHT distributed with this file */
 
 /* This is defines strtoull() */
 
index 7ee1d303ee80603b9879ff762661d3999eeebc71..13811d043f8e9af558098e0d6919ed430888f2a8 100644 (file)
@@ -23,7 +23,7 @@ char *strxmov(char *dst,const char *src, ...)
 
   va_start(pvar,src);
   while (src != NullS) {
-    while ((*dst++ = *src++)) ;
+    while (*dst++ = *src++) ;
     dst--;
     src = va_arg(pvar, char *);
   }
index 0c268c09f0e8d1231d720fac2ca4b2cfc2e19013..b2c599f697a6fb31f41787cf579e61bbb562a71b 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* Prototypes when using thr_alarm library functions */
 
@@ -23,13 +9,6 @@
 extern "C" {
 #endif
 
-typedef struct st_alarm {
-  ulong expire_time;
-  int alarmed;                                 /* 1 when alarm is due */
-  pthread_t thread;
-  my_bool malloced;
-} ALARM;
-
 #ifndef USE_ALARM_THREAD
 #define USE_ONE_SIGNAL_HAND            /* One must call process_alarm */
 #endif
@@ -67,10 +46,10 @@ typedef struct st_win_timer
 
 #else
 
-#ifdef __WIN__
+#ifdef __WIN32__
 typedef struct st_win_timer
 {
-  rf_SetTimer crono;
+  uint crono;
 } thr_alarm_t;
 
 bool thr_got_alarm(thr_alarm_t *alrm);
@@ -87,9 +66,9 @@ typedef int* thr_alarm_t;
 void init_thr_alarm(uint max_alarm);
 void thr_alarm_kill(pthread_t thread_id);
 sig_handler process_alarm(int);
-#endif /* __WIN__ */
+#endif /* __WIN32__ */
 
-bool thr_alarm(thr_alarm_t *alarmed,uint sec, ALARM *buff);
+bool thr_alarm(thr_alarm_t *alarmed,uint sec);
 void thr_end_alarm(thr_alarm_t *alarmed);
 void end_thr_alarm(void);
 #endif /* DONT_USE_THR_ALARM */
index 9b9c7a8e407536df26c5a3dc14c1ecdba1708f7b..3ac2013efd3c6da783f2c372660d99fd446e111c 100644 (file)
@@ -1,32 +1,18 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* This makes a wrapper for mutex handling to make it easier to debug mutex */
 
 #include <global.h>
-#if defined(HAVE_LINUXTHREADS) && !defined (__USE_UNIX98)
-#define __USE_UNIX98                   /* To get rw locks under Linux */
+#ifdef HAVE_LINUXTHREADS                       /* Some extra safety */
+#define __USE_UNIX98
 #endif
 #include <m_string.h>
 #if defined(THREAD) && defined(SAFE_MUTEX)
-#undef SAFE_MUTEX                      /* Avoid safe_mutex redefinitions */
+#undef SAFE_MUTEX              /* Avoid safe_mutex redefinitions */
 #include <my_pthread.h>
 
-#ifndef DO_NOT_REMOVE_THREAD_WRAPPERS
+
 /* Remove wrappers */
 #undef pthread_mutex_init
 #undef pthread_mutex_lock
 #ifdef HAVE_NONPOSIX_PTHREAD_MUTEX_INIT
 #define pthread_mutex_init(a,b) my_pthread_mutex_init((a),(b))
 #endif
-#endif /* DO_NOT_REMOVE_THREAD_WRAPPERS */
 
-int safe_mutex_init(safe_mutex_t *mp,
-                   const pthread_mutexattr_t *attr __attribute__((unused)))
+int safe_mutex_init(safe_mutex_t *mp, const pthread_mutexattr_t *attr)
 {
   bzero((char*) mp,sizeof(*mp));
 #ifdef HAVE_LINUXTHREADS                       /* Some extra safety */
   {
     pthread_mutexattr_t tmp;
     pthread_mutexattr_init(&tmp);
-    pthread_mutexattr_setkind_np(&tmp,PTHREAD_MUTEX_ERRORCHECK_NP);
+    pthread_mutexattr_settype(&tmp,PTHREAD_MUTEX_ERRORCHECK_NP);
     pthread_mutex_init(&mp->global,&tmp);
     pthread_mutex_init(&mp->mutex, &tmp);
     pthread_mutexattr_destroy(&tmp);
@@ -199,16 +183,16 @@ int safe_cond_timedwait(pthread_cond_t *cond, safe_mutex_t *mp,
   return error;
 }
 
-int safe_mutex_destroy(safe_mutex_t *mp, const char *file, uint line)
+int safe_mutex_destroy(safe_mutex_t *mp)
 {
   if (mp->count != 0)
   {
-    fprintf(stderr,"safe_mutex: Trying to destroy a mutex that was locked at %s, line %d at %s, line %d\n",
-           mp->file,mp->line, file, line);
+    fprintf(stderr,"safe_mutex: Trying to destroy a mutex that was locked at %s, line %d\n",
+           mp->file,mp->line);
     abort();
   }
   pthread_mutex_destroy(&mp->global);
   return pthread_mutex_destroy(&mp->mutex);
 }
 
-#endif /* THREAD && SAFE_MUTEX */
+#endif /* SAFE_MUTEX */
index 903a730406549215528b0b8a53cb7cd0d77715ff..2612d2c9a0284693d98d212252c8859483bf4ef7 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /* Functions to handle typelib */
 
@@ -34,8 +20,7 @@
 int find_type(my_string x, TYPELIB *typelib, uint full_name)
 {
   int find,pos,findpos;
-  reg1 my_string i;
-  reg2 const char *j;
+  reg1 my_string i,j;
   DBUG_ENTER("find_type");
   DBUG_PRINT("enter",("x: '%s'  lib: %lx",x,typelib));
 
@@ -98,9 +83,9 @@ void make_type(register my_string to, register uint nr, register TYPELIB *typeli
        /* Get type */
        /* Warning first type is 0 */
 
-const char *get_type(TYPELIB *typelib, uint nr)
+my_string get_type(TYPELIB *typelib, uint nr)
 {
   if (nr < (uint) typelib->count && typelib->type_names)
     return(typelib->type_names[nr]);
-  return "?";
+  return((char*) "?");
 }
index 349a6fbd849492f62601d8193f74df18c8ac73b9..396abfd2dbd98c136eab34777e3f114fe955e642 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 2000 Monty Program KB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*
   Note that we can't have assertion on file descriptors;  The reason for
 #undef HAVE_FCNTL
 #endif                         /* defined(__EMX__) */
 
-#if defined(MSDOS) || defined(__WIN__)
-#ifdef __WIN__
+#if defined(MSDOS) || defined(__WIN32__)
+#ifdef __WIN32__
 #undef errno
 #undef EINTR
 #undef EAGAIN
 #define errno WSAGetLastError()
 #define EINTR  WSAEINTR
 #define EAGAIN WSAEINPROGRESS
-#endif /* __WIN__ */
+#endif /* __WIN32__ */
 #define O_NONBLOCK 1    /* For emulation of fcntl() */
 #endif
 #ifndef EWOULDBLOCK
 #define EWOULDBLOCK EAGAIN
 #endif
 
-#ifndef __WIN__
+#ifndef __WIN32__
 #define HANDLE void *
 #endif
 
@@ -99,11 +85,11 @@ Vio *vio_new(my_socket sd, enum enum_vio_type type, my_bool localhost)
   {
     vio_reset(vio, type, sd, 0, localhost);
     sprintf(vio->desc, "socket (%d)", vio->sd);
-#if !defined(___WIN__) && !defined(__EMX__)
+#if !defined(___WIN32__) && !defined(__EMX__)
 #if !defined(NO_FCNTL_NONBLOCK)
     vio->fcntl_mode = fcntl(sd, F_GETFL);
 #endif
-#else /* !defined(__WIN__) && !defined(__EMX__) */
+#else /* !defined(__WIN32__) && !defined(__EMX__) */
     {
       /* set to blocking mode by default */
       ulong arg=0;
@@ -115,7 +101,7 @@ Vio *vio_new(my_socket sd, enum enum_vio_type type, my_bool localhost)
 }
 
 
-#ifdef __WIN__
+#ifdef __WIN32__
 
 Vio *vio_new_win32pipe(HANDLE hPipe)
 {
@@ -154,7 +140,7 @@ int vio_read(Vio * vio, gptr buf, int size)
   int r;
   DBUG_ENTER("vio_read");
   DBUG_PRINT("enter", ("sd=%d, buf=%p, size=%d", vio->sd, buf, size));
-#ifdef __WIN__
+#ifdef __WIN32__
   if (vio->type == VIO_TYPE_NAMEDPIPE)
   {
     DWORD length;
@@ -166,7 +152,7 @@ int vio_read(Vio * vio, gptr buf, int size)
 #else
   errno=0;                                     /* For linux */
   r = read(vio->sd, buf, size);
-#endif /* __WIN__ */
+#endif /* __WIN32__ */
 #ifndef DBUG_OFF
   if (r < 0)
   {
@@ -183,7 +169,7 @@ int vio_write(Vio * vio, const gptr buf, int size)
   int r;
   DBUG_ENTER("vio_write");
   DBUG_PRINT("enter", ("sd=%d, buf=%p, size=%d", vio->sd, buf, size));
-#ifdef __WIN__
+#ifdef __WIN32__
   if ( vio->type == VIO_TYPE_NAMEDPIPE)
   {
     DWORD length;
@@ -194,7 +180,7 @@ int vio_write(Vio * vio, const gptr buf, int size)
   r = send(vio->sd, buf, size,0);
 #else
   r = write(vio->sd, buf, size);
-#endif /* __WIN__ */
+#endif /* __WIN32__ */
 #ifndef DBUG_OFF
   if (r < 0)
   {
@@ -212,7 +198,7 @@ int vio_blocking(Vio * vio, my_bool set_blocking_mode)
   DBUG_ENTER("vio_blocking");
   DBUG_PRINT("enter", ("set_blocking_mode: %d", (int) set_blocking_mode));
 
-#if !defined(___WIN__) && !defined(__EMX__)
+#if !defined(___WIN32__) && !defined(__EMX__)
 #if !defined(NO_FCNTL_NONBLOCK)
 
   if (vio->sd >= 0)
@@ -226,7 +212,7 @@ int vio_blocking(Vio * vio, my_bool set_blocking_mode)
       r = fcntl(vio->sd, F_SETFL, vio->fcntl_mode);
   }
 #endif /* !defined(NO_FCNTL_NONBLOCK) */
-#else /* !defined(__WIN__) && !defined(__EMX__) */
+#else /* !defined(__WIN32__) && !defined(__EMX__) */
 #ifndef __EMX__
   if (vio->type != VIO_TYPE_NAMEDPIPE)  
 #endif
@@ -246,7 +232,7 @@ int vio_blocking(Vio * vio, my_bool set_blocking_mode)
     if (old_fcntl != vio->fcntl_mode)
       r = ioctlsocket(vio->sd,FIONBIO,(void*) &arg, sizeof(arg));
   }
-#endif /* !defined(__WIN__) && !defined(__EMX__) */
+#endif /* !defined(__WIN32__) && !defined(__EMX__) */
   DBUG_RETURN(r);
 }
 
@@ -318,7 +304,7 @@ int vio_close(Vio * vio)
 {
   int r;
   DBUG_ENTER("vio_close");
-#ifdef __WIN__
+#ifdef __WIN32__
   if (vio->type == VIO_TYPE_NAMEDPIPE)
   {
 #if defined(__NT__) && defined(MYSQL_SERVER)
@@ -328,7 +314,7 @@ int vio_close(Vio * vio)
     r=CloseHandle(vio->hPipe);
   }
   else if (vio->type != VIO_CLOSED)
-#endif /* __WIN__ */
+#endif /* __WIN32__ */
   {
     r=0;
     if (shutdown(vio->sd,2))
index e7c3e8ede81a16fa1c8326bb14e0f59f3f403e62..476e0ea16f5958c9c730b601bbd306beafdfc012 100644 (file)
@@ -1,19 +1,5 @@
-/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA */
+/* Copyright Abandoned 2000 Monty Program KB
+   This file is public domain and comes with NO WARRANTY of any kind */
 
 /*
  * Vio Lite.
@@ -47,7 +33,7 @@ enum enum_vio_type { VIO_CLOSED, VIO_TYPE_TCPIP, VIO_TYPE_SOCKET,
 Vio*           vio_new(my_socket       sd,
                        enum enum_vio_type type,
                        my_bool         localhost);
-#ifdef __WIN__
+#ifdef __WIN32__
 Vio*           vio_new_win32pipe(HANDLE hPipe);
 #endif
 void           vio_delete(Vio* vio);