X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=surf.c;h=ee4bfeeef7c12014740c9dd04e25ed15864e2a73;hb=344efec3fb932a9c5baae582fe70c72a0bc4a747;hp=43fd49050030a6f4b72c04410cddc8501b81abfa;hpb=87224dcdfa4ae66870ff404675b27c242c1ffd49;p=surf.git diff --git a/surf.c b/surf.c index 43fd490..ee4bfee 100644 --- a/surf.c +++ b/surf.c @@ -213,6 +213,7 @@ beforerequest(WebKitWebView *w, WebKitWebFrame *f, WebKitWebResource *r, WebKitNetworkRequest *req, WebKitNetworkResponse *resp, Client *c) { const gchar *uri = webkit_network_request_get_uri(req); + int i, isascii = 1; if(g_str_has_suffix(uri, "/favicon.ico")) webkit_network_request_set_uri(req, "about:blank"); @@ -221,8 +222,18 @@ beforerequest(WebKitWebView *w, WebKitWebFrame *f, WebKitWebResource *r, && !g_str_has_prefix(uri, "https://") \ && !g_str_has_prefix(uri, "about:") \ && !g_str_has_prefix(uri, "file://") \ + && !g_str_has_prefix(uri, "data:") \ + && !g_str_has_prefix(uri, "blob:") \ && strlen(uri) > 0) { - handleplumb(c, w, uri); + + for(i = 0; i < strlen(uri); i++) { + if(!g_ascii_isprint(uri[i])) { + isascii = 0; + break; + } + } + if(isascii) + handleplumb(c, w, uri); } }