/*
- * Copyright (C) 2005-2007 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2008 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
{
struct addrinfo *local = NULL, *src,
*remote = NULL, *dst, hints;
- char *port = make_message("%u", port_number);
int rc, on = 1, sockfd = -1,
socktype = sock_type(l4type);
+ char port[6]; /* port number has at most 5 digits */
+ sprintf(port, "%u", port_number);
/* Set up address hint structure */
memset(&hints, 0, sizeof(hints));
hints.ai_family = l3type;
if ((rc = getaddrinfo(host, port, &hints, passive ? &local : &remote))) {
PARA_ERROR_LOG("can not resolve %s address %s#%s: %s.\n",
layer4_name(l4type),
- host? : (passive? "[loopback]" : "[localhost]"),
+ host? host : (passive? "[loopback]" : "[localhost]"),
port, gai_strerror(rc));
return -E_ADDRESS_LOOKUP;
}
if (src == NULL && dst == NULL) {
PARA_ERROR_LOG("can not create %s socket %s#%s.\n",
- layer4_name(l4type), host? : (passive?
+ layer4_name(l4type), host? host : (passive?
"[loopback]" : "[localhost]"), port);
return -ERRNO_TO_PARA_ERROR(errno);
}
assert(total);
*len = 0;
while (*len < total) {
- int ret = send(fd, buf + *len, total - *len, 0);
+ int ret = write(fd, buf + *len, total - *len);
if (ret == -1)
return -ERRNO_TO_PARA_ERROR(errno);
*len += ret;
crypt_function *cf = NULL;
if (!len)
- PARA_CRIT_LOG("%s", "len == 0\n");
+ PARA_CRIT_LOG("len == 0\n");
if (fd + 1 <= cda_size)
cf = crypt_data_array[fd].send;
if (cf) {