(void *) buffer, &buffer_size);
if (status != ENOMEM)
break;
-
- /* FIXME: This is a workaround for a bug in 0.3.5. */
+#if !defined(OPING_VERSION) || (OPING_VERSION <= 3005)
+ /* This is a workaround for a bug in 0.3.5. */
buffer_size++;
+#endif
buffer = (char *) malloc (buffer_size);
if (buffer == NULL)
status = ping_iterator_get_info (iter, PING_INFO_HOSTNAME,
(void *) buffer, &buffer_size);
if (status != 0)
+ {
+ free (buffer);
break;
+ }
XPUSHs (sv_2mortal (newSVpvn(buffer,buffer_size)));
free(buffer);