*/
#include <rpc/rpc.h>
+#include <string.h>
+
#include "vxi.h"
#include "libsigrok.h"
#include "libsigrok-internal.h"
unsigned int read_complete;
};
-static int scpi_vxi_dev_inst_new(void *priv, const char *resource,
- char **params, const char *serialcomm)
+static int scpi_vxi_dev_inst_new(void *priv, struct drv_context *drvc,
+ const char *resource, char **params, const char *serialcomm)
{
struct scpi_vxi *vxi = priv;
+ (void)drvc;
(void)resource;
(void)serialcomm;
}
static int scpi_vxi_source_add(void *priv, int events, int timeout,
- sr_receive_data_callback_t cb, void *cb_data)
+ sr_receive_data_callback cb, void *cb_data)
{
(void)priv;
struct scpi_vxi *vxi = priv;
Device_Error *dev_error;
+ if (!vxi->client)
+ return SR_ERR;
+
if (!(dev_error = destroy_link_1(&vxi->link, vxi->client))) {
sr_err("Link destruction failed for %s", vxi->address);
return SR_ERR;
}
clnt_destroy(vxi->client);
+ vxi->client = NULL;
return SR_OK;
}