mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 02:51:44 +01:00
960f6600c8
Fixed some mtr test problems dbug/tests.c: Fixed compiler warnings mysql-test/r/handlersocket.result: Fixed that plugin_license is written mysql-test/suite/innodb/t/innodb_bug60196.test: Force sorted results as it was sometimes different on windows mysql-test/suite/rpl/t/rpl_heartbeat_basic.test: Prolong test as this failed on windows mysql-test/t/handlersocket.test: Fixed that plugin_license is written plugin/handler_socket/handlersocket/handlersocket.cpp: Use maria_declare_plugin plugin/handler_socket/handlersocket/mysql_incl.hpp: Fixed compiler warning plugin/handler_socket/libhsclient/auto_addrinfo.hpp: Fixed compiler warning sql/handler.h: Fixed typo sql/sql_plugin.cc: Fixed bug that caused plugin library name twice in error message storage/maria/ma_checkpoint.c: Fixed compiler warning storage/maria/ma_loghandler.c: Fixed compiler warning unittest/mysys/base64-t.c: Fixed compiler warning unittest/mysys/bitmap-t.c: Fixed compiler warning unittest/mysys/my_malloc-t.c: Fixed compiler warning
53 lines
1 KiB
C++
53 lines
1 KiB
C++
|
|
// vim:sw=2:ai
|
|
|
|
/*
|
|
* Copyright (C) 2010 DeNA Co.,Ltd.. All rights reserved.
|
|
* See COPYRIGHT.txt for details.
|
|
*/
|
|
|
|
#ifndef DENA_AUTO_ADDRINFO_HPP
|
|
#define DENA_AUTO_ADDRINFO_HPP
|
|
|
|
#include <my_config.h>
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <netdb.h>
|
|
#include <string.h>
|
|
#include "util.hpp"
|
|
|
|
typedef SOCKET_SIZE_TYPE size_socket;
|
|
|
|
namespace dena {
|
|
|
|
struct auto_addrinfo : private noncopyable {
|
|
auto_addrinfo() : addr(0) { }
|
|
~auto_addrinfo() {
|
|
reset();
|
|
}
|
|
void reset(addrinfo *a = 0) {
|
|
if (addr != 0) {
|
|
freeaddrinfo(addr);
|
|
}
|
|
addr = a;
|
|
}
|
|
const addrinfo *get() const { return addr; }
|
|
int resolve(const char *node, const char *service, int flags = 0,
|
|
int family = AF_UNSPEC, int socktype = SOCK_STREAM, int protocol = 0) {
|
|
addrinfo hints;
|
|
reset();
|
|
memset(&hints, 0, sizeof(hints));
|
|
hints.ai_flags = flags;
|
|
hints.ai_family = family;
|
|
hints.ai_socktype = socktype;
|
|
hints.ai_protocol = protocol;
|
|
return getaddrinfo(node, service, &hints, &addr);
|
|
}
|
|
private:
|
|
addrinfo *addr;
|
|
};
|
|
|
|
};
|
|
|
|
#endif
|
|
|