X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=strutil.c;h=b7b0af16d72bc9df0af4f78c658690150229a36d;hb=e52e712d05419e4387704262a07e00904b2acbed;hp=f9299ca6a08eec2219b9044c9e0657d8a1d18f24;hpb=76e107d68c010ee3aaede5a1eec2893f82062184;p=libsigrok.git diff --git a/strutil.c b/strutil.c index f9299ca6..b7b0af16 100644 --- a/strutil.c +++ b/strutil.c @@ -1,5 +1,5 @@ /* - * This file is part of the sigrok project. + * This file is part of the libsigrok project. * * Copyright (C) 2010 Uwe Hermann * @@ -24,14 +24,14 @@ #include "libsigrok.h" #include "libsigrok-internal.h" -/* Message logging helpers with driver-specific prefix string. */ -#define DRIVER_LOG_DOMAIN "strutil: " -#define sr_log(l, s, args...) sr_log(l, DRIVER_LOG_DOMAIN s, ## args) -#define sr_spew(s, args...) sr_spew(DRIVER_LOG_DOMAIN s, ## args) -#define sr_dbg(s, args...) sr_dbg(DRIVER_LOG_DOMAIN s, ## args) -#define sr_info(s, args...) sr_info(DRIVER_LOG_DOMAIN s, ## args) -#define sr_warn(s, args...) sr_warn(DRIVER_LOG_DOMAIN s, ## args) -#define sr_err(s, args...) sr_err(DRIVER_LOG_DOMAIN s, ## args) +/* Message logging helpers with subsystem-specific prefix string. */ +#define LOG_PREFIX "strutil: " +#define sr_log(l, s, args...) sr_log(l, LOG_PREFIX s, ## args) +#define sr_spew(s, args...) sr_spew(LOG_PREFIX s, ## args) +#define sr_dbg(s, args...) sr_dbg(LOG_PREFIX s, ## args) +#define sr_info(s, args...) sr_info(LOG_PREFIX s, ## args) +#define sr_warn(s, args...) sr_warn(LOG_PREFIX s, ## args) +#define sr_err(s, args...) sr_err(LOG_PREFIX s, ## args) /** * @file @@ -151,19 +151,20 @@ SR_API char *sr_period_string(uint64_t frequency) } /** - * Convert a numeric frequency value to the "natural" string representation - * of its voltage value. + * Convert a numeric voltage value to the "natural" string representation + * of its voltage value. The voltage is specified as a rational number's + * numerator and denominator. * * E.g. a value of 300000 would be converted to "300mV", 2 to "2V". * - * @param voltage The voltage represented as a rational number, with the - * denominator a divisor of 1V. + * @param v_p The voltage numerator. + * @param v_q The voltage denominator. * * @return A g_try_malloc()ed string representation of the voltage value, * or NULL upon errors. The caller is responsible to g_free() the * memory. */ -SR_API char *sr_voltage_string(struct sr_rational *voltage) +SR_API char *sr_voltage_string(uint64_t v_p, uint64_t v_q) { int r; char *o; @@ -173,12 +174,12 @@ SR_API char *sr_voltage_string(struct sr_rational *voltage) return NULL; } - if (voltage->q == 1000) - r = snprintf(o, 30, "%" PRIu64 "mV", voltage->p); - else if (voltage->q == 1) - r = snprintf(o, 30, "%" PRIu64 "V", voltage->p); + if (v_q == 1000) + r = snprintf(o, 30, "%" PRIu64 "mV", v_p); + else if (v_q == 1) + r = snprintf(o, 30, "%" PRIu64 "V", v_p); else - r = snprintf(o, 30, "%gV", (float)voltage->p / (float)voltage->q); + r = snprintf(o, 30, "%gV", (float)v_p / (float)v_q); if (r < 0) { /* Something went wrong... */