- comment[0] = '\0';
- if (o->device->plugin) {
- /* TODO: Handle num_probes == 0, too many probes, etc. */
- /* TODO: Error handling. */
- samplerate = *((uint64_t *) o->device->plugin->get_device_info(
- o->device->plugin_index, DI_CUR_SAMPLERATE));
- if (!((samplerate_s = sigrok_samplerate_string(samplerate)))) {
- free(ctx->header);
+ /* timestamp */
+ t = time(NULL);
+ timestamp = strdup(ctime(&t));
+ timestamp[strlen(timestamp)-1] = 0;
+ g_string_printf(ctx->header, "$date %s $end\n", timestamp);
+ free(timestamp);
+
+ /* generator */
+ g_string_append_printf(ctx->header, "$version %s %s $end\n",
+ PACKAGE, PACKAGE_VERSION);
+
+ if (o->device->plugin && sr_device_has_hwcap(o->device, SR_HWCAP_SAMPLERATE)) {
+ ctx->samplerate = *((uint64_t *) o->device->plugin->get_device_info(
+ o->device->plugin_index, SR_DI_CUR_SAMPLERATE));
+ if (!((samplerate_s = sr_samplerate_string(ctx->samplerate)))) {
+ g_string_free(ctx->header, TRUE);