summaryrefslogtreecommitdiff
path: root/libmysql
diff options
context:
space:
mode:
authorunknown <monty@work.mysql.com>2001-09-13 09:52:35 +0200
committerunknown <monty@work.mysql.com>2001-09-13 09:52:35 +0200
commitc96bf55b9c8641d4b1c2ece0c0314071bc1022df (patch)
tree1fb0fbca5b7a4edebe2c26a5ed0b272e92bc21f2 /libmysql
parent9e4206b990df875e063a07784c77cc39dc394654 (diff)
parentc88dd9b291cf7fe9086102d74d255f4b880d1486 (diff)
downloadmariadb-git-c96bf55b9c8641d4b1c2ece0c0314071bc1022df.tar.gz
Merge with 3.23.42
configure.in: Auto merged BitKeeper/deleted/.del-violite.c~d7b85be615595ace: Auto merged BitKeeper/deleted/.del-violite.c~984c09cffe14a11b: Auto merged client/Makefile.am: Auto merged client/mysql.cc: Auto merged client/mysqlbinlog.cc: Auto merged heap/hp_test2.c: Auto merged include/global.h: Auto merged include/my_pthread.h: Auto merged include/myisam.h: Auto merged libmysql/libmysql.c: Auto merged libmysql/net.c: Auto merged myisam/sort.c: Auto merged sql-bench/test-create.sh: Auto merged sql/handler.cc: Auto merged sql/handler.h: Auto merged sql/lock.cc: Auto merged sql/log_event.cc: Auto merged sql/mini_client.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/net_serv.cc: Auto merged mysql-test/t/merge.test: Auto merged sql/ha_innobase.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_lex.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_table.cc: Auto merged support-files/mysql.spec.sh: Auto merged mysql-test/t/bdb.test: Auto merged Docs/manual.texi: merge myisam/myisampack.c: merge
Diffstat (limited to 'libmysql')
-rw-r--r--libmysql/dll.c22
-rw-r--r--libmysql/libmysql.c22
-rw-r--r--libmysql/net.c4
3 files changed, 34 insertions, 14 deletions
diff --git a/libmysql/dll.c b/libmysql/dll.c
index 4c952c5889e..d1a23794025 100644
--- a/libmysql/dll.c
+++ b/libmysql/dll.c
@@ -110,3 +110,25 @@ int _export FAR PASCAL libmain(HANDLE hModule,short cbHeapSize,
}
#endif
+
+#ifdef OS2
+
+//
+// This function is called automatically by _DLL_InitTerm
+// Every dll runtime enviroment is not tz enabled, so tzset()
+// must be called to enable TZ handling
+// Also timezone is fixed.
+//
+extern "C" unsigned long _System DllMain(unsigned long modhandle,
+ unsigned long flag)
+{
+ if (flag == 0) {
+ tzset(); // Set tzname
+ time_t currentTime = time(NULL);
+ struct tm *ts = localtime(&currentTime);
+ if (ts->tm_isdst > 0)
+ _timezone -= 3600;
+ }
+}
+
+#endif
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index 753bc1f7883..e7705ee20e4 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -15,7 +15,6 @@
Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA */
-#define DONT_USE_RAID
#include <global.h>
#if defined(__WIN__) || defined(_WIN32) || defined(_WIN64)
#include <winsock.h>
@@ -71,11 +70,10 @@ my_string mysql_unix_port=0;
#endif
#if defined(MSDOS) || defined(__WIN__)
-#define ERRNO WSAGetLastError()
+// socket_errno is defined in global.h for all platforms
#define perror(A)
#else
#include <errno.h>
-#define ERRNO errno
#define SOCKET_ERROR -1
#endif /* __WIN__ */
@@ -472,7 +470,7 @@ simple_command(MYSQL *mysql,enum enum_server_command command, const char *arg,
if (net_write_command(net,(uchar) command,arg,
length ? length : (ulong) strlen(arg)))
{
- DBUG_PRINT("error",("Can't send command to server. Error: %d",errno));
+ DBUG_PRINT("error",("Can't send command to server. Error: %d",socket_errno));
end_server(mysql);
if (mysql_reconnect(mysql) ||
net_write_command(net,(uchar) command,arg,
@@ -1516,7 +1514,7 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
if ((sock = socket(AF_UNIX,SOCK_STREAM,0)) == SOCKET_ERROR)
{
net->last_errno=CR_SOCKET_CREATE_ERROR;
- sprintf(net->last_error,ER(net->last_errno),ERRNO);
+ sprintf(net->last_error,ER(net->last_errno),socket_errno);
goto error;
}
net->vio = vio_new(sock, VIO_TYPE_SOCKET, TRUE);
@@ -1526,9 +1524,9 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
if (connect2(sock,(struct sockaddr *) &UNIXaddr, sizeof(UNIXaddr),
mysql->options.connect_timeout) <0)
{
- DBUG_PRINT("error",("Got error %d on connect to local server",ERRNO));
+ DBUG_PRINT("error",("Got error %d on connect to local server",socket_errno));
net->last_errno=CR_CONNECTION_ERROR;
- sprintf(net->last_error,ER(net->last_errno),unix_socket,ERRNO);
+ sprintf(net->last_error,ER(net->last_errno),unix_socket,socket_errno);
goto error;
}
}
@@ -1579,7 +1577,7 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
if ((sock = (my_socket) socket(AF_INET,SOCK_STREAM,0)) == SOCKET_ERROR)
{
net->last_errno=CR_IPSOCK_ERROR;
- sprintf(net->last_error,ER(net->last_errno),ERRNO);
+ sprintf(net->last_error,ER(net->last_errno),socket_errno);
goto error;
}
net->vio = vio_new(sock,VIO_TYPE_TCPIP,FALSE);
@@ -1616,7 +1614,7 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
if (!(hp=gethostbyname(host)))
{
net->last_errno=CR_UNKNOWN_HOST;
- sprintf(net->last_error, ER(CR_UNKNOWN_HOST), host, errno);
+ sprintf(net->last_error, ER(CR_UNKNOWN_HOST), host, socket_errno);
goto error;
}
memcpy(&sock_addr.sin_addr,hp->h_addr, (size_t) hp->h_length);
@@ -1626,9 +1624,9 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
if (connect2(sock,(struct sockaddr *) &sock_addr, sizeof(sock_addr),
mysql->options.connect_timeout) <0)
{
- DBUG_PRINT("error",("Got error %d on connect to '%s'",ERRNO,host));
+ DBUG_PRINT("error",("Got error %d on connect to '%s'",socket_errno,host));
net->last_errno= CR_CONN_HOST_ERROR;
- sprintf(net->last_error ,ER(CR_CONN_HOST_ERROR), host, ERRNO);
+ sprintf(net->last_error ,ER(CR_CONN_HOST_ERROR), host, socket_errno);
goto error;
}
}
@@ -2227,7 +2225,7 @@ send_file_to_server(MYSQL *mysql, const char *filename)
if (my_net_write(&mysql->net,"",0) || net_flush(&mysql->net))
{
mysql->net.last_errno=CR_SERVER_LOST;
- sprintf(mysql->net.last_error,ER(mysql->net.last_errno),errno);
+ sprintf(mysql->net.last_error,ER(mysql->net.last_errno),socket_errno);
my_free(tmp_name,MYF(0));
DBUG_RETURN(-1);
}
diff --git a/libmysql/net.c b/libmysql/net.c
index 036a941ffae..9b9ce1c4048 100644
--- a/libmysql/net.c
+++ b/libmysql/net.c
@@ -89,7 +89,7 @@ extern ulong mysqld_net_retry_count;
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_alarm_in_use(A) (*(A)!= 0)
#define thr_end_alarm(A)
#define thr_alarm(A,B,C) local_thr_alarm((A),(B),(C))
inline int local_thr_alarm(my_bool *A,int B __attribute__((unused)),ALARM *C __attribute__((unused)))
@@ -436,7 +436,7 @@ net_real_write(NET *net,const char *packet,ulong len)
#endif /* EXTRA_DEBUG */
}
#if defined(THREAD_SAFE_CLIENT) && !defined(MYSQL_SERVER)
- if (vio_errno(net->vio) == EINTR)
+ if (vio_errno(net->vio) == SOCKET_EINTR)
{
DBUG_PRINT("warning",("Interrupted write. Retrying..."));
continue;