]> sigrok.org Git - libsigrokdecode.git/blobdiff - session.c
Use g_malloc*() consistently, simplify error handling.
[libsigrokdecode.git] / session.c
index 48d7e46edf05f4d1f66b9ea6c7186aae6698982c..0c864059f60af76ae28e168dd4a29ba308ef1850 100644 (file)
--- a/session.c
+++ b/session.c
@@ -18,8 +18,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "libsigrokdecode.h" /* First, so we avoid a _POSIX_C_SOURCE warning. */
-#include "libsigrokdecode-internal.h"
+#include "libsigrokdecode-internal.h" /* First, so we avoid a _POSIX_C_SOURCE warning. */
+#include "libsigrokdecode.h"
 #include "config.h"
 #include <inttypes.h>
 #include <glib.h>
@@ -41,7 +41,7 @@
 /** @cond PRIVATE */
 
 SRD_PRIV GSList *sessions = NULL;
-int max_session_id = -1;
+SRD_PRIV int max_session_id = -1;
 
 /** @endcond */
 
@@ -76,8 +76,7 @@ SRD_API int srd_session_new(struct srd_session **sess)
                return SRD_ERR_ARG;
        }
 
-       if (!(*sess = g_try_malloc(sizeof(struct srd_session))))
-               return SRD_ERR_MALLOC;
+       *sess = g_malloc(sizeof(struct srd_session));
        (*sess)->session_id = ++max_session_id;
        (*sess)->di_list = (*sess)->callbacks = NULL;
 
@@ -301,7 +300,7 @@ SRD_API int srd_session_destroy(struct srd_session *sess)
  * @since 0.3.0
  */
 SRD_API int srd_pd_output_callback_add(struct srd_session *sess,
-               int output_type, srd_pd_output_callback_t cb, void *cb_data)
+               int output_type, srd_pd_output_callback cb, void *cb_data)
 {
        struct srd_pd_callback *pd_cb;
 
@@ -312,11 +311,7 @@ SRD_API int srd_pd_output_callback_add(struct srd_session *sess,
 
        srd_dbg("Registering new callback for output type %d.", output_type);
 
-       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 = g_malloc(sizeof(struct srd_pd_callback));
        pd_cb->output_type = output_type;
        pd_cb->cb = cb;
        pd_cb->cb_data = cb_data;