src/common.c: parse_value: Fix assignment of derive and absolute values.
[collectd.git] / src / common.c
index 1ddb71d..65dee72 100644 (file)
 #include <sys/socket.h>
 #include <netdb.h>
 
+#if HAVE_NETINET_IN_H
+# include <netinet/in.h>
+#endif
+
 #ifdef HAVE_LIBKSTAT
 extern kstat_ctl_t *kc;
 #endif
@@ -664,6 +668,7 @@ long long get_kstat_value (kstat_t *ksp, char *name)
 }
 #endif /* HAVE_LIBKSTAT */
 
+#ifndef HAVE_HTONLL
 unsigned long long ntohll (unsigned long long n)
 {
 #if BYTE_ORDER == BIG_ENDIAN
@@ -681,6 +686,7 @@ unsigned long long htonll (unsigned long long n)
        return (((unsigned long long) htonl (n)) << 32) + htonl (n >> 32);
 #endif
 } /* unsigned long long htonll */
+#endif /* HAVE_HTONLL */
 
 #if FP_LAYOUT_NEED_NOTHING
 /* Well, we need nothing.. */
@@ -857,11 +863,11 @@ int parse_value (const char *value, value_t *ret_value, int ds_type)
       break;
 
     case DS_TYPE_DERIVE:
-      ret_value->counter = (derive_t) strtoll (value, &endptr, 0);
+      ret_value->derive = (derive_t) strtoll (value, &endptr, 0);
       break;
 
     case DS_TYPE_ABSOLUTE:
-      ret_value->counter = (absolute_t) strtoull (value, &endptr, 0);
+      ret_value->absolute = (absolute_t) strtoull (value, &endptr, 0);
       break;
 
     default: