X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=parsers.c;h=5ec655f78ad3dce8a05f01186a2a7ec61febb437;hb=3df03cc2b16dad892b5a9a5026311f23a1d02caa;hp=f7d03bc6bbf230d9af2247b11ecf1fd43755e27d;hpb=662a1e27fa9573a35a6f9a6f699dee2be447826a;p=sigrok-cli.git
diff --git a/parsers.c b/parsers.c
index f7d03bc..5ec655f 100644
--- a/parsers.c
+++ b/parsers.c
@@ -17,6 +17,7 @@
* along with this program. If not, see .
*/
+#include
#include
#include
#include
@@ -24,8 +25,6 @@
#include
#include "sigrok-cli.h"
-extern struct sr_context *sr_ctx;
-
struct sr_channel *find_channel(GSList *channellist, const char *channelname)
{
struct sr_channel *ch;
@@ -410,12 +409,15 @@ int parse_driver(char *arg, struct sr_dev_driver **driver, GSList **drvopts)
int i;
char *drvname;
+ if (!arg)
+ return FALSE;
+
drvargs = parse_generic_arg(arg, TRUE);
drvname = g_strdup(g_hash_table_lookup(drvargs, "sigrok_key"));
g_hash_table_remove(drvargs, "sigrok_key");
*driver = NULL;
- drivers = sr_driver_list();
+ drivers = sr_driver_list(sr_ctx);
for (i = 0; drivers[i]; i++) {
if (strcmp(drivers[i]->name, drvname))
continue;