srd: Add/improve g_malloc() error messages.
authorUwe Hermann <uwe@hermann-uwe.de>
Thu, 9 Feb 2012 23:06:58 +0000 (00:06 +0100)
committerUwe Hermann <uwe@hermann-uwe.de>
Fri, 10 Feb 2012 08:30:41 +0000 (09:30 +0100)
controller.c
decoder.c
sigrokdecode.h
type_decoder.c
util.c

index 476f4f3aaf6b0e613d6a560f446302f6b5c4cb07..68ff9f7bfd5b837e73d9bbb67f37e761e6edda70 100644 (file)
@@ -317,7 +317,7 @@ SRD_API int srd_instance_set_probes(struct srd_decoder_instance *di,
        new_probemap = NULL;
 
        if (!(new_probemap = g_try_malloc(sizeof(int) * di->dec_num_probes))) {
-               srd_err("Failed to malloc new probe map.");
+               srd_err("Failed to g_malloc() new probe map.");
                return SRD_ERR_MALLOC;
        }
 
@@ -378,8 +378,8 @@ SRD_API struct srd_decoder_instance *srd_instance_new(const char *decoder_id,
                return NULL;
        }
 
-       if (!(di = g_try_malloc0(sizeof(*di)))) {
-               srd_err("Failed to malloc instance.");
+       if (!(di = g_try_malloc0(sizeof(struct srd_decoder_instance)))) {
+               srd_err("Failed to g_malloc() instance.");
                return NULL;
        }
 
@@ -396,7 +396,7 @@ SRD_API struct srd_decoder_instance *srd_instance_new(const char *decoder_id,
        if (di->dec_num_probes) {
                if (!(di->dec_probemap =
                     g_try_malloc(sizeof(int) * di->dec_num_probes))) {
-                       srd_err("Failed to malloc probe map.");
+                       srd_err("Failed to g_malloc() probe map.");
                        g_free(di);
                        return NULL;
                }
@@ -698,8 +698,10 @@ SRD_API int srd_register_callback(int output_type, srd_pd_output_callback_t cb)
 
        srd_dbg("Registering new callback for output type %d.", output_type);
 
-       if (!(pd_cb = g_try_malloc(sizeof(struct srd_pd_callback))))
+       if (!(pd_cb = g_try_malloc(sizeof(struct srd_pd_callback)))) {
+               srd_err("Failed to g_malloc() struct srd_pd_callback.");
                return SRD_ERR_MALLOC;
+       }
 
        pd_cb->output_type = output_type;
        pd_cb->callback = cb;
@@ -735,8 +737,10 @@ SRD_PRIV int pd_add(struct srd_decoder_instance *di, int output_type,
        srd_dbg("Instance %s creating new output type %d for %s.",
                di->instance_id, output_type, proto_id);
 
-       if (!(pdo = g_try_malloc(sizeof(struct srd_pd_output))))
+       if (!(pdo = g_try_malloc(sizeof(struct srd_pd_output)))) {
+               srd_err("Failed to g_malloc() struct srd_pd_output.");
                return -1;
+       }
 
        /* pdo_id is just a simple index, nothing is deleted from this list anyway. */
        pdo->pdo_id = g_slist_length(di->pd_output);
index 557aa71c8c39eede1b0cd28f3007687e96012289..731ab16047ddc68b691cd2a455cfd9c27d4fa533 100644 (file)
--- a/decoder.c
+++ b/decoder.c
@@ -95,6 +95,7 @@ static int get_probes(struct srd_decoder *d, char *attr, GSList **pl)
                }
 
                if (!(p = g_try_malloc(sizeof(struct srd_probe)))) {
+                       srd_err("Failed to g_malloc() struct srd_probe.");
                        ret = SRD_ERR_MALLOC;
                        goto err_out;
                }
@@ -138,7 +139,7 @@ SRD_API int srd_load_decoder(const char *name, struct srd_decoder **dec)
        py_basedec = py_method = py_attr = NULL;
 
        if (!(d = g_try_malloc0(sizeof(struct srd_decoder)))) {
-               srd_dbg("Failed to malloc struct srd_decoder.");
+               srd_dbg("Failed to g_malloc() struct srd_decoder.");
                ret = SRD_ERR_MALLOC;
                goto err_out;
        }
index de08ff69ce41af1f0acf678fe78959f5b3d33424..2ad739b42702579f184660ea2e965e626c2cfee9 100644 (file)
@@ -94,7 +94,7 @@ enum {
        SRD_OUTPUT_BINARY,
 };
 
-#define SRD_MAX_NUM_PROBES   64
+#define SRD_MAX_NUM_PROBES 64
 
 /* TODO: Documentation. */
 struct srd_decoder {
index 9c2cfd692af5228f6c7164d1e2853ecb021590fe..028865beb79edc5f860820b0a590c1a99ad5c628 100644 (file)
@@ -124,8 +124,10 @@ static PyObject *Decoder_put(PyObject *self, PyObject *args)
                 di->instance_id, start_sample, end_sample,
                 OUTPUT_TYPES[pdo->output_type], output_id);
 
-       if (!(pdata = g_try_malloc0(sizeof(struct srd_proto_data))))
+       if (!(pdata = g_try_malloc0(sizeof(struct srd_proto_data)))) {
+               srd_err("Failed to g_malloc() struct srd_proto_data.");
                return NULL;
+       }
        pdata->start_sample = start_sample;
        pdata->end_sample = end_sample;
        pdata->pdo = pdo;
diff --git a/util.c b/util.c
index 5f186398a7697141c1d7acee44f34f019acddd96..78cfdc3fadf338b8e1f46cf0054d27f02f3bb23f 100644 (file)
--- a/util.c
+++ b/util.c
@@ -138,7 +138,7 @@ SRD_PRIV int py_str_as_str(PyObject *py_str, char **outstr)
        }
 
        if (!(*outstr = g_strdup(str))) {
-               srd_dbg("outstr malloc failed");
+               srd_dbg("Failed to g_malloc() outstr.");
                ret = SRD_ERR_MALLOC;
                goto err_out;
        }
@@ -162,7 +162,7 @@ err_out:
  * @param outstr ptr to char ** storage to be filled in.
  *
  * @return SRD_OK upon success, a (negative) error code otherwise.
- *         The 'outstr' argument points to a malloc()ed char ** upon success.
+ *         The 'outstr' argument points to a g_malloc()ed char** upon success.
  */
 SRD_PRIV int py_strlist_to_char(PyObject *py_strlist, char ***outstr)
 {
@@ -171,8 +171,10 @@ SRD_PRIV int py_strlist_to_char(PyObject *py_strlist, char ***outstr)
        char **out, *str;
 
        list_len = PyList_Size(py_strlist);
-       if (!(out = g_try_malloc(sizeof(char *) * (list_len + 1))))
+       if (!(out = g_try_malloc(sizeof(char *) * (list_len + 1)))) {
+               srd_err("Failed to g_malloc() 'out'.");
                return SRD_ERR_MALLOC;
+       }
        for (i = 0; i < list_len; i++) {
                if (!(py_str = PyUnicode_AsEncodedString(
                    PyList_GetItem(py_strlist, i), "utf-8", NULL)))