Lines 1-10
Link Here
|
1 |
--- libproxy/modules/pacrunner_webkit.cpp.orig 2010-09-01 20:23:34.000000000 +0000 |
1 |
--- libproxy/modules/pacrunner_webkit.cpp.orig 2010-09-01 20:23:34.000000000 +0000 |
2 |
+++ libproxy/modules/pacrunner_webkit.cpp |
2 |
+++ libproxy/modules/pacrunner_webkit.cpp 2014-10-23 13:56:06.000000000 -0700 |
3 |
@@ -20,6 +20,7 @@ |
3 |
@@ -20,6 +20,9 @@ |
4 |
#include "../extension_pacrunner.hpp" |
4 |
#include "../extension_pacrunner.hpp" |
5 |
using namespace libproxy; |
5 |
using namespace libproxy; |
6 |
|
6 |
|
|
|
7 |
+#include <stdlib.h> |
7 |
+#include <unistd.h> |
8 |
+#include <unistd.h> |
|
|
9 |
+#include <iostream> |
8 |
#ifdef __APPLE__ |
10 |
#ifdef __APPLE__ |
9 |
// JavaScriptCore.h requires CoreFoundation |
11 |
// JavaScriptCore.h requires CoreFoundation |
10 |
// This is only found on Mac OS X |
12 |
// This is only found on Mac OS X |
|
|
13 |
@@ -126,8 +129,25 @@ public: |
14 |
JSStringRelease(str); |
15 |
|
16 |
// Add the PAC into the context |
17 |
+ JSValueRef result; |
18 |
str = JSStringCreateWithUTF8CString(pac.c_str()); |
19 |
- if (!JSCheckScriptSyntax(this->jsctx, str, NULL, 0, NULL)) goto error; |
20 |
+ if (!JSCheckScriptSyntax(this->jsctx, str, NULL, 0, &result)) { |
21 |
+ if (getenv("_PX_DEBUG")){ |
22 |
+ JSStringRef valueAsString = JSValueToStringCopy(this->jsctx, result, NULL); |
23 |
+ size_t errlen = JSStringGetMaximumUTF8CStringSize(valueAsString); |
24 |
+ char *errmsg = (char*)calloc(1, errlen); |
25 |
+ if (errmsg) { |
26 |
+ JSStringGetUTF8CString(valueAsString, errmsg, errlen); |
27 |
+ cerr << "PAC " << errmsg << "\n"; |
28 |
+ free(errmsg); |
29 |
+ } else { |
30 |
+ cerr << "PAC SyntaxError.\n"; |
31 |
+ } |
32 |
+ JSStringRelease(valueAsString); |
33 |
+ cerr << pac.c_str() << "\n"; |
34 |
+ } |
35 |
+ goto error; |
36 |
+ } |
37 |
JSEvaluateScript(this->jsctx, str, NULL, NULL, 1, NULL); |
38 |
JSStringRelease(str); |
39 |
return; |