X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blobdiff_plain;f=sigrok-cli.c;h=86ac278250d6425d2be440f3b2adc315f1e0539c;hp=860c2ef9fc15db8f20cd46f3a84d37d258428ea1;hb=c2c4a0def11bd2a589aa62f8f501ff20ef5f99e4;hpb=9c9c1080ba34648ee1029978e07d6391ca8b5cbd diff --git a/sigrok-cli.c b/sigrok-cli.c index 860c2ef..86ac278 100644 --- a/sigrok-cli.c +++ b/sigrok-cli.c @@ -234,17 +234,17 @@ static void show_device_detail(void) if (!(s = sr_samplerate_string(samplerates->low))) continue; printf(" (%s", s); - free(s); + g_free(s); /* high */ if (!(s = sr_samplerate_string(samplerates->high))) continue; printf(" - %s", s); - free(s); + g_free(s); /* step */ if (!(s = sr_samplerate_string(samplerates->step))) continue; printf(" in steps of %s)\n", s); - free(s); + g_free(s); } else { printf(" - supported samplerates:\n"); for (i = 0; samplerates->list[i]; i++) { @@ -313,7 +313,7 @@ static void datafeed_in(struct sr_device *device, struct sr_datafeed_packet *pac case SR_DF_HEADER: g_message("cli: Received SR_DF_HEADER"); /* Initialize the output module. */ - if (!(o = malloc(sizeof(struct sr_output)))) { + if (!(o = g_try_malloc(sizeof(struct sr_output)))) { printf("Output module malloc failed.\n"); exit(1); } @@ -370,7 +370,7 @@ static void datafeed_in(struct sr_device *device, struct sr_datafeed_packet *pac if (output_len) { if (outfile) fwrite(output_buf, 1, output_len, outfile); - free(output_buf); + g_free(output_buf); output_len = 0; } } @@ -383,12 +383,11 @@ static void datafeed_in(struct sr_device *device, struct sr_datafeed_packet *pac sr_session_halt(); if (outfile && outfile != stdout) fclose(outfile); - free(o); + g_free(o); o = NULL; break; case SR_DF_TRIGGER: - g_message("cli: received SR_DF_TRIGGER at %"PRIu64" ms", - packet->timeoffset / 1000000); + g_message("cli: received SR_DF_TRIGGER"); if (o->format->event) o->format->event(o, SR_DF_TRIGGER, &output_buf, &output_len); @@ -397,11 +396,7 @@ static void datafeed_in(struct sr_device *device, struct sr_datafeed_packet *pac case SR_DF_LOGIC: logic = packet->payload; sample_size = logic->unitsize; - g_message("cli: received SR_DF_LOGIC at %f ms duration %f ms, %"PRIu64" bytes", - packet->timeoffset / 1000000.0, packet->duration / 1000000.0, - logic->length); - break; - case SR_DF_ANALOG: + g_message("cli: received SR_DF_LOGIC, %"PRIu64" bytes", logic->length); break; } @@ -452,7 +447,7 @@ static void datafeed_in(struct sr_device *device, struct sr_datafeed_packet *pac o->format->data(o, filter_out, filter_out_len, &output_buf, &output_len); if (output_len) { fwrite(output_buf, 1, output_len, outfile); - free(output_buf); + g_free(output_buf); } } @@ -470,7 +465,7 @@ cleanup: static int register_pds(struct sr_device *device, const char *pdstring) { GHashTable *pd_opthash; - struct srd_decoder_instance *di; + struct srd_decoder_inst *di; char **pdtokens, **pdtok, *pd_name; /* Avoid compiler warnings. */ @@ -489,17 +484,17 @@ static int register_pds(struct sr_device *device, const char *pdstring) pd_name = g_strdup(g_hash_table_lookup(pd_opthash, "sigrok_key")); g_hash_table_remove(pd_opthash, "sigrok_key"); - if (!(di = srd_instance_new(pd_name, pd_opthash))) { + if (!(di = srd_inst_new(pd_name, pd_opthash))) { fprintf(stderr, "Failed to instantiate PD %s\n", pd_name); goto err_out; } - g_datalist_set_data(&pd_ann_visible, di->instance_id, pd_name); + g_datalist_set_data(&pd_ann_visible, di->inst_id, pd_name); /* Any keys left in the options hash are probes, where the key * is the probe name as specified in the decoder class, and the * value is the probe number i.e. the order in which the PD's * incoming samples are arranged. */ - if (srd_instance_set_probes(di, pd_opthash) != SRD_OK) + if (srd_inst_set_probes(di, pd_opthash) != SRD_OK) goto err_out; g_hash_table_destroy(pd_opthash); pd_opthash = NULL; @@ -525,7 +520,7 @@ void show_pd_annotation(struct srd_proto_data *pdata) return; } - if (!g_datalist_get_data(&pd_ann_visible, pdata->pdo->di->instance_id)) { + if (!g_datalist_get_data(&pd_ann_visible, pdata->pdo->di->inst_id)) { /* Not in the list of PDs whose annotations we're showing. */ return; } @@ -651,7 +646,7 @@ static void load_input_file_format(void) } /* Initialize the input module. */ - if (!(in = malloc(sizeof(struct sr_input)))) { + if (!(in = g_try_malloc(sizeof(struct sr_input)))) { printf("Failed to allocate input module.\n"); exit(1); } @@ -973,7 +968,7 @@ int main(int argc, char **argv) GHashTableIter iter; gpointer key, value; struct sr_output_format **outputs; - struct srd_decoder_instance *di_from, *di_to; + struct srd_decoder_inst *di_from, *di_to; int i, ret; char *fmtspec, **pds; @@ -991,15 +986,15 @@ int main(int argc, char **argv) } /* Set the loglevel (amount of messages to output) for libsigrok. */ - if (sr_set_loglevel(opt_loglevel) != SR_OK) { - fprintf(stderr, "cli: %s: sr_set_loglevel(%d) failed\n", + if (sr_log_loglevel_set(opt_loglevel) != SR_OK) { + fprintf(stderr, "cli: %s: sr_log_loglevel_set(%d) failed\n", __func__, opt_loglevel); return 1; } /* Set the loglevel (amount of messages to output) for libsigrokdecode. */ - if (srd_set_loglevel(opt_loglevel) != SRD_OK) { - fprintf(stderr, "cli: %s: srd_set_loglevel(%d) failed\n", + if (srd_log_loglevel_set(opt_loglevel) != SRD_OK) { + fprintf(stderr, "cli: %s: srd_log_loglevel_set(%d) failed\n", __func__, opt_loglevel); return 1; } @@ -1030,22 +1025,22 @@ int main(int argc, char **argv) return 1; } - if (!(di_from = srd_instance_find_by_id(pds[0]))) { + if (!(di_from = srd_inst_find_by_id(pds[0]))) { printf("Cannot stack protocol decoder '%s': instance not found.\n", pds[0]); return 1; } for (i = 1; pds[i]; i++) { - if (!(di_to = srd_instance_find_by_id(pds[i]))) { + if (!(di_to = srd_inst_find_by_id(pds[i]))) { printf("Cannot stack protocol decoder '%s': instance not found.\n", pds[i]); return 1; } - if ((ret = srd_instance_stack(di_from, di_to) != SRD_OK)) + if ((ret = srd_inst_stack(di_from, di_to) != SRD_OK)) return ret; /* Don't show annotation from this PD. Only the last PD in * the stack will be left on the annotation list. */ - g_datalist_remove_data(&pd_ann_visible, di_from->instance_id); + g_datalist_remove_data(&pd_ann_visible, di_from->inst_id); di_from = di_to; }