allow setting surf adblock file using env - surf-adblock - Surf adblock web extension
(HTM) git clone git://git.codemadness.org/surf-adblock
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit f34202b8786c190d5935210e0289123943239730
(DIR) parent 3217c9e3ead5b5cf40df1e624e8475d93574ae1e
(HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sat, 16 Jul 2016 12:19:28 +0200
allow setting surf adblock file using env
Diffstat:
M surf-adblock.c | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
---
(DIR) diff --git a/surf-adblock.c b/surf-adblock.c
@@ -784,23 +784,28 @@ webpagecreated(WebKitWebExtension *e, WebKitWebPage *p, gpointer unused)
}
G_MODULE_EXPORT void
-webkit_web_extension_initialize(WebKitWebExtension *e)
+webkit_web_extension_initialize(WebKitWebExtension *ext)
{
struct filterrule *r;
FILE *fp;
- char filepath[PATH_MAX], *home;
+ char filepath[PATH_MAX], *e;
int n;
- home = getenv("HOME");
- n = snprintf(filepath, sizeof(filepath), "%s%s.surf/adblockrules",
- home ? home : "", home ? "/" : "");
+ if ((e = getenv("SURF_ADBLOCK_FILE"))) {
+ n = snprintf(filepath, sizeof(filepath), "%s", e);
+ } else {
+ if (!(e = getenv("HOME")))
+ e = "";
+ n = snprintf(filepath, sizeof(filepath), "%s%s.surf/adblockrules",
+ e, e[0] && e[strlen(e) - 1] != '/' ? "/" : "");
+ }
if (n < 0 || (size_t)n >= sizeof(filepath)) {
fprintf(stderr, "fatal: path too long, truncated\n");
return;
}
if (!(fp = fopen(filepath, "r"))) {
- fprintf(stderr, "fatal: cannot read rules file: %s: %s\n",
+ fprintf(stderr, "fatal: cannot read rules from file: %s: %s\n",
filepath, strerror(errno));
return;
}
@@ -820,6 +825,6 @@ webkit_web_extension_initialize(WebKitWebExtension *e)
string_append(&globalcss, STRP("{display:none;}"));
}
- g_signal_connect(e, "page-created",
+ g_signal_connect(ext, "page-created",
G_CALLBACK(webpagecreated), NULL);
}