X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fresource.c;h=3164b94313f5cf82b31ec023a15c6283252c3e89;hb=c622c88c446a2f5e1c045657ef233c147a1f43d4;hp=03e63435c9de603661ec74ee3072b6a1142b016e;hpb=366ccb8ab75f7291a11e677034085c702a1c5361;p=libsigrok.git diff --git a/src/resource.c b/src/resource.c index 03e63435..3164b943 100644 --- a/src/resource.c +++ b/src/resource.c @@ -55,10 +55,21 @@ SR_API GSList *sr_resourcepaths_get(int res_type) subdir = "sigrok-firmware"; env = g_getenv("SIGROK_FIRMWARE_DIR"); - if (!env) - sr_dbg("SIGROK_FIRMWARE_DIR environment variable not set, ignoring."); - else + if (env) l = g_slist_append(l, g_strdup(env)); + + env = g_getenv("SIGROK_FIRMWARE_PATH"); + if (env) { + char **dir_list, **dir_iter, *dir_item; + dir_list = g_strsplit(env, G_SEARCHPATH_SEPARATOR_S, 0); + for (dir_iter = dir_list; *dir_iter; dir_iter++) { + dir_item = *dir_iter; + if (!dir_item || !*dir_item) + continue; + l = g_slist_append(l, g_strdup(dir_item)); + } + g_strfreev(dir_list); + } } l = g_slist_append(l, g_build_filename(g_get_user_data_dir(), subdir, NULL)); @@ -412,5 +423,3 @@ SR_PRIV void *sr_resource_load(struct sr_context *ctx, *size = res_size; return buf; } - -/** @} */