diff --git a/avro/maxavro_file.c b/avro/maxavro_file.c index aabb5ba0c..2a1a98213 100644 --- a/avro/maxavro_file.c +++ b/avro/maxavro_file.c @@ -27,9 +27,8 @@ static bool maxavro_read_sync(FILE *file, uint8_t* sync) if (ferror(file)) { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to read file sync marker: %d, %s", errno, - strerror_r(errno, err, sizeof(err))); + mxs_strerror(errno)); } else if (feof(file)) { @@ -52,8 +51,7 @@ bool maxavro_verify_block(MAXAVRO_FILE *file) { if (ferror(file->file)) { - char err[MXS_STRERROR_BUFLEN]; - MXS_ERROR("Failed to read file: %d %s", errno, strerror_r(errno, err, sizeof(err))); + MXS_ERROR("Failed to read file: %d %s", errno, mxs_strerror(errno)); } else if (rc > 0 || !feof(file->file)) { @@ -181,9 +179,8 @@ bool maxavro_read_datablock_start(MAXAVRO_FILE* file) if (pos == -1) { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to read datablock start: %d, %s", errno, - strerror_r(errno, err, sizeof(err))); + mxs_strerror(errno)); } else { @@ -421,9 +418,8 @@ GWBUF* maxavro_file_binary_header(MAXAVRO_FILE *file) { if (ferror(file->file)) { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to read binary header: %d, %s", errno, - strerror_r(errno, err, sizeof(err))); + mxs_strerror(errno)); } else if (feof(file->file)) { @@ -444,9 +440,8 @@ GWBUF* maxavro_file_binary_header(MAXAVRO_FILE *file) } else { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to read binary header: %d, %s", errno, - strerror_r(errno, err, sizeof(err))); + mxs_strerror(errno)); } return rval; diff --git a/avro/maxavro_record.c b/avro/maxavro_record.c index 586e3bcb8..65707c339 100644 --- a/avro/maxavro_record.c +++ b/avro/maxavro_record.c @@ -325,9 +325,8 @@ GWBUF* maxavro_record_read_binary(MAXAVRO_FILE *file) { if (ferror(file->file)) { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to read %ld bytes: %d, %s", data_size, errno, - strerror_r(errno, err, sizeof(err))); + mxs_strerror(errno)); file->last_error = MAXAVRO_ERR_IO; } gwbuf_free(rval); diff --git a/server/core/buffer.c b/server/core/buffer.c index ddf3e24bf..817c86c5f 100644 --- a/server/core/buffer.c +++ b/server/core/buffer.c @@ -94,9 +94,7 @@ gwbuf_alloc(unsigned int size) retblock: if (rval == NULL) { - char errbuf[MXS_STRERROR_BUFLEN]; - MXS_ERROR("Memory allocation failed due to %s.", - strerror_r(errno, errbuf, sizeof(errbuf))); + MXS_ERROR("Memory allocation failed due to %s.", mxs_strerror(errno)); } #if defined(BUFFER_TRACE) else diff --git a/server/core/config.c b/server/core/config.c index c6405f1a3..360457d3c 100644 --- a/server/core/config.c +++ b/server/core/config.c @@ -541,9 +541,8 @@ static bool is_directory(const char *dir) } else { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_WARNING("Could not access %s, not reading: %s", - dir, strerror_r(errno, errbuf, sizeof(errbuf))); + dir, mxs_strerror(errno)); } } else @@ -2365,9 +2364,7 @@ bool config_has_duplicate_sections(const char* filename, DUPLICATE_CONTEXT* cont } else { - char errbuf[MXS_STRERROR_BUFLEN]; - MXS_ERROR("Failed to open file '%s': %s", filename, - strerror_r(errno, errbuf, sizeof(errbuf))); + MXS_ERROR("Failed to open file '%s': %s", filename, mxs_strerror(errno)); rval = true; } } @@ -3255,9 +3252,8 @@ static bool check_path_parameter(const MXS_MODULE_PARAM *params, const char *val } else { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Bad path parameter '%s' (absolute path '%s'): %d, %s", value, - buf, errno, strerror_r(errno, err, sizeof(err))); + buf, errno, mxs_strerror(errno)); } } else diff --git a/server/core/config_runtime.c b/server/core/config_runtime.c index b572c72fe..7d15cc634 100644 --- a/server/core/config_runtime.c +++ b/server/core/config_runtime.c @@ -176,9 +176,8 @@ bool runtime_destroy_server(SERVER *server) { if (errno != ENOENT) { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to remove persisted server configuration '%s': %d, %s", - filename, errno, strerror_r(errno, err, sizeof(err))); + filename, errno, mxs_strerror(errno)); } else { @@ -542,9 +541,8 @@ bool runtime_destroy_listener(SERVICE *service, const char *name) { if (errno != ENOENT) { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to remove persisted listener configuration '%s': %d, %s", - filename, errno, strerror_r(errno, err, sizeof(err))); + filename, errno, mxs_strerror(errno)); } else { @@ -618,9 +616,8 @@ bool runtime_destroy_monitor(MXS_MONITOR *monitor) { if (errno != ENOENT) { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to remove persisted monitor configuration '%s': %d, %s", - filename, errno, strerror_r(errno, err, sizeof(err))); + filename, errno, mxs_strerror(errno)); } else { diff --git a/server/core/dcb.c b/server/core/dcb.c index 943350804..2fe402f98 100644 --- a/server/core/dcb.c +++ b/server/core/dcb.c @@ -537,14 +537,13 @@ dcb_process_victim_queue(int threadid) { int eno = errno; errno = 0; - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("%lu [dcb_process_victim_queue] Error : Failed to close " "socket %d on dcb %p due error %d, %s.", pthread_self(), dcb->fd, dcb, eno, - strerror_r(eno, errbuf, sizeof(errbuf))); + mxs_strerror(eno)); } else { @@ -868,7 +867,6 @@ dcb_bytes_readable(DCB *dcb) if (-1 == ioctl(dcb->fd, FIONREAD, &bytesavailable)) { - char errbuf[MXS_STRERROR_BUFLEN]; /* */ MXS_ERROR("%lu [dcb_read] Error : ioctl FIONREAD for dcb %p in " "state %s fd %d failed due error %d, %s.", @@ -877,7 +875,7 @@ dcb_bytes_readable(DCB *dcb) STRDCBSTATE(dcb->state), dcb->fd, errno, - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); /* */ return -1; } @@ -946,7 +944,6 @@ dcb_basic_read(DCB *dcb, int bytesavailable, int maxbytes, int nreadtotal, int * * This is a fatal error which should cause shutdown. * Todo shutdown if memory allocation fails. */ - char errbuf[MXS_STRERROR_BUFLEN]; /* */ MXS_ERROR("%lu [dcb_read] Error : Failed to allocate read buffer " "for dcb %p fd %d, due %d, %s.", @@ -954,7 +951,7 @@ dcb_basic_read(DCB *dcb, int bytesavailable, int maxbytes, int nreadtotal, int * dcb, dcb->fd, errno, - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); /* */ *nsingleread = -1; } @@ -967,7 +964,6 @@ dcb_basic_read(DCB *dcb, int bytesavailable, int maxbytes, int nreadtotal, int * { if (errno != 0 && errno != EAGAIN && errno != EWOULDBLOCK) { - char errbuf[MXS_STRERROR_BUFLEN]; /* */ MXS_ERROR("%lu [dcb_read] Error : Read failed, dcb %p in state " "%s fd %d, due %d, %s.", @@ -976,7 +972,7 @@ dcb_basic_read(DCB *dcb, int bytesavailable, int maxbytes, int nreadtotal, int * STRDCBSTATE(dcb->state), dcb->fd, errno, - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); /* */ } gwbuf_free(buffer); @@ -1076,7 +1072,6 @@ dcb_basic_read_SSL(DCB *dcb, int *nsingleread) * This is a fatal error which should cause shutdown. * Todo shutdown if memory allocation fails. */ - char errbuf[MXS_STRERROR_BUFLEN]; /* */ MXS_ERROR("%lu [dcb_read] Error : Failed to allocate read buffer " "for dcb %p fd %d, due %d, %s.", @@ -1084,7 +1079,7 @@ dcb_basic_read_SSL(DCB *dcb, int *nsingleread) dcb, dcb->fd, errno, - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); /* */ *nsingleread = -1; return NULL; @@ -1175,9 +1170,7 @@ dcb_log_errors_SSL (DCB *dcb, const char *called_by, int ret) { int local_errno = errno; MXS_ERROR("SSL error caused by TCP error %d %s", - local_errno, - strerror_r(local_errno, errbuf, sizeof(errbuf)) - ); + local_errno, mxs_strerror(local_errno)); } else { @@ -1278,7 +1271,6 @@ dcb_log_write_failure(DCB *dcb, GWBUF *queue, int eno) { if (eno == EPIPE) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_DEBUG("%lu [dcb_write] Write to dcb " "%p in state %s fd %d failed " "due errno %d, %s", @@ -1287,7 +1279,7 @@ dcb_log_write_failure(DCB *dcb, GWBUF *queue, int eno) STRDCBSTATE(dcb->state), dcb->fd, eno, - strerror_r(eno, errbuf, sizeof(errbuf))); + mxs_strerror(eno)); } } @@ -1297,7 +1289,6 @@ dcb_log_write_failure(DCB *dcb, GWBUF *queue, int eno) eno != EAGAIN && eno != EWOULDBLOCK) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Write to dcb %p in " "state %s fd %d failed due " "errno %d, %s", @@ -1305,7 +1296,7 @@ dcb_log_write_failure(DCB *dcb, GWBUF *queue, int eno) STRDCBSTATE(dcb->state), dcb->fd, eno, - strerror_r(eno, errbuf, sizeof(errbuf))); + mxs_strerror(eno)); } @@ -1331,12 +1322,11 @@ dcb_log_write_failure(DCB *dcb, GWBUF *queue, int eno) } if (dolog) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_DEBUG("%lu [dcb_write] Writing to %s socket failed due %d, %s.", pthread_self(), DCB_ROLE_CLIENT_HANDLER == dcb->dcb_role ? "client" : "backend server", eno, - strerror_r(eno, errbuf, sizeof(errbuf))); + mxs_strerror(eno)); } } } @@ -2097,13 +2087,12 @@ gw_write(DCB *dcb, GWBUF *writeq, bool *stop_writing) saved_errno != EPIPE) #endif { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Write to %s %s in state %s failed due errno %d, %s", DCB_STRTYPE(dcb), dcb->remote, STRDCBSTATE(dcb->state), - saved_errno, strerror_r(saved_errno, errbuf, sizeof(errbuf))); + saved_errno, mxs_strerror(saved_errno)); MXS_DEBUG("Write to %s %s in state %s failed due errno %d, %s (at %p, fd %d)", DCB_STRTYPE(dcb), dcb->remote, STRDCBSTATE(dcb->state), - saved_errno, strerror_r(saved_errno, errbuf, sizeof(errbuf)), + saved_errno, mxs_strerror(saved_errno), dcb, dcb->fd); } } @@ -2677,7 +2666,6 @@ dcb_accept(DCB *listener) int sendbuf; struct sockaddr_storage client_conn; socklen_t optlen = sizeof(sendbuf); - char errbuf[MXS_STRERROR_BUFLEN]; if ((c_sock = dcb_accept_one_connection(listener, (struct sockaddr *)&client_conn)) >= 0) { @@ -2691,7 +2679,7 @@ dcb_accept(DCB *listener) if (setsockopt(c_sock, SOL_SOCKET, SO_SNDBUF, &sendbuf, optlen) != 0) { MXS_ERROR("Failed to set socket options. Error %d: %s", - errno, strerror_r(errno, errbuf, sizeof(errbuf))); + errno, mxs_strerror(errno)); } sendbuf = MXS_CLIENT_SO_RCVBUF; @@ -2699,7 +2687,7 @@ dcb_accept(DCB *listener) if (setsockopt(c_sock, SOL_SOCKET, SO_RCVBUF, &sendbuf, optlen) != 0) { MXS_ERROR("Failed to set socket options. Error %d: %s", - errno, strerror_r(errno, errbuf, sizeof(errbuf))); + errno, mxs_strerror(errno)); } setnonblocking(c_sock); @@ -2826,7 +2814,6 @@ dcb_accept_one_connection(DCB *listener, struct sockaddr *client_conn) if (c_sock == -1) { - char errbuf[MXS_STRERROR_BUFLEN]; /* Did not get a file descriptor */ if (eno == EAGAIN || eno == EWOULDBLOCK) { @@ -2848,14 +2835,14 @@ dcb_accept_one_connection(DCB *listener, struct sockaddr *client_conn) MXS_DEBUG("%lu [dcb_accept_one_connection] Error %d, %s. ", pthread_self(), eno, - strerror_r(eno, errbuf, sizeof(errbuf))); + mxs_strerror(eno)); /* Log an error the first time this happens */ if (i == 0) { MXS_ERROR("Error %d, %s. Failed to accept new client connection.", eno, - strerror_r(eno, errbuf, sizeof(errbuf))); + mxs_strerror(eno)); } nanosecs = (long long)1000000 * 100 * i * i; ts1.tv_sec = nanosecs / 1000000000; @@ -2871,7 +2858,7 @@ dcb_accept_one_connection(DCB *listener, struct sockaddr *client_conn) */ MXS_ERROR("Failed to accept new client connection due to %d, %s.", eno, - strerror_r(eno, errbuf, sizeof(errbuf))); + mxs_strerror(eno)); break; } } @@ -3117,10 +3104,8 @@ dcb_set_socket_option(int sockfd, int level, int optname, void *optval, socklen_ { if (setsockopt(sockfd, level, optname, optval, optlen) != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to set socket options. Error %d: %s", - errno, - strerror_r(errno, errbuf, sizeof(errbuf))); + errno, mxs_strerror(errno)); return -1; } return 0; diff --git a/server/core/externcmd.c b/server/core/externcmd.c index 8df3619bc..4a7bd1423 100644 --- a/server/core/externcmd.c +++ b/server/core/externcmd.c @@ -179,9 +179,8 @@ int externcmd_execute(EXTERNCMD* cmd) if (pid < 0) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to execute command '%s', fork failed: [%d] %s", - cmd->argv[0], errno, strerror_r(errno, errbuf, sizeof(errbuf))); + cmd->argv[0], errno, mxs_strerror(errno)); rval = -1; } else if (pid == 0) diff --git a/server/core/gateway.cc b/server/core/gateway.cc index cc7d68e2a..964f145a8 100644 --- a/server/core/gateway.cc +++ b/server/core/gateway.cc @@ -349,9 +349,8 @@ sigchld_handler (int i) if ((child = wait(&exit_status)) == -1) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to wait child process: %d %s", - errno, strerror_r(errno, errbuf, sizeof(errbuf))); + errno, mxs_strerror(errno)); } else { @@ -464,11 +463,10 @@ static int signal_set(int sig, void (*handler)(int)) if (err < 0) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed call sigaction() in %s due to %d, %s.", program_invocation_short_name, errno, - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); rc = 1; } @@ -500,9 +498,8 @@ static bool create_datadir(const char* base, char* datadir) } else { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Cannot create data directory '%s': %d %s\n", - datadir, errno, strerror_r(errno, errbuf, sizeof(errbuf))); + datadir, errno, mxs_strerror(errno)); } } } @@ -510,9 +507,8 @@ static bool create_datadir(const char* base, char* datadir) { if (len < PATH_MAX) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "Error: Cannot create data directory '%s': %d %s\n", - datadir, errno, strerror_r(errno, errbuf, sizeof(errbuf))); + datadir, errno, mxs_strerror(errno)); } else { @@ -538,9 +534,8 @@ int ntfw_cb(const char* filename, { int eno = errno; errno = 0; - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to remove the data directory %s of MaxScale due to %d, %s.", - datadir, eno, strerror_r(eno, errbuf, sizeof(errbuf))); + datadir, eno, mxs_strerror(eno)); } return rc; } @@ -730,22 +725,20 @@ static void print_log_n_stderr( { if (mxs_log_init(NULL, get_logdir(), MXS_LOG_TARGET_FS)) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("%s%s%s%s", logstr, eno == 0 ? "" : " (", - eno == 0 ? "" : strerror_r(eno, errbuf, sizeof(errbuf)), + eno == 0 ? "" : mxs_strerror(eno), eno == 0 ? "" : ")"); } } if (do_stderr) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Error: %s%s%s%s\n", fprstr, eno == 0 ? "" : " (", - eno == 0 ? "" : strerror_r(eno, errbuf, sizeof(errbuf)), + eno == 0 ? "" : mxs_strerror(eno), eno == 0 ? "" : ")"); } } @@ -1807,9 +1800,8 @@ int main(int argc, char **argv) } else { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Cannot create data directory '%s': %d %s\n", - datadir, errno, strerror_r(errno, errbuf, sizeof(errbuf))); + datadir, errno, mxs_strerror(errno)); goto return_main; } @@ -2126,12 +2118,11 @@ static void unlink_pidfile(void) { if (unlink(pidfile)) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "MaxScale failed to remove pidfile %s: error %d, %s\n", pidfile, errno, - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); } } } @@ -2587,36 +2578,32 @@ static int set_user(const char* user) pwname = getpwnam(user); if (pwname == NULL) { - char errbuf[MXS_STRERROR_BUFLEN]; printf("Error: Failed to retrieve user information for '%s': %d %s\n", - user, errno, errno == 0 ? "User not found" : strerror_r(errno, errbuf, sizeof(errbuf))); + user, errno, errno == 0 ? "User not found" : mxs_strerror(errno)); return -1; } rval = setgid(pwname->pw_gid); if (rval != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; printf("Error: Failed to change group to '%d': %d %s\n", - pwname->pw_gid, errno, strerror_r(errno, errbuf, sizeof(errbuf))); + pwname->pw_gid, errno, mxs_strerror(errno)); return rval; } rval = setuid(pwname->pw_uid); if (rval != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; printf("Error: Failed to change user to '%s': %d %s\n", - pwname->pw_name, errno, strerror_r(errno, errbuf, sizeof(errbuf))); + pwname->pw_name, errno, mxs_strerror(errno)); return rval; } if (prctl(PR_GET_DUMPABLE) == 0) { if (prctl(PR_SET_DUMPABLE , 1) == -1) { - char errbuf[MXS_STRERROR_BUFLEN]; printf("Error: Failed to set dumpable flag on for the process '%s': %d %s\n", - pwname->pw_name, errno, strerror_r(errno, errbuf, sizeof(errbuf))); + pwname->pw_name, errno, mxs_strerror(errno)); return -1; } } @@ -2660,14 +2647,13 @@ static bool change_cwd() if (chdir(get_logdir()) != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to change working directory to '%s': %d, %s. " "Trying to change working directory to '/'.", - get_logdir(), errno, strerror_r(errno, errbuf, sizeof (errbuf))); + get_logdir(), errno, mxs_strerror(errno)); if (chdir("/") != 0) { MXS_ERROR("Failed to change working directory to '/': %d, %s", - errno, strerror_r(errno, errbuf, sizeof (errbuf))); + errno, mxs_strerror(errno)); rval = false; } else @@ -2719,8 +2705,7 @@ static bool daemonize(void) if (pid < 0) { - char errbuf[MXS_STRERROR_BUFLEN]; - fprintf(stderr, "fork() error %s\n", strerror_r(errno, errbuf, sizeof(errbuf))); + fprintf(stderr, "fork() error %s\n", mxs_strerror(errno)); exit(1); } @@ -2732,8 +2717,7 @@ static bool daemonize(void) if (setsid() < 0) { - char errbuf[MXS_STRERROR_BUFLEN]; - fprintf(stderr, "setsid() error %s\n", strerror_r(errno, errbuf, sizeof(errbuf))); + fprintf(stderr, "setsid() error %s\n", mxs_strerror(errno)); exit(1); } return false; diff --git a/server/core/hashtable.c b/server/core/hashtable.c index 1b830eb26..8e583d252 100644 --- a/server/core/hashtable.c +++ b/server/core/hashtable.c @@ -746,9 +746,8 @@ hashtable_save(HASHTABLE *table, const char *filename, } if (write(fd, &rval, sizeof(rval)) == -1) // Write zero counter, will be overrwriten at end { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to write hashtable item count: %d, %s", errno, - strerror_r(errno, err, sizeof(err))); + mxs_strerror(errno)); } if ((iter = hashtable_iterator(table)) != NULL) { @@ -776,9 +775,8 @@ hashtable_save(HASHTABLE *table, const char *filename, { if (write(fd, &rval, sizeof(rval)) == -1) { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to write hashtable item count: %d, %s", errno, - strerror_r(errno, err, sizeof(err))); + mxs_strerror(errno)); } } diff --git a/server/core/listener.c b/server/core/listener.c index 6fdf71eff..7d0d1969c 100644 --- a/server/core/listener.c +++ b/server/core/listener.c @@ -399,9 +399,8 @@ static bool create_listener_config(const SERV_LISTENER *listener, const char *fi if (file == -1) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to open file '%s' when serializing listener '%s': %d, %s", - filename, listener->name, errno, strerror_r(errno, errbuf, sizeof(errbuf))); + filename, listener->name, errno, mxs_strerror(errno)); return false; } @@ -487,9 +486,8 @@ bool listener_serialize(const SERV_LISTENER *listener) if (unlink(filename) == -1 && errno != ENOENT) { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to remove temporary listener configuration at '%s': %d, %s", - filename, errno, strerror_r(errno, err, sizeof(err))); + filename, errno, mxs_strerror(errno)); } else if (create_listener_config(listener, filename)) { @@ -506,9 +504,8 @@ bool listener_serialize(const SERV_LISTENER *listener) } else { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to rename temporary listener configuration at '%s': %d, %s", - filename, errno, strerror_r(errno, err, sizeof(err))); + filename, errno, mxs_strerror(errno)); } } diff --git a/server/core/log_manager.cc b/server/core/log_manager.cc index b106c4fba..da9583749 100644 --- a/server/core/log_manager.cc +++ b/server/core/log_manager.cc @@ -1608,9 +1608,8 @@ static bool logfile_write_header(skygw_file_t* file) if ((header_items != 1) || (line_items != 1)) { - char errbuf[MXS_STRERROR_BUFLEN]; LOG_ERROR("MaxScale Log: Writing header failed due to %d, %s\n", - errno, strerror_r(errno, errbuf, sizeof(errbuf))); + errno, mxs_strerror(errno)); written = false; } @@ -1785,15 +1784,13 @@ static bool check_file_and_path(const char* filename, bool* writable) { if (file_is_symlink(filename)) { - char errbuf[MXS_STRERROR_BUFLEN]; LOG_ERROR("MaxScale Log: Error, Can't access file pointed to by %s due to %d, %s.\n", - filename, errno, strerror_r(errno, errbuf, sizeof(errbuf))); + filename, errno, mxs_strerror(errno)); } else { - char errbuf[MXS_STRERROR_BUFLEN]; LOG_ERROR("MaxScale Log: Error, Can't access %s due to %d, %s.\n", - filename, errno, strerror_r(errno, errbuf, sizeof(errbuf))); + filename, errno, mxs_strerror(errno)); } if (writable) @@ -1890,9 +1887,8 @@ static bool logfile_init(logfile_t* logfile, if (mkdir(dir, S_IRWXU | S_IRWXG) != 0 && (errno != EEXIST)) { - char errbuf[MXS_STRERROR_BUFLEN]; LOG_ERROR("MaxScale Log: Error, creating directory %s failed due to %d, %s.\n", - dir, errno, strerror_r(errno, errbuf, sizeof(errbuf))); + dir, errno, mxs_strerror(errno)); succ = false; goto return_with_succ; @@ -2075,9 +2071,8 @@ static bool logfile_write_footer(skygw_file_t* file, const char* suffix) if ((header_items != 1) || (line_items != 1)) { - char errbuf[MXS_STRERROR_BUFLEN]; LOG_ERROR("MaxScale Log: Writing footer failed due to %d, %s\n", - errno, strerror_r(errno, errbuf, sizeof(errbuf))); + errno, mxs_strerror(errno)); written = false; } @@ -2203,10 +2198,9 @@ static bool thr_flush_file(logmanager_t *lm, filewriter_t *fwr) if (err) { // TODO: Log this to syslog. - char errbuf[MXS_STRERROR_BUFLEN]; LOG_ERROR("MaxScale Log: Error, writing to the log-file %s failed due to %d, %s. " "Disabling writing to the log.\n", - lf->lf_full_file_name, err, strerror_r(err, errbuf, sizeof(errbuf))); + lf->lf_full_file_name, err, mxs_strerror(err)); mxs_log_set_maxlog_enabled(false); } diff --git a/server/core/monitor.c b/server/core/monitor.c index d2d392e03..1b3b8341d 100644 --- a/server/core/monitor.c +++ b/server/core/monitor.c @@ -1276,9 +1276,8 @@ static bool create_monitor_server_config(const MXS_MONITOR *monitor, const char if (file == -1) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to open file '%s' when serializing monitor '%s': %d, %s", - filename, monitor->name, errno, strerror_r(errno, errbuf, sizeof(errbuf))); + filename, monitor->name, errno, mxs_strerror(errno)); return false; } @@ -1315,9 +1314,8 @@ static bool create_monitor_config(const MXS_MONITOR *monitor, const char *filena if (file == -1) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to open file '%s' when serializing monitor '%s': %d, %s", - filename, monitor->name, errno, strerror_r(errno, errbuf, sizeof(errbuf))); + filename, monitor->name, errno, mxs_strerror(errno)); return false; } @@ -1350,9 +1348,8 @@ bool monitor_serialize_servers(const MXS_MONITOR *monitor) if (unlink(filename) == -1 && errno != ENOENT) { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to remove temporary monitor configuration at '%s': %d, %s", - filename, errno, strerror_r(errno, err, sizeof(err))); + filename, errno, mxs_strerror(errno)); } else if (create_monitor_server_config(monitor, filename)) { @@ -1369,9 +1366,8 @@ bool monitor_serialize_servers(const MXS_MONITOR *monitor) } else { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to rename temporary monitor configuration at '%s': %d, %s", - filename, errno, strerror_r(errno, err, sizeof(err))); + filename, errno, mxs_strerror(errno)); } } @@ -1387,9 +1383,8 @@ bool monitor_serialize(const MXS_MONITOR *monitor) if (unlink(filename) == -1 && errno != ENOENT) { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to remove temporary monitor configuration at '%s': %d, %s", - filename, errno, strerror_r(errno, err, sizeof(err))); + filename, errno, mxs_strerror(errno)); } else if (create_monitor_config(monitor, filename)) { @@ -1406,9 +1401,8 @@ bool monitor_serialize(const MXS_MONITOR *monitor) } else { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to rename temporary monitor configuration at '%s': %d, %s", - filename, errno, strerror_r(errno, err, sizeof(err))); + filename, errno, mxs_strerror(errno)); } } diff --git a/server/core/poll.c b/server/core/poll.c index e57b93371..75fee3d27 100644 --- a/server/core/poll.c +++ b/server/core/poll.c @@ -239,9 +239,8 @@ poll_init() { if ((epoll_fd[i] = epoll_create(MAX_EVENTS)) == -1) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("FATAL: Could not create epoll instance: %s", - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); exit(-1); } } @@ -930,13 +929,12 @@ process_pollq(int thread_id, struct epoll_event *event) } else { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_DEBUG("%lu [poll_waitevents] " "EPOLLOUT due %d, %s. " "dcb %p, fd %i", pthread_self(), eno, - strerror_r(eno, errbuf, sizeof(errbuf)), + mxs_strerror(eno), dcb, dcb->fd); } @@ -988,12 +986,11 @@ process_pollq(int thread_id, struct epoll_event *event) int eno = gw_getsockerrno(dcb->fd); if (eno != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_DEBUG("%lu [poll_waitevents] " "EPOLLERR due %d, %s.", pthread_self(), eno, - strerror_r(eno, errbuf, sizeof(errbuf))); + mxs_strerror(eno)); } ts_stats_increment(pollStats.n_error, thread_id); @@ -1006,7 +1003,6 @@ process_pollq(int thread_id, struct epoll_event *event) if (ev & EPOLLHUP) { ss_debug(int eno = gw_getsockerrno(dcb->fd)); - ss_debug(char errbuf[MXS_STRERROR_BUFLEN]); MXS_DEBUG("%lu [poll_waitevents] " "EPOLLHUP on dcb %p, fd %d. " "Errno %d, %s.", @@ -1014,7 +1010,7 @@ process_pollq(int thread_id, struct epoll_event *event) dcb, dcb->fd, eno, - strerror_r(eno, errbuf, sizeof(errbuf))); + mxs_strerror(eno)); ts_stats_increment(pollStats.n_hup, thread_id); if ((dcb->flags & DCBF_HUNG) == 0) { @@ -1031,7 +1027,6 @@ process_pollq(int thread_id, struct epoll_event *event) if (ev & EPOLLRDHUP) { ss_debug(int eno = gw_getsockerrno(dcb->fd)); - ss_debug(char errbuf[MXS_STRERROR_BUFLEN]); MXS_DEBUG("%lu [poll_waitevents] " "EPOLLRDHUP on dcb %p, fd %d. " "Errno %d, %s.", @@ -1039,7 +1034,7 @@ process_pollq(int thread_id, struct epoll_event *event) dcb, dcb->fd, eno, - strerror_r(eno, errbuf, sizeof(errbuf))); + mxs_strerror(eno)); ts_stats_increment(pollStats.n_hup, thread_id); if ((dcb->flags & DCBF_HUNG) == 0) diff --git a/server/core/secrets.c b/server/core/secrets.c index b5e1b23e7..3f75596d0 100644 --- a/server/core/secrets.c +++ b/server/core/secrets.c @@ -93,9 +93,8 @@ secrets_readKeys(const char* path) } else { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("The provided path \"%s\" does not exist or cannot be accessed. " - "Error: %d, %s.", path, errno, strerror_r(errno, errbuf, sizeof(errbuf))); + "Error: %d, %s.", path, errno, mxs_strerror(errno)); return NULL; } @@ -115,22 +114,20 @@ secrets_readKeys(const char* path) { if (!reported) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_NOTICE("Encrypted password file %s can't be accessed " "(%s). Password encryption is not used.", secret_file, - strerror_r(eno, errbuf, sizeof(errbuf))); + mxs_strerror(eno)); reported = 1; } } else { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Access for secrets file " "[%s] failed. Error %d, %s.", secret_file, eno, - strerror_r(eno, errbuf, sizeof(errbuf))); + mxs_strerror(eno)); } return NULL; } @@ -141,12 +138,11 @@ secrets_readKeys(const char* path) { int eno = errno; errno = 0; - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed opening secret " "file [%s]. Error %d, %s.", secret_file, eno, - strerror_r(eno, errbuf, sizeof(errbuf))); + mxs_strerror(eno)); return NULL; } @@ -157,12 +153,11 @@ secrets_readKeys(const char* path) int eno = errno; errno = 0; close(fd); - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("fstat for secret file %s " "failed. Error %d, %s.", secret_file, eno, - strerror_r(eno, errbuf, sizeof(errbuf))); + mxs_strerror(eno)); return NULL; } @@ -171,12 +166,11 @@ secrets_readKeys(const char* path) int eno = errno; errno = 0; close(fd); - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Secrets file %s has " "incorrect size. Error %d, %s.", secret_file, eno, - strerror_r(eno, errbuf, sizeof(errbuf))); + mxs_strerror(eno)); return NULL; } if (secret_stats.st_mode != (S_IRUSR | S_IFREG)) @@ -206,14 +200,13 @@ secrets_readKeys(const char* path) errno = 0; close(fd); MXS_FREE(keys); - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Read from secrets file " "%s failed. Read %ld, expected %d bytes. Error %d, %s.", secret_file, len, (int)sizeof(MAXKEYS), eno, - strerror_r(eno, errbuf, sizeof(errbuf))); + mxs_strerror(eno)); return NULL; } @@ -223,12 +216,11 @@ secrets_readKeys(const char* path) int eno = errno; errno = 0; MXS_FREE(keys); - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed closing the " "secrets file %s. Error %d, %s.", secret_file, eno, - strerror_r(eno, errbuf, sizeof(errbuf))); + mxs_strerror(eno)); return NULL; } ss_dassert(keys != NULL); @@ -271,22 +263,20 @@ int secrets_write_keys(const char *dir) /* Open for writing | Create | Truncate the file for writing */ if ((fd = open(secret_file, O_CREAT | O_WRONLY | O_TRUNC, S_IRUSR)) < 0) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("failed opening secret " "file [%s]. Error %d, %s.", secret_file, errno, - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); return 1; } /* Open for writing | Create | Truncate the file for writing */ if ((randfd = open("/dev/random", O_RDONLY)) < 0) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("failed opening /dev/random. Error %d, %s.", errno, - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); close(fd); return 1; } @@ -306,12 +296,11 @@ int secrets_write_keys(const char *dir) /* Write data */ if (write(fd, &key, sizeof(key)) < 0) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("failed writing into " "secret file [%s]. Error %d, %s.", secret_file, errno, - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); close(fd); return 1; } @@ -319,22 +308,20 @@ int secrets_write_keys(const char *dir) /* close file */ if (close(fd) < 0) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("failed closing the " "secret file [%s]. Error %d, %s.", secret_file, errno, - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); } if (chmod(secret_file, S_IRUSR) < 0) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("failed to change the permissions of the" "secret file [%s]. Error %d, %s.", secret_file, errno, - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); } return 0; diff --git a/server/core/server.c b/server/core/server.c index 9df8ccc6f..7fa5cb5a4 100644 --- a/server/core/server.c +++ b/server/core/server.c @@ -1119,9 +1119,8 @@ static bool create_server_config(const SERVER *server, const char *filename) if (file == -1) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to open file '%s' when serializing server '%s': %d, %s", - filename, server->unique_name, errno, strerror_r(errno, errbuf, sizeof(errbuf))); + filename, server->unique_name, errno, mxs_strerror(errno)); return false; } @@ -1230,9 +1229,8 @@ bool server_serialize(const SERVER *server) if (unlink(filename) == -1 && errno != ENOENT) { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to remove temporary server configuration at '%s': %d, %s", - filename, errno, strerror_r(errno, err, sizeof(err))); + filename, errno, mxs_strerror(errno)); } else if (create_server_config(server, filename)) { @@ -1249,9 +1247,8 @@ bool server_serialize(const SERVER *server) } else { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to rename temporary server configuration at '%s': %d, %s", - filename, errno, strerror_r(errno, err, sizeof(err))); + filename, errno, mxs_strerror(errno)); } } diff --git a/server/core/service.c b/server/core/service.c index 26e1e71a4..df6b2d168 100644 --- a/server/core/service.c +++ b/server/core/service.c @@ -2217,9 +2217,8 @@ static bool create_service_config(const SERVICE *service, const char *filename) if (file == -1) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to open file '%s' when serializing service '%s': %d, %s", - filename, service->name, errno, strerror_r(errno, errbuf, sizeof(errbuf))); + filename, service->name, errno, mxs_strerror(errno)); return false; } @@ -2258,9 +2257,8 @@ bool service_serialize_servers(const SERVICE *service) if (unlink(filename) == -1 && errno != ENOENT) { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to remove temporary service configuration at '%s': %d, %s", - filename, errno, strerror_r(errno, err, sizeof(err))); + filename, errno, mxs_strerror(errno)); } else if (create_service_config(service, filename)) { @@ -2277,9 +2275,8 @@ bool service_serialize_servers(const SERVICE *service) } else { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to rename temporary service configuration at '%s': %d, %s", - filename, errno, strerror_r(errno, err, sizeof(err))); + filename, errno, mxs_strerror(errno)); } } diff --git a/server/core/skygw_utils.cc b/server/core/skygw_utils.cc index 2ac4a429c..87853bb10 100644 --- a/server/core/skygw_utils.cc +++ b/server/core/skygw_utils.cc @@ -56,10 +56,9 @@ int skygw_rwlock_rdlock(skygw_rwlock_t* rwlock) else { rwlock->srw_rwlock_thr = 0; - char errbuf[MXS_STRERROR_BUFLEN]; ss_dfprintf(stderr, "* pthread_rwlock_rdlock : %s\n", - strerror_r(err, errbuf, sizeof (errbuf))); + mxs_strerror(err)); } return err; } @@ -75,10 +74,9 @@ int skygw_rwlock_wrlock(skygw_rwlock_t* rwlock) else { rwlock->srw_rwlock_thr = 0; - char errbuf[MXS_STRERROR_BUFLEN]; ss_dfprintf(stderr, "* pthread_rwlock_wrlock : %s\n", - strerror_r(err, errbuf, sizeof (errbuf))); + mxs_strerror(err)); } return err; } @@ -93,9 +91,8 @@ int skygw_rwlock_unlock(skygw_rwlock_t* rwlock) } else { - char errbuf[MXS_STRERROR_BUFLEN]; ss_dfprintf(stderr, "* pthread_rwlock_unlock : %s\n", - strerror_r(err, errbuf, sizeof (errbuf))); + mxs_strerror(err)); } return err; } @@ -106,9 +103,8 @@ int skygw_rwlock_destroy(skygw_rwlock_t* rwlock) /** Lock */ if ((err = pthread_rwlock_wrlock(rwlock->srw_rwlock)) != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Error : pthread_rwlock_wrlock failed due to %d, %s.\n", - err, strerror_r(err, errbuf, sizeof (errbuf))); + err, mxs_strerror(err)); goto retblock; } /** Clean the struct */ @@ -118,9 +114,8 @@ int skygw_rwlock_destroy(skygw_rwlock_t* rwlock) /** Destroy */ if ((err = pthread_rwlock_destroy(rwlock->srw_rwlock)) != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Error : pthread_rwlock_destroy failed due to %d,%s\n", - err, strerror_r(err, errbuf, sizeof (errbuf))); + err, mxs_strerror(err)); } else { @@ -150,9 +145,8 @@ int skygw_rwlock_init(skygw_rwlock_t** rwlock) if (err != 0) { free(rwl); - char errbuf[MXS_STRERROR_BUFLEN]; ss_dfprintf(stderr, "* Creating pthread_rwlock failed : %s\n", - strerror_r(err, errbuf, sizeof (errbuf))); + mxs_strerror(err)); goto return_err; } *rwlock = rwl; @@ -348,9 +342,8 @@ int skygw_thread_start(skygw_thread_t* thr) if (err != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Starting file writer thread failed due error, %d, %s\n", - err, strerror_r(errno, errbuf, sizeof (errbuf))); + err, mxs_strerror(errno)); goto return_err; } @@ -524,9 +517,8 @@ simple_mutex_t* simple_mutex_init(simple_mutex_t* mutexptr, const char* name) if (err != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Initializing simple mutex %s failed due error %d, %s\n", - name, err, strerror_r(errno, errbuf, sizeof (errbuf))); + name, err, mxs_strerror(errno)); perror("simple_mutex : "); /** Write zeroes if flat, free otherwise. */ @@ -564,9 +556,8 @@ int simple_mutex_done(simple_mutex_t* sm) if (err != 0) { perror("simple_mutex : "); - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Destroying simple mutex %s failed due %d, %s\n", - sm->sm_name, err, strerror_r(errno, errbuf, sizeof (errbuf))); + sm->sm_name, err, mxs_strerror(errno)); goto return_err; } #endif @@ -611,9 +602,8 @@ int simple_mutex_lock(simple_mutex_t* sm, bool block) if (err != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Locking simple mutex %s failed due error, %d, %s\n", - sm->sm_name, err, strerror_r(errno, errbuf, sizeof (errbuf))); + sm->sm_name, err, mxs_strerror(errno)); perror("simple_mutex : "); } else @@ -640,9 +630,8 @@ int simple_mutex_unlock(simple_mutex_t* sm) if (err != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Unlocking simple mutex %s failed due error %d, %s\n", - sm->sm_name, err, strerror_r(errno, errbuf, sizeof (errbuf))); + sm->sm_name, err, mxs_strerror(errno)); perror("simple_mutex : "); } else @@ -674,9 +663,8 @@ skygw_message_t* skygw_message_init(void) if (err != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Initializing pthread mutex failed due error %d, %s\n", - err, strerror_r(errno, errbuf, sizeof (errbuf))); + err, mxs_strerror(errno)); free(mes); mes = NULL; goto return_mes; @@ -685,9 +673,8 @@ skygw_message_t* skygw_message_init(void) if (err != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Initializing pthread cond var failed, due error %d, %s\n", - err, strerror_r(errno, errbuf, sizeof (errbuf))); + err, mxs_strerror(errno)); pthread_mutex_destroy(&mes->mes_mutex); free(mes); mes = NULL; @@ -714,18 +701,16 @@ void skygw_message_done(skygw_message_t* mes) if (err != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Destroying cond var failed due error %d, %s\n", - err, strerror_r(errno, errbuf, sizeof (errbuf))); + err, mxs_strerror(errno)); } ss_dassert(err == 0); err = pthread_mutex_destroy(&(mes->mes_mutex)); if (err != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Destroying pthread mutex failed, due error %d, %s\n", - err, strerror_r(errno, errbuf, sizeof (errbuf))); + err, mxs_strerror(errno)); } ss_dassert(err == 0); free(mes); @@ -741,9 +726,8 @@ skygw_mes_rc_t skygw_message_send(skygw_message_t* mes) if (err != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Locking pthread mutex failed, due to error %d, %s\n", - err, strerror_r(errno, errbuf, sizeof (errbuf))); + err, mxs_strerror(errno)); goto return_mes_rc; } mes->mes_sent = true; @@ -755,17 +739,15 @@ skygw_mes_rc_t skygw_message_send(skygw_message_t* mes) } else { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Signaling pthread cond var failed, due to error %d, %s\n", - err, strerror_r(errno, errbuf, sizeof (errbuf))); + err, mxs_strerror(errno)); } err = pthread_mutex_unlock(&(mes->mes_mutex)); if (err != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Unlocking pthread mutex failed, due to error %d, %s\n", - err, strerror_r(errno, errbuf, sizeof (errbuf))); + err, mxs_strerror(errno)); } return_mes_rc: @@ -781,9 +763,8 @@ void skygw_message_wait(skygw_message_t* mes) if (err != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Locking pthread mutex failed, due error %d, %s\n", - err, strerror_r(errno, errbuf, sizeof (errbuf))); + err, mxs_strerror(errno)); } ss_dassert(err == 0); @@ -793,9 +774,8 @@ void skygw_message_wait(skygw_message_t* mes) if (err != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Locking pthread cond wait failed, due error %d, %s\n", - err, strerror_r(errno, errbuf, sizeof (errbuf))); + err, mxs_strerror(errno)); } } mes->mes_sent = false; @@ -803,9 +783,8 @@ void skygw_message_wait(skygw_message_t* mes) if (err != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Unlocking pthread mutex failed, due error %d, %s\n", - err, strerror_r(errno, errbuf, sizeof (errbuf))); + err, mxs_strerror(errno)); } ss_dassert(err == 0); } @@ -819,9 +798,8 @@ void skygw_message_reset(skygw_message_t* mes) if (err != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Locking pthread mutex failed, due error %d, %s\n", - err, strerror_r(errno, errbuf, sizeof (errbuf))); + err, mxs_strerror(errno)); goto return_mes_rc; } ss_dassert(err == 0); @@ -830,9 +808,8 @@ void skygw_message_reset(skygw_message_t* mes) if (err != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Unlocking pthread mutex failed, due error %d, %s\n", - err, strerror_r(errno, errbuf, sizeof (errbuf))); + err, mxs_strerror(errno)); goto return_mes_rc; } return_mes_rc: @@ -932,9 +909,8 @@ skygw_file_t* skygw_file_init(const char* fname, { int eno = errno; errno = 0; - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Opening file %s failed due %d, %s.\n", - file->sf_fname, eno, strerror_r(eno, errbuf, sizeof (errbuf))); + file->sf_fname, eno, mxs_strerror(eno)); free(file); file = NULL; goto return_file; @@ -956,9 +932,8 @@ skygw_file_t* skygw_file_init(const char* fname, { int eno = errno; errno = 0; - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "failed to create symlink %s -> %s due %d, %s. Exiting.", - fname, symlinkname, eno, strerror_r(eno, errbuf, sizeof (errbuf))); + fname, symlinkname, eno, mxs_strerror(eno)); free(file); file = NULL; goto return_file; @@ -992,9 +967,8 @@ void skygw_file_close(skygw_file_t* file) if ((err = fclose(file->sf_file)) != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "* Closing file %s failed due to %d, %s.\n", - file->sf_fname, errno, strerror_r(errno, errbuf, sizeof (errbuf))); + file->sf_fname, errno, mxs_strerror(errno)); } else { diff --git a/server/core/utils.c b/server/core/utils.c index 1c60ca56c..400e50cbd 100644 --- a/server/core/utils.c +++ b/server/core/utils.c @@ -102,21 +102,19 @@ int setnonblocking(int fd) if ((fl = fcntl(fd, F_GETFL, 0)) == -1) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Can't GET fcntl for %i, errno = %d, %s.", fd, errno, - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); return 1; } if (fcntl(fd, F_SETFL, fl | O_NONBLOCK) == -1) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Can't SET fcntl for %i, errno = %d, %s", fd, errno, - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); return 1; } return 0; @@ -391,18 +389,16 @@ static bool mkdir_all_internal(char *path, mode_t mask) } else { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to create directory '%s': %d, %s", - path, errno, strerror_r(errno, err, sizeof(err))); + path, errno, mxs_strerror(errno)); } } } } else { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to create directory '%s': %d, %s", - path, errno, strerror_r(errno, err, sizeof(err))); + path, errno, mxs_strerror(errno)); } } else @@ -711,9 +707,8 @@ char* replace_literal(char* haystack, const char* needle, const char* replacemen if (search_re == NULL) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "Regex memory allocation failed : %s\n", - strerror_r(errno, errbuf, sizeof (errbuf))); + mxs_strerror(errno)); newstr = haystack; goto retblock; } @@ -724,9 +719,8 @@ char* replace_literal(char* haystack, const char* needle, const char* replacemen if (newstr == NULL) { - char errbuf[MXS_STRERROR_BUFLEN]; fprintf(stderr, "Regex memory allocation failed : %s\n", - strerror_r(errno, errbuf, sizeof (errbuf))); + mxs_strerror(errno)); free(search_re); free(newstr); newstr = haystack; diff --git a/server/modules/authenticator/CDCPlainAuth/cdc_plain_auth.c b/server/modules/authenticator/CDCPlainAuth/cdc_plain_auth.c index 327062fb5..8f266853c 100644 --- a/server/modules/authenticator/CDCPlainAuth/cdc_plain_auth.c +++ b/server/modules/authenticator/CDCPlainAuth/cdc_plain_auth.c @@ -114,8 +114,7 @@ static bool cdc_add_new_user(const MODULECMD_ARG *args) } else { - char err[MXS_STRERROR_BUFLEN]; - char *real_err = strerror_r(errno, err, sizeof(err)); + const char *real_err = mxs_strerror(errno); MXS_NOTICE("Failed to write to file '%s': %s", path, real_err); modulecmd_set_error("Failed to write to file '%s': %s", path, real_err); } @@ -124,8 +123,7 @@ static bool cdc_add_new_user(const MODULECMD_ARG *args) } else { - char err[MXS_STRERROR_BUFLEN]; - char *real_err = strerror_r(errno, err, sizeof(err)); + const char *real_err = mxs_strerror(errno); MXS_NOTICE("Failed to open file '%s': %s", path, real_err); modulecmd_set_error("Failed to open file '%s': %s", path, real_err); } diff --git a/server/modules/filter/cache/rules.cc b/server/modules/filter/cache/rules.cc index a9925476a..d8356132b 100644 --- a/server/modules/filter/cache/rules.cc +++ b/server/modules/filter/cache/rules.cc @@ -231,10 +231,8 @@ CACHE_RULES *cache_rules_load(const char *path, uint32_t debug) } else { - char errbuf[MXS_STRERROR_BUFLEN]; - MXS_ERROR("Could not open rules file %s for reading: %s", - path, strerror_r(errno, errbuf, sizeof(errbuf))); + path, mxs_strerror(errno)); } return rules; diff --git a/server/modules/filter/cache/storage/storage_rocksdb/rocksdbstorage.cc b/server/modules/filter/cache/storage/storage_rocksdb/rocksdbstorage.cc index 4ae20f84d..3fb8fc61b 100644 --- a/server/modules/filter/cache/storage/storage_rocksdb/rocksdbstorage.cc +++ b/server/modules/filter/cache/storage/storage_rocksdb/rocksdbstorage.cc @@ -70,8 +70,7 @@ bool deletePath(const string& path) } else { - char errbuf[MXS_STRERROR_BUFLEN]; - MXS_ERROR("Could not stat: %s", strerror_r(errno, errbuf, sizeof(errbuf))); + MXS_ERROR("Could not stat: %s", mxs_strerror(errno)); } } else @@ -98,10 +97,9 @@ bool deletePath(const string& path) case FTS_DNR: case FTS_ERR: { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Error while traversing %s: %s", pCurrent->fts_accpath, - strerror_r(pCurrent->fts_errno, errbuf, sizeof(errbuf))); + mxs_strerror(pCurrent->fts_errno)); rv = false; } break; @@ -125,11 +123,10 @@ bool deletePath(const string& path) case FTS_DEFAULT: if (remove(pCurrent->fts_accpath) < 0) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Could not remove '%s', the cache directory may need to " "be deleted manually: %s", pCurrent->fts_accpath, - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); rv = false; } break; @@ -261,10 +258,9 @@ RocksDBStorage* RocksDBStorage::Create(const char* zName, } else if (errno != EEXIST) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to create storage directory %s: %s", storageDirectory.c_str(), - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); ok = false; } diff --git a/server/modules/filter/dbfwfilter/dbfwfilter.c b/server/modules/filter/dbfwfilter/dbfwfilter.c index c16bf4ed1..3d6102879 100644 --- a/server/modules/filter/dbfwfilter/dbfwfilter.c +++ b/server/modules/filter/dbfwfilter/dbfwfilter.c @@ -734,9 +734,8 @@ bool dbfw_reload_rules(const MODULECMD_ARG *argv) } else { - char err[MXS_STRERROR_BUFLEN]; modulecmd_set_error("Failed to read rules at '%s': %d, %s", filename, - errno, strerror_r(errno, err, sizeof(err))); + errno, mxs_strerror(errno)); rval = false; } @@ -1483,9 +1482,8 @@ static bool process_rule_file(const char* filename, RULE** rules, HASHTABLE **us } else { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to open rule file '%s': %d, %s", filename, errno, - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); } diff --git a/server/modules/filter/masking/maskingrules.cc b/server/modules/filter/masking/maskingrules.cc index 77c8881ae..6c220e600 100644 --- a/server/modules/filter/masking/maskingrules.cc +++ b/server/modules/filter/masking/maskingrules.cc @@ -783,10 +783,8 @@ auto_ptr MaskingRules::load(const char* zPath) } else { - char errbuf[MXS_STRERROR_BUFLEN]; - MXS_ERROR("Could not open rules file %s for reading: %s", - zPath, strerror_r(errno, errbuf, sizeof(errbuf))); + zPath, mxs_strerror(errno)); } return sRules; diff --git a/server/modules/filter/qlafilter/qlafilter.c b/server/modules/filter/qlafilter/qlafilter.c index 463b8459d..b8a92e2a4 100644 --- a/server/modules/filter/qlafilter/qlafilter.c +++ b/server/modules/filter/qlafilter/qlafilter.c @@ -327,11 +327,10 @@ createInstance(const char *name, char **options, MXS_CONFIG_PARAMETER *params) if (my_instance->unified_fp == NULL) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Opening output file for qla " "filter failed due to %d, %s", errno, - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); error = true; } MXS_FREE(filename); @@ -427,11 +426,10 @@ newSession(MXS_FILTER *instance, MXS_SESSION *session) if (my_session->fp == NULL) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Opening output file for qla " "filter failed due to %d, %s", errno, - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); MXS_FREE(my_session->filename); MXS_FREE(my_session); my_session = NULL; diff --git a/server/modules/protocol/MySQL/MySQLBackend/mysql_backend.c b/server/modules/protocol/MySQL/MySQLBackend/mysql_backend.c index 6080ae7cc..f2414859a 100644 --- a/server/modules/protocol/MySQL/MySQLBackend/mysql_backend.c +++ b/server/modules/protocol/MySQL/MySQLBackend/mysql_backend.c @@ -1119,16 +1119,15 @@ static int gw_error_backend_event(DCB *dcb) if (getsockopt(dcb->fd, SOL_SOCKET, SO_ERROR, &error, (socklen_t *) & len) == 0 && error != 0) { - char errstring[MXS_STRERROR_BUFLEN]; if (dcb->state != DCB_STATE_POLLING) { MXS_ERROR("DCB in state %s got error '%s'.", STRDCBSTATE(dcb->state), - strerror_r(error, errstring, sizeof(errstring))); + mxs_strerror(errno)); } else { MXS_ERROR("Error '%s' in session that is not ready for routing.", - strerror_r(error, errstring, sizeof(errstring))); + mxs_strerror(errno)); } } } @@ -1168,10 +1167,9 @@ static int gw_backend_hangup(DCB *dcb) { if (error != 0 && session->state != SESSION_STATE_STOPPING) { - char errstring[MXS_STRERROR_BUFLEN]; MXS_ERROR("Hangup in session that is not ready for routing, " "Error reported is '%s'.", - strerror_r(error, errstring, sizeof(errstring))); + mxs_strerror(errno)); } } } diff --git a/server/modules/protocol/maxscaled/maxscaled.c b/server/modules/protocol/maxscaled/maxscaled.c index 895ab00df..28914a7bc 100644 --- a/server/modules/protocol/maxscaled/maxscaled.c +++ b/server/modules/protocol/maxscaled/maxscaled.c @@ -150,10 +150,8 @@ static bool authenticate_socket(MAXSCALED *protocol, DCB *dcb) } else { - char errbuf[MXS_STRERROR_BUFLEN]; - MXS_ERROR("Could not get socket family of client connection: %s", - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); } return authenticated; diff --git a/server/modules/routing/avrorouter/avro.c b/server/modules/routing/avrorouter/avro.c index 33899c51b..86ba44c52 100644 --- a/server/modules/routing/avrorouter/avro.c +++ b/server/modules/routing/avrorouter/avro.c @@ -1129,7 +1129,6 @@ static bool ensure_dir_ok(const char* path, int mode) if (path) { - char err[MXS_STRERROR_BUFLEN]; char resolved[PATH_MAX + 1]; const char *rp = realpath(path, resolved); @@ -1150,19 +1149,19 @@ static bool ensure_dir_ok(const char* path, int mode) else { MXS_ERROR("Failed to access directory '%s': %d, %s", rp, - errno, strerror_r(errno, err, sizeof(err))); + errno, mxs_strerror(errno)); } } else { MXS_ERROR("Failed to create directory '%s': %d, %s", rp, - errno, strerror_r(errno, err, sizeof(err))); + errno, mxs_strerror(errno)); } } else { MXS_ERROR("Failed to resolve real path name for '%s': %d, %s", path, - errno, strerror_r(errno, err, sizeof(err))); + errno, mxs_strerror(errno)); } } diff --git a/server/modules/routing/avrorouter/avro_client.c b/server/modules/routing/avrorouter/avro_client.c index 6bdc8490e..9f8fca5ac 100644 --- a/server/modules/routing/avrorouter/avro_client.c +++ b/server/modules/routing/avrorouter/avro_client.c @@ -868,9 +868,8 @@ GWBUF* read_avro_json_schema(const char *avrofile, const char* dir) } else { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to open file '%s': %d, %s", buffer, errno, - strerror_r(errno, err, sizeof(err))); + mxs_strerror(errno)); } } return rval; diff --git a/server/modules/routing/avrorouter/avro_file.c b/server/modules/routing/avrorouter/avro_file.c index df94e53b5..3091eed83 100644 --- a/server/modules/routing/avrorouter/avro_file.c +++ b/server/modules/routing/avrorouter/avro_file.c @@ -70,9 +70,8 @@ bool avro_open_binlog(const char *binlogdir, const char *file, int *dest) { if (errno != ENOENT) { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to open binlog file %s: %d, %s", path, errno, - strerror_r(errno, err, sizeof(err))); + mxs_strerror(errno)); } return false; } @@ -166,7 +165,6 @@ bool avro_save_conversion_state(AVRO_INSTANCE *router) { FILE *config_file; char filename[PATH_MAX + 1]; - char err_msg[MXS_STRERROR_BUFLEN]; snprintf(filename, sizeof(filename), "%s/"AVRO_PROGRESS_FILE".tmp", router->avrodir); @@ -176,7 +174,7 @@ bool avro_save_conversion_state(AVRO_INSTANCE *router) if (config_file == NULL) { MXS_ERROR("Failed to open file '%s': %d, %s", filename, - errno, strerror_r(errno, err_msg, sizeof(err_msg))); + errno, mxs_strerror(errno)); return false; } @@ -195,7 +193,7 @@ bool avro_save_conversion_state(AVRO_INSTANCE *router) if (rc == -1) { MXS_ERROR("Failed to rename file '%s' to '%s': %d, %s", filename, newname, - errno, strerror_r(errno, err_msg, sizeof(err_msg))); + errno, mxs_strerror(errno)); return false; } @@ -425,11 +423,10 @@ static GWBUF* read_event_data(AVRO_INSTANCE *router, REP_HEADER* hdr, uint64_t p { if (n == -1) { - char err_msg[MXS_STRERROR_BUFLEN]; MXS_ERROR("Error reading the event at %lu in %s. " "%s, expected %d bytes.", pos, router->binlog_name, - strerror_r(errno, err_msg, sizeof(err_msg)), + mxs_strerror(errno), hdr->event_size - BINLOG_EVENT_HDR_LEN); } else @@ -519,10 +516,9 @@ avro_binlog_end_t avro_read_all_events(AVRO_INSTANCE *router) break; case -1: { - char err_msg[BLRM_STRERROR_R_MSG_SIZE + 1] = ""; MXS_ERROR("Failed to read binlog file %s at position %llu (%s).", router->binlog_name, pos, - strerror_r(errno, err_msg, sizeof(err_msg))); + mxs_strerror(errno)); if (errno == EBADF) MXS_ERROR("Bad file descriptor in read binlog for file %s" diff --git a/server/modules/routing/binlogrouter/blr.c b/server/modules/routing/binlogrouter/blr.c index 53c933d58..a3d229a9b 100644 --- a/server/modules/routing/binlogrouter/blr.c +++ b/server/modules/routing/binlogrouter/blr.c @@ -653,12 +653,11 @@ createInstance(SERVICE *service, char **options) mkdir_rval = mkdir(inst->binlogdir, 0700); if (mkdir_rval == -1) { - char err_msg[MXS_STRERROR_BUFLEN]; MXS_ERROR("Service %s, Failed to create binlog directory '%s': [%d] %s", service->name, inst->binlogdir, errno, - strerror_r(errno, err_msg, sizeof(err_msg))); + mxs_strerror(errno)); free_instance(inst); return NULL; @@ -1788,8 +1787,7 @@ errorReply(MXS_ROUTER *instance, getsockopt(router->master->fd, SOL_SOCKET, SO_ERROR, &error, &len) == 0 && error != 0) { - char errbuf[MXS_STRERROR_BUFLEN]; - sprintf(msg, "%s ", strerror_r(error, errbuf, sizeof(errbuf))); + sprintf(msg, "%s ", mxs_strerror(error)); } else { @@ -2622,10 +2620,9 @@ int blr_parse_key_file(ROUTER_INSTANCE *router) if (!file) { - char errbuf[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to open KEY file '%s': %s", router->encryption.key_management_filename, - strerror_r(errno, errbuf, sizeof(errbuf))); + mxs_strerror(errno)); return -1; } diff --git a/server/modules/routing/binlogrouter/blr_file.c b/server/modules/routing/binlogrouter/blr_file.c index 35a8bf077..89527a4c8 100644 --- a/server/modules/routing/binlogrouter/blr_file.c +++ b/server/modules/routing/binlogrouter/blr_file.c @@ -307,10 +307,9 @@ blr_file_init(ROUTER_INSTANCE *router) root_len = strlen(router->fileroot); if ((dirp = opendir(path)) == NULL) { - char err_msg[BLRM_STRERROR_R_MSG_SIZE]; MXS_ERROR("%s: Unable to read the binlog directory %s, %s.", router->service->name, router->binlogdir, - strerror_r(errno, err_msg, sizeof(err_msg))); + mxs_strerror(errno)); return 0; } while ((dp = readdir(dirp)) != NULL) @@ -433,20 +432,20 @@ blr_file_create(ROUTER_INSTANCE *router, char *file) else { MXS_ERROR("%s: Failed to write magic string to created binlog file %s, %s.", - router->service->name, path, strerror_r(errno, err_msg, sizeof(err_msg))); + router->service->name, path, mxs_strerror(errno)); close(fd); if (!unlink(path)) { MXS_ERROR("%s: Failed to delete file %s, %s.", - router->service->name, path, strerror_r(errno, err_msg, sizeof(err_msg))); + router->service->name, path, mxs_strerror(errno)); } } } else { MXS_ERROR("%s: Failed to create binlog file %s, %s.", - router->service->name, path, strerror_r(errno, err_msg, sizeof(err_msg))); + router->service->name, path, mxs_strerror(errno)); } return created; @@ -577,19 +576,18 @@ blr_write_binlog_record(ROUTER_INSTANCE *router, REP_HEADER *hdr, uint32_t size, /* Check write operation result*/ if (n != size) { - char err_msg[MXS_STRERROR_BUFLEN]; MXS_ERROR("%s: Failed to write binlog record at %lu of %s, %s. " "Truncating to previous record.", router->service->name, router->binlog_position, router->binlog_name, - strerror_r(errno, err_msg, sizeof(err_msg))); + mxs_strerror(errno)); /* Remove any partial event that was written */ if (ftruncate(router->binlog_fd, router->binlog_position)) { MXS_ERROR("%s: Failed to truncate binlog record at %lu of %s, %s. ", router->service->name, router->binlog_position, router->binlog_name, - strerror_r(errno, err_msg, sizeof(err_msg))); + mxs_strerror(errno)); } return 0; } @@ -836,9 +834,8 @@ blr_read_binlog(ROUTER_INSTANCE *router, break; case -1: { - char err_msg[MXS_STRERROR_BUFLEN]; snprintf(errmsg, BINLOG_ERROR_MSG_LEN, "Failed to read binlog file '%s'; (%s), event at %lu", - file->binlogname, strerror_r(errno, err_msg, sizeof(err_msg)), pos); + file->binlogname, mxs_strerror(errno), pos); if (errno == EBADF) { @@ -899,10 +896,9 @@ blr_read_binlog(ROUTER_INSTANCE *router, break; case -1: { - char err_msg[MXS_STRERROR_BUFLEN]; snprintf(errmsg, BINLOG_ERROR_MSG_LEN, "Failed to reread header in binlog file '%s'; (%s), event at %lu", - file->binlogname, strerror_r(errno, err_msg, sizeof(err_msg)), pos); + file->binlogname, mxs_strerror(errno), pos); if (errno == EBADF) { @@ -983,13 +979,12 @@ blr_read_binlog(ROUTER_INSTANCE *router, if (n == -1) { - char err_msg[MXS_STRERROR_BUFLEN]; snprintf(errmsg, BINLOG_ERROR_MSG_LEN, "Error reading the binlog event at %lu in binlog file '%s';" "(%s), expected %d bytes.", pos, file->binlogname, - strerror_r(errno, err_msg, sizeof(err_msg)), + mxs_strerror(errno), hdr->event_size - BINLOG_EVENT_HDR_LEN); } else @@ -1199,9 +1194,8 @@ blr_cache_response(ROUTER_INSTANCE *router, char *response, GWBUF *buf) } if (write(fd, GWBUF_DATA(buf), GWBUF_LENGTH(buf)) == -1) { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to write cached response: %d, %s", - errno, strerror_r(errno, err, sizeof(err))); + errno, mxs_strerror(errno)); } close(fd); @@ -1257,9 +1251,8 @@ blr_cache_read_response(ROUTER_INSTANCE *router, char *response) } if (read(fd, GWBUF_DATA(buf), statb.st_size) == -1) { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to read cached response: %d, %s", - errno, strerror_r(errno, err, sizeof(err))); + errno, mxs_strerror(errno)); } close(fd); return buf; @@ -1438,10 +1431,9 @@ blr_read_events_all_events(ROUTER_INSTANCE *router, break; case -1: { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to read binlog file %s at position %llu" " (%s).", router->binlog_name, pos, - strerror_r(errno, err, sizeof(err))); + mxs_strerror(errno)); if (errno == EBADF) { @@ -1657,11 +1649,10 @@ blr_read_events_all_events(ROUTER_INSTANCE *router, { if (n == -1) { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Error reading the event at %llu in %s. " "%s, expected %d bytes.", pos, router->binlog_name, - strerror_r(errno, err, sizeof(err)), + mxs_strerror(errno), hdr.event_size - BINLOG_EVENT_HDR_LEN); } else @@ -2443,7 +2434,6 @@ blr_file_write_master_config(ROUTER_INSTANCE *router, char *error) char filename[len + sizeof('/') + sizeof(MASTER_INI)]; // sizeof includes NULL char tmp_file[len + sizeof('/') + sizeof(MASTER_INI) + sizeof('.') + sizeof(TMP)]; - char err_msg[MXS_STRERROR_BUFLEN]; char *ssl_ca; char *ssl_cert; char *ssl_key; @@ -2457,7 +2447,7 @@ blr_file_write_master_config(ROUTER_INSTANCE *router, char *error) if (config_file == NULL) { snprintf(error, BINLOG_ERROR_MSG_LEN, "%s, errno %u", - strerror_r(errno, err_msg, sizeof(err_msg)), errno); + mxs_strerror(errno), errno); return 2; } @@ -2465,7 +2455,7 @@ blr_file_write_master_config(ROUTER_INSTANCE *router, char *error) { fclose(config_file); snprintf(error, BINLOG_ERROR_MSG_LEN, "%s, errno %u", - strerror_r(errno, err_msg, sizeof(err_msg)), errno); + mxs_strerror(errno), errno); return 2; } @@ -2517,14 +2507,14 @@ blr_file_write_master_config(ROUTER_INSTANCE *router, char *error) if (rc == -1) { snprintf(error, BINLOG_ERROR_MSG_LEN, "%s, errno %u", - strerror_r(errno, err_msg, sizeof(err_msg)), errno); + mxs_strerror(errno), errno); return 3; } if (chmod(filename, S_IRUSR | S_IWUSR) < 0) { snprintf(error, BINLOG_ERROR_MSG_LEN, "%s, errno %u", - strerror_r(errno, err_msg, sizeof(err_msg)), errno); + mxs_strerror(errno), errno); return 3; } @@ -2724,12 +2714,11 @@ blr_write_special_event(ROUTER_INSTANCE *router, uint32_t file_offset, uint32_t /* Write the event */ if ((n = pwrite(router->binlog_fd, new_event, event_size, router->last_written)) != event_size) { - char err_msg[MXS_STRERROR_BUFLEN]; MXS_ERROR("%s: Failed to write %s special binlog record at %lu of %s, %s. " "Truncating to previous record.", router->service->name, new_event_desc, (unsigned long)file_offset, router->binlog_name, - strerror_r(errno, err_msg, sizeof(err_msg))); + mxs_strerror(errno)); /* Remove any partial event that was written */ if (ftruncate(router->binlog_fd, router->binlog_position)) @@ -2737,7 +2726,7 @@ blr_write_special_event(ROUTER_INSTANCE *router, uint32_t file_offset, uint32_t MXS_ERROR("%s: Failed to truncate %s special binlog record at %lu of %s, %s. ", router->service->name, new_event_desc, (unsigned long)file_offset, router->binlog_name, - strerror_r(errno, err_msg, sizeof(err_msg))); + mxs_strerror(errno)); } MXS_FREE(new_event); return 0; diff --git a/server/modules/routing/binlogrouter/blr_master.c b/server/modules/routing/binlogrouter/blr_master.c index 0b5599ec5..fff85b4f3 100644 --- a/server/modules/routing/binlogrouter/blr_master.c +++ b/server/modules/routing/binlogrouter/blr_master.c @@ -2015,11 +2015,10 @@ GWBUF break; case -1: { - char err_msg[MXS_STRERROR_BUFLEN]; MXS_ERROR("Reading saved events: failed to read binlog " "file %s at position %llu" " (%s).", router->binlog_name, - pos, strerror_r(errno, err_msg, sizeof(err_msg))); + pos, mxs_strerror(errno)); if (errno == EBADF) { @@ -2075,11 +2074,10 @@ GWBUF { if (n == -1) { - char err_msg[MXS_STRERROR_BUFLEN]; MXS_ERROR("Reading saved events: the event at %llu in %s. " "%s, expected %d bytes.", pos, router->binlog_name, - strerror_r(errno, err_msg, sizeof(err_msg)), hdr->event_size - 19); + mxs_strerror(errno), hdr->event_size - 19); } else { @@ -2327,12 +2325,11 @@ blr_write_data_into_binlog(ROUTER_INSTANCE *router, uint32_t data_len, uint8_t * if ((n = pwrite(router->binlog_fd, buf, data_len, router->last_written)) != data_len) { - char err_msg[MXS_STRERROR_BUFLEN]; MXS_ERROR("%s: Failed to write binlog record at %lu of %s, %s. " "Truncating to previous record.", router->service->name, router->binlog_position, router->binlog_name, - strerror_r(errno, err_msg, sizeof(err_msg))); + mxs_strerror(errno)); /* Remove any partial event that was written */ if (ftruncate(router->binlog_fd, router->binlog_position)) @@ -2340,7 +2337,7 @@ blr_write_data_into_binlog(ROUTER_INSTANCE *router, uint32_t data_len, uint8_t * MXS_ERROR("%s: Failed to truncate binlog record at %lu of %s, %s. ", router->service->name, router->last_written, router->binlog_name, - strerror_r(errno, err_msg, sizeof(err_msg))); + mxs_strerror(errno)); } return 0; } diff --git a/server/modules/routing/binlogrouter/blr_slave.c b/server/modules/routing/binlogrouter/blr_slave.c index 342c4a482..86bd857e2 100644 --- a/server/modules/routing/binlogrouter/blr_slave.c +++ b/server/modules/routing/binlogrouter/blr_slave.c @@ -1008,10 +1008,9 @@ blr_slave_query(ROUTER_INSTANCE *router, ROUTER_SLAVE *slave, GWBUF *queue) if (removed_cfg == -1) { - char err_msg[MXS_STRERROR_BUFLEN]; snprintf(error_string, BINLOG_ERROR_MSG_LEN, "Error removing %s, %s, errno %u", path, - strerror_r(errno, err_msg, sizeof(err_msg)), errno); + mxs_strerror(errno), errno); MXS_ERROR("%s: %s", router->service->name, error_string); } @@ -3677,9 +3676,8 @@ blr_start_slave(ROUTER_INSTANCE* router, ROUTER_SLAVE* slave) /* Truncate previous binlog file to last_safe pos */ if (truncate(file, router->last_safe_pos) == -1) { - char err[MXS_STRERROR_BUFLEN]; MXS_ERROR("Failed to truncate file: %d, %s", - errno, strerror_r(errno, err, sizeof(err))); + errno, mxs_strerror(errno)); } /* Log it */