summaryrefslogtreecommitdiff
path: root/instance.c
diff options
context:
space:
mode:
authorUwe Hermann <uwe@hermann-uwe.de>2015-03-07 19:12:15 +0100
committerUwe Hermann <uwe@hermann-uwe.de>2015-04-01 00:25:51 +0200
commit077fa8acbcb8b585af6f5323f16221940a27a72e (patch)
tree564a091540e1d929e9e019a7f89658d1de55af2f /instance.c
parentc052046717c09758bbdf62819e0029dddcae7159 (diff)
downloadlibsigrokdecode-077fa8acbcb8b585af6f5323f16221940a27a72e.tar.gz
libsigrokdecode-077fa8acbcb8b585af6f5323f16221940a27a72e.zip
Use g_malloc*() consistently, simplify error handling.
Use g_malloc*() for small allocations and assume they always succeed. Simplify error handling in a few places accordingly. Document the rules in the README file.
Diffstat (limited to 'instance.c')
-rw-r--r--instance.c27
1 files changed, 5 insertions, 22 deletions
diff --git a/instance.c b/instance.c
index d0e9d0a..5f0ce80 100644
--- a/instance.c
+++ b/instance.c
@@ -220,12 +220,7 @@ SRD_API int srd_inst_channel_set_all(struct srd_decoder_inst *di,
return SRD_ERR_ARG;
}
- new_channelmap = NULL;
-
- if (!(new_channelmap = g_try_malloc(sizeof(int) * di->dec_num_channels))) {
- srd_err("Failed to g_malloc() new channel map.");
- return SRD_ERR_MALLOC;
- }
+ new_channelmap = g_malloc(sizeof(int) * di->dec_num_channels);
/*
* For now, map all indexes to channel -1 (can be overridden later).
@@ -325,10 +320,7 @@ SRD_API struct srd_decoder_inst *srd_inst_new(struct srd_session *sess,
return NULL;
}
- if (!(di = g_try_malloc0(sizeof(struct srd_decoder_inst)))) {
- srd_err("Failed to g_malloc() instance.");
- return NULL;
- }
+ di = g_malloc0(sizeof(struct srd_decoder_inst));
di->decoder = dec;
di->sess = sess;
@@ -346,12 +338,8 @@ SRD_API struct srd_decoder_inst *srd_inst_new(struct srd_session *sess,
di->dec_num_channels = g_slist_length(di->decoder->channels) +
g_slist_length(di->decoder->opt_channels);
if (di->dec_num_channels) {
- if (!(di->dec_channelmap =
- g_try_malloc(sizeof(int) * di->dec_num_channels))) {
- srd_err("Failed to g_malloc() channel map.");
- g_free(di);
- return NULL;
- }
+ di->dec_channelmap =
+ g_malloc(sizeof(int) * di->dec_num_channels);
for (i = 0; i < di->dec_num_channels; i++)
di->dec_channelmap[i] = i;
di->data_unitsize = (di->dec_num_channels + 7) / 8;
@@ -359,12 +347,7 @@ SRD_API struct srd_decoder_inst *srd_inst_new(struct srd_session *sess,
* Will be used to prepare a sample at every iteration
* of the instance's decode() method.
*/
- if (!(di->channel_samples = g_try_malloc(di->dec_num_channels))) {
- srd_err("Failed to g_malloc() sample buffer.");
- g_free(di->dec_channelmap);
- g_free(di);
- return NULL;
- }
+ di->channel_samples = g_malloc(di->dec_num_channels);
}
/* Create a new instance of this decoder class. */