index 407493c5b553f6a443d1c710dd41b218cc645ba5..3eb0d05536721a7d5b154ddf505c123321ea9fcf 100644 (file)
return (0);
} /* }}} int lcc_set_errno */
-/* lcc_strdup: Since `strdup' is an XSI extension, we provide our own version
- * here. */
-__attribute__((malloc, nonnull (1)))
-static char *lcc_strdup (const char *str) /* {{{ */
-{
- size_t strsize;
- char *ret;
-
- strsize = strlen (str) + 1;
- ret = (char *) malloc (strsize);
- if (ret != NULL)
- memcpy (ret, str, strsize);
- return (ret);
-} /* }}} char *lcc_strdup */
-
-__attribute__((nonnull (1, 2)))
static char *lcc_strescape (char *dest, const char *src, size_t dest_size) /* {{{ */
{
size_t dest_pos;
size_t src_pos;
+ if ((dest == NULL) || (src == NULL))
+ return (NULL);
+
dest_pos = 0;
src_pos = 0;
lcc_chomp (buffer);
LCC_DEBUG ("receive: <-- %s\n", buffer);
- res.lines[i] = lcc_strdup (buffer);
+ res.lines[i] = strdup (buffer);
if (res.lines[i] == NULL)
{
lcc_set_errno (c, ENOMEM);
if (values_names != NULL)
{
- values_names[i] = lcc_strdup (key);
+ values_names[i] = strdup (key);
if (values_names[i] == NULL)
BAIL_OUT (ENOMEM);
}
SSTRCATF (command, " interval=%i", vl->interval);
if (vl->time > 0)
- SSTRCATF (command, "%u", (unsigned int) vl->time);
+ SSTRCATF (command, " %u", (unsigned int) vl->time);
else
- SSTRCAT (command, "N");
+ SSTRCAT (command, " N");
for (i = 0; i < vl->values_len; i++)
{
else if (vl->values_types[i] == LCC_TYPE_GAUGE)
{
if (isnan (vl->values[i].gauge))
- SSTRCPY (command, ":U");
+ SSTRCATF (command, ":U");
else
SSTRCATF (command, ":%g", vl->values[i].gauge);
}
+ else if (vl->values_types[i] == LCC_TYPE_DERIVE)
+ SSTRCATF (command, ":%"PRIu64, vl->values[i].derive);
+ else if (vl->values_types[i] == LCC_TYPE_ABSOLUTE)
+ SSTRCATF (command, ":%"PRIu64, vl->values[i].absolute);
+
} /* for (i = 0; i < vl->values_len; i++) */
status = lcc_sendreceive (c, command, &res);
char *type;
char *type_instance;
- string_copy = lcc_strdup (string);
+ string_copy = strdup (string);
if (string_copy == NULL)
{
lcc_set_errno (c, ENOMEM);