- /* TODO: Handle num_probes == 0, too many probes, etc. */
- samplerate = *((uint64_t *) o->device->plugin->get_device_info(
- o->device->plugin_index, DI_CUR_SAMPLERATE));
-
- /* Samplerate string */
- if (samplerate >= GHZ(1))
- snprintf(sbuf, 10, "%"PRIu64" GHz", samplerate / 1000000000);
- else if (samplerate >= MHZ(1))
- snprintf(sbuf, 10, "%"PRIu64" MHz", samplerate / 1000000);
- else if (samplerate >= KHZ(1))
- snprintf(sbuf, 10, "%"PRIu64" KHz", samplerate / 1000);
- else
- snprintf(sbuf, 10, "%"PRIu64" Hz", samplerate);
+ comment[0] = '\0';
+ if (o->device->plugin) {
+ samplerate = *((uint64_t *) o->device->plugin->get_device_info(
+ o->device->plugin_index, DI_CUR_SAMPLERATE));
+ if (!(frequency_s = sigrok_samplerate_string(samplerate))) {
+ free(ctx->header);
+ free(ctx);
+ return SIGROK_ERR;
+ }
+ snprintf(comment, 127, gnuplot_header_comment,
+ ctx->num_enabled_probes, num_probes, frequency_s);
+ free(frequency_s);
+ }