]> sigrok.org Git - libsigrok.git/blobdiff - src/dmm/dtm0660.c
output/csv: use intermediate time_t var, silence compiler warning
[libsigrok.git] / src / dmm / dtm0660.c
index 86b6ccf7df2e6422ae60c17df3801d236a3f4d7f..42012399e22195a2b3ee10e1f5dcfe4f7cfc642f 100644 (file)
@@ -254,6 +254,8 @@ static void parse_flags(const uint8_t *buf, struct dtm0660_info *info)
 static void handle_flags(struct sr_datafeed_analog *analog, float *floatval,
                         int *exponent, const struct dtm0660_info *info)
 {
+       int initial_exponent = *exponent;
+
        /* Factors */
        if (info->is_nano)
                *exponent -= 9;
@@ -265,7 +267,7 @@ static void handle_flags(struct sr_datafeed_analog *analog, float *floatval,
                *exponent += 3;
        if (info->is_mega)
                *exponent += 6;
-       *floatval *= powf(10, *exponent);
+       *floatval *= powf(10, (*exponent - initial_exponent));
 
        /* Measurement modes */
        if (info->is_volt) {