]> sigrok.org Git - libsigrok.git/blobdiff - session_driver.c
serial: Improved docs.
[libsigrok.git] / session_driver.c
index b7a10a0f93337457d4bf7994cc12273e87333627..2b6bfbbeda9a9c0ce9e297c1da5cec802163f851 100644 (file)
 #include "libsigrok.h"
 #include "libsigrok-internal.h"
 
-/* Message logging helpers with subsystem-specific prefix string. */
-#define LOG_PREFIX "virtual-session: "
-#define sr_log(l, s, args...) sr_log(l, LOG_PREFIX s, ## args)
-#define sr_spew(s, args...) sr_spew(LOG_PREFIX s, ## args)
-#define sr_dbg(s, args...) sr_dbg(LOG_PREFIX s, ## args)
-#define sr_info(s, args...) sr_info(LOG_PREFIX s, ## args)
-#define sr_warn(s, args...) sr_warn(LOG_PREFIX s, ## args)
-#define sr_err(s, args...) sr_err(LOG_PREFIX s, ## args)
+#define LOG_PREFIX "virtual-session"
 
 /* size of payloads sent across the session bus */
 /** @cond PRIVATE */
@@ -81,11 +74,6 @@ static int receive_data(int fd, int revents, void *cb_data)
                        /* Already done with this instance. */
                        continue;
 
-               if (!(buf = g_try_malloc(CHUNKSIZE))) {
-                       sr_err("%s: buf malloc failed", __func__);
-                       return FALSE;
-               }
-
                if (!vdev->capfile) {
                        /* No capture file opened yet, or finished with the last
                         * chunked one. */
@@ -133,6 +121,11 @@ static int receive_data(int fd, int revents, void *cb_data)
                        }
                }
 
+               if (!(buf = g_try_malloc(CHUNKSIZE))) {
+                       sr_err("%s: buf malloc failed", __func__);
+                       return FALSE;
+               }
+
                ret = zip_fread(vdev->capfile, buf, CHUNKSIZE);
                if (ret > 0) {
                        got_data = TRUE;
@@ -155,9 +148,11 @@ static int receive_data(int fd, int revents, void *cb_data)
                        } else {
                                /* There might be more chunks, so don't fall through
                                 * to the SR_DF_END here. */
+                               g_free(buf);
                                return TRUE;
                        }
                }
+               g_free(buf);
        }
 
        if (!got_data) {
@@ -249,7 +244,7 @@ static int config_set(int id, GVariant *data, const struct sr_dev_inst *sdi,
        case SR_CONF_CAPTURE_UNITSIZE:
                vdev->unitsize = g_variant_get_uint64(data);
                break;
-       case SR_CONF_CAPTURE_NUM_PROBES:
+       case SR_CONF_NUM_LOGIC_PROBES:
                vdev->num_probes = g_variant_get_uint64(data);
                break;
        default:
@@ -289,7 +284,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi, void *cb_data)
 
        if (!(vdev->archive = zip_open(vdev->sessionfile, 0, &ret))) {
                sr_err("Failed to open session file '%s': "
-                      "zip error %d\n", vdev->sessionfile, ret);
+                      "zip error %d.", vdev->sessionfile, ret);
                return SR_ERR;
        }