diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2012-03-13 12:57:21 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2012-03-13 12:57:21 -0700 |
commit | 5961f0de80abce4645ec2f022b2346e24b6479ed (patch) | |
tree | 2ae5ac4b66170ddf43bbc968f1160cd9aa9f2be9 /eval.c | |
parent | aa62864118b755f10b30fd58a3b7fd8407ce8c6c (diff) | |
download | txr-5961f0de80abce4645ec2f022b2346e24b6479ed.tar.gz txr-5961f0de80abce4645ec2f022b2346e24b6479ed.tar.bz2 txr-5961f0de80abce4645ec2f022b2346e24b6479ed.zip |
Implementing URL filtering.
* eval.c (eval_init): New intrinsic functions: url-encode, url-decode.
* filter.c (tourl_k, fromurl_k): New keyword variables.
(is_url_reserved, digit_value): New static functions.
(url_encode, url_decode): New functions.
(filter_init): Intialize new keyword variables and register
new :tourl and :fromurl filters.
* filter.h (tourl_k, fromurl_k, url_encode, url_decode): Declared.
* txr.1: Updated.
* txr.vim: Likewise.
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -43,6 +43,7 @@ #include "debug.h" #include "match.h" #include "rand.h" +#include "filter.h" #include "eval.h" typedef val (*opfun_t)(val, val); @@ -2354,6 +2355,9 @@ void eval_init(void) reg_fun(intern(lit("match-fun"), user_package), func_n4(match_fun)); + reg_fun(intern(lit("url-encode"), user_package), func_n1(url_encode)); + reg_fun(intern(lit("url-decode"), user_package), func_n1(url_decode)); + eval_error_s = intern(lit("eval-error"), user_package); uw_register_subtype(eval_error_s, error_s); } |