X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Finput%2Ftrace32_ad.c;h=779c0dac058df5032d4baa5eea006bb55e73d855;hb=e1b115bd4d5ed195b46daf604c35a33c7a760533;hp=1a13c44acd4326215f7c2d6f4c5d45daf836b2fa;hpb=1fb31414f20f54dfeb9bc36256c98e4a19f3ee0a;p=libsigrok.git diff --git a/src/input/trace32_ad.c b/src/input/trace32_ad.c index 1a13c44a..779c0dac 100644 --- a/src/input/trace32_ad.c +++ b/src/input/trace32_ad.c @@ -45,7 +45,7 @@ #define LOG_PREFIX "input/trace32_ad" -#define OUTBUF_FLUSH_SIZE 10240 +#define CHUNK_SIZE (4 * 1024 * 1024) #define MAX_POD_COUNT 12 #define HEADER_SIZE 80 @@ -151,7 +151,7 @@ static int init(struct sr_input *in, GHashTable *options) return SR_ERR; } - inc->out_buf = g_string_sized_new(OUTBUF_FLUSH_SIZE); + inc->out_buf = g_string_sized_new(CHUNK_SIZE); return SR_OK; } @@ -213,12 +213,18 @@ static int process_header(GString *buf, struct context *inc) inc->format = AD_FORMAT_TXTHDR; g_free(format_name_sig); g_free(format_name); - sr_err("This format isn't implemented yet, aborting."); + if (inc) + sr_err("This format isn't implemented yet, aborting."); + else + sr_dbg("Not a supported trace32 input file."); return SR_ERR; } else { g_free(format_name_sig); g_free(format_name); - sr_err("Don't know this file format, aborting."); + if (inc) + sr_err("Don't know this file format, aborting."); + else + sr_dbg("Not a trace32 input file."); return SR_ERR; } @@ -501,7 +507,7 @@ static void process_record_pi(struct sr_input *in, gsize start) g_string_append_len(inc->out_buf, single_payload, payload_len); } - if (inc->out_buf->len >= OUTBUF_FLUSH_SIZE) + if (inc->out_buf->len >= CHUNK_SIZE) flush_output_buffer(in); } @@ -554,7 +560,7 @@ static void process_record_iprobe(struct sr_input *in, gsize start) g_string_append_len(inc->out_buf, single_payload, payload_len); } - if (inc->out_buf->len >= OUTBUF_FLUSH_SIZE) + if (inc->out_buf->len >= CHUNK_SIZE) flush_output_buffer(in); }