else if (ds->ds[i].type == DS_TYPE_GAUGE) 
     {
       status = ssnprintf (buffer + offset, buffer_len - offset,
-          ":%lf", vl->values[i].gauge);
+          ":%f", vl->values[i].gauge);
     }
     else if (ds->ds[i].type == DS_TYPE_DERIVE) {
       status = ssnprintf (buffer + offset, buffer_len - offset,
-         ":%llu", vl->values[i].derive);
+         ":%"PRIi64, vl->values[i].derive);
     }
     else /* if (ds->ds[i].type == DS_TYPE_ABSOLUTE) */ {
       status = ssnprintf (buffer + offset, buffer_len - offset,
-         ":%llu", vl->values[i].absolute);
+         ":%"PRIu64, vl->values[i].absolute);
  
     }
 
 
                                        ":%lf", vl->values[i].gauge);
                else if (ds->ds[i].type == DS_TYPE_DERIVE)
                        status = ssnprintf (buffer + offset, buffer_len - offset,
-                                       ":%llu", vl->values[i].derive);
+                                       ":%"PRIi64, vl->values[i].derive);
                else /*if (ds->ds[i].type == DS_TYPE_ABSOLUTE) */
                        status = ssnprintf (buffer + offset, buffer_len - offset,
-                                       ":%llu", vl->values[i].absolute);
+                                       ":%"PRIu64, vl->values[i].absolute);
 
                if ((status < 1) || (status >= (buffer_len - offset)))
                        return (-1);
 
       sstrncpy (min, "U", sizeof (min));
     }
     else
-      ssnprintf (min, sizeof (min), "%lf", d->min);
+      ssnprintf (min, sizeof (min), "%f", d->min);
 
     if (isnan (d->max))
     {
       sstrncpy (max, "U", sizeof (max));
     }
     else
-      ssnprintf (max, sizeof (max), "%lf", d->max);
+      ssnprintf (max, sizeof (max), "%f", d->max);
 
     status = ssnprintf (buffer, sizeof (buffer),
         "DS:%s:%s:%i:%s:%s",