diff --git a/src/liboping.c b/src/liboping.c
index 9d1482634fa12baf36f5c81c9a518ecdbe6449dd..22ab3a8672167b4d53248c4b92b9646ab82c05ee 100644 (file)
--- a/src/liboping.c
+++ b/src/liboping.c
if (status != 0)
{
ping_set_error (obj, "getaddrinfo",
if (status != 0)
{
ping_set_error (obj, "getaddrinfo",
- status == EAI_SYSTEM
- ? strerror (errno)
- : gai_strerror (status));
+#if defined(EAI_SYSTEM)
+ (status == EAI_SYSTEM)
+ ? strerror (errno) :
+#endif
+ gai_strerror (status));
ret = -1;
break;
}
ret = -1;
break;
}
{
dprintf ("getaddrinfo failed\n");
ping_set_error (obj, "getaddrinfo",
{
dprintf ("getaddrinfo failed\n");
ping_set_error (obj, "getaddrinfo",
- (ai_return == EAI_SYSTEM)
- ? strerror (errno)
- : gai_strerror (ai_return));
+#if defined(EAI_SYSTEM)
+ (ai_return == EAI_SYSTEM)
+ ? strerror (errno) :
+#endif
+ gai_strerror (ai_return));
ping_free (ph);
return (-1);
}
ping_free (ph);
return (-1);
}
{
case PING_INFO_USERNAME:
ret = ENOMEM;
{
case PING_INFO_USERNAME:
ret = ENOMEM;
- *buffer_len = strlen (iter->username);
+ *buffer_len = strlen (iter->username) + 1;
if (orig_buffer_len <= *buffer_len)
break;
/* Since (orig_buffer_len > *buffer_len) `strncpy'
if (orig_buffer_len <= *buffer_len)
break;
/* Since (orig_buffer_len > *buffer_len) `strncpy'
case PING_INFO_HOSTNAME:
ret = ENOMEM;
case PING_INFO_HOSTNAME:
ret = ENOMEM;
- *buffer_len = strlen (iter->hostname);
+ *buffer_len = strlen (iter->hostname) + 1;
if (orig_buffer_len <= *buffer_len)
break;
/* Since (orig_buffer_len > *buffer_len) `strncpy'
if (orig_buffer_len <= *buffer_len)
break;
/* Since (orig_buffer_len > *buffer_len) `strncpy'
#endif
)
ret = ENOMEM;
#endif
)
ret = ENOMEM;
+#if defined(EAI_SYSTEM)
else if (ret == EAI_SYSTEM)
ret = errno;
else if (ret == EAI_SYSTEM)
ret = errno;
+#endif
else
ret = EINVAL;
}
else
ret = EINVAL;
}