From b93eef9db34212093ef42abf22c696763d50d7df Mon Sep 17 00:00:00 2001 From: brectanus Date: Tue, 1 May 2007 15:59:52 +0000 Subject: [PATCH] Added t:length to transform a value to its character length. See #55. --- CHANGES | 2 ++ apache2/re_tfns.c | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/CHANGES b/CHANGES index 0fba223d..65e7e462 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,8 @@ ?? ??? 2007 - trunk ------------------- + * Added t:length to transform a value to its character length. + * Added t:trimLeft, t:trimRight, t:trim to remove whitespace from a value on the left, right or both. diff --git a/apache2/re_tfns.c b/apache2/re_tfns.c index 8a7a25b5..967e38ee 100644 --- a/apache2/re_tfns.c +++ b/apache2/re_tfns.c @@ -319,6 +319,17 @@ static int msre_fn_base64Decode_execute(apr_pool_t *mptmp, unsigned char *input, return 1; } +/* length */ + +static int msre_fn_length_execute(apr_pool_t *mptmp, unsigned char *input, + long int input_len, char **rval, long int *rval_len) +{ + *rval = apr_psprintf(mptmp, "%ld", input_len); + *rval_len = strlen(*rval); + + return 1; +} + /* md5 */ static int msre_fn_md5_execute(apr_pool_t *mptmp, unsigned char *input, @@ -496,6 +507,12 @@ void msre_engine_register_default_tfns(msre_engine *engine) { msre_fn_htmlEntityDecode_execute ); + /* length */ + msre_engine_tfn_register(engine, + "length", + msre_fn_length_execute + ); + /* lowercase */ msre_engine_tfn_register(engine, "lowercase",