]> sigrok.org Git - libsigrok.git/blobdiff - src/std.c
rigol-ds: Fix memory buffer readout on DS4000 series.
[libsigrok.git] / src / std.c
index 47c3e5344b7d462461dee1516aeefc80b2ab501a..6a6c80adfff5df1f8b93bfec89a6267fe1ee6a9f 100644 (file)
--- a/src/std.c
+++ b/src/std.c
@@ -39,6 +39,8 @@
 
 #define LOG_PREFIX "std"
 
+SR_PRIV const uint32_t NO_OPTS[1] = {};
+
 /**
  * Standard driver init() callback API helper.
  *
@@ -182,7 +184,6 @@ SR_PRIV int std_session_send_df_header(const struct sr_dev_inst *sdi)
        prefix = (sdi->driver) ? sdi->driver->name : "unknown";
 
        /* Send header packet to the session bus. */
-       sr_dbg("%s: Sending SR_DF_HEADER packet.", prefix);
        packet.type = SR_DF_HEADER;
        packet.payload = (uint8_t *)&header;
        header.feed_version = 1;
@@ -221,8 +222,6 @@ SR_PRIV int std_session_send_df_end(const struct sr_dev_inst *sdi)
 
        prefix = (sdi->driver) ? sdi->driver->name : "unknown";
 
-       sr_dbg("%s: Sending SR_DF_END packet.", prefix);
-
        packet.type = SR_DF_END;
        packet.payload = NULL;
 
@@ -259,8 +258,6 @@ SR_PRIV int std_session_send_frame_begin(const struct sr_dev_inst *sdi)
 
        prefix = (sdi->driver) ? sdi->driver->name : "unknown";
 
-       sr_dbg("%s: Sending SR_DF_FRAME_BEGIN packet.", prefix);
-
        packet.type = SR_DF_FRAME_BEGIN;
        packet.payload = NULL;
 
@@ -297,8 +294,6 @@ SR_PRIV int std_session_send_frame_end(const struct sr_dev_inst *sdi)
 
        prefix = (sdi->driver) ? sdi->driver->name : "unknown";
 
-       sr_dbg("%s: Sending SR_DF_FRAME_END packet.", prefix);
-
        packet.type = SR_DF_FRAME_END;
        packet.payload = NULL;
 
@@ -588,7 +583,7 @@ SR_PRIV int std_opts_config_list(uint32_t key, GVariant **data,
        switch (key) {
        case SR_CONF_SCAN_OPTIONS:
                /* Always return scanopts, regardless of sdi or cg. */
-               if (!scanopts)
+               if (!scanopts || scanopts == NO_OPTS)
                        return SR_ERR_ARG;
                *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
                        scanopts, scansize, sizeof(uint32_t));
@@ -596,13 +591,13 @@ SR_PRIV int std_opts_config_list(uint32_t key, GVariant **data,
        case SR_CONF_DEVICE_OPTIONS:
                if (!sdi) {
                        /* sdi == NULL: return drvopts. */
-                       if (!drvopts)
+                       if (!drvopts || drvopts == NO_OPTS)
                                return SR_ERR_ARG;
                        *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
                                drvopts, drvsize, sizeof(uint32_t));
                } else if (sdi && !cg) {
                        /* sdi != NULL, cg == NULL: return devopts. */
-                       if (!devopts)
+                       if (!devopts || devopts == NO_OPTS)
                                return SR_ERR_ARG;
                        *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
                                devopts, devsize, sizeof(uint32_t));