From 89682cafa1c25fb97a594f126880595175b891b7 Mon Sep 17 00:00:00 2001 From: Uriel Date: Fri, 13 Feb 2009 23:18:34 +0000 Subject: [PATCH] Fix bug in crop_text and make length argument optional (default is 512 chars). --- bin/cgilib.rc | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/bin/cgilib.rc b/bin/cgilib.rc index 0ae1230..a0656c0 100644 --- a/bin/cgilib.rc +++ b/bin/cgilib.rc @@ -160,16 +160,21 @@ fn ll_add { NEW_LINE=' ' +# crop_text [max_lenght [ellipsis]] +# TODO: Option to crop only at word-delimiters. fn crop_text { - ellipsis='...' - if(~ $#* 2) - ellipsis=$2 + m=512 + e='...' + if(! ~ $#1 0) + m=$1 + if(! ~ $#2 0) + e=$2 - awk -v max'='^$"1^' ' -v 'ellipsis='$ellipsis ' + awk -v 'max='^$"m -v 'ellipsis='$e ' { nc += 1 + length; if(nc > max) { - print substr($0, 1, nc - max) ellipsis + print substr($0, 1, nc - max) " " ellipsis exit } print