shithub: werc

Download patch

ref: 0805f4d07f121c9d7405cc0c2e2b940faaa961d4
parent: 18cacffe3aa32b2915ca662be1bd230a534d44dd
author: sl <uriel@engel.se.cat-v.org>
date: Tue Mar 3 15:23:00 EST 2009

Preserve ifs when calling other functions after temporary altering it. Fixes a couple of minor bugs.

Added difs env var that can be used anywhere to restore default ifs.

--- a/apps/blagh/atom.tpl
+++ b/apps/blagh/atom.tpl
@@ -16,7 +16,7 @@
     #mdate=`{/bin/date -Rd `{mtime $f|awk '{print $1}' }} # Not used because it is unreliable
     by=$stat(2)
     #ifs=() { summary=`{cat $f/index.md | crop_text 1024 ... | $formatter } }
-    ifs=() { summary=`{cat $f/index.md | $formatter } }
+    ifs=() { summary=`{cat $f/index.md | ifs=$difs {$formatter} } }
 }
 updated = `{/bin/date --rfc-3339'=seconds' |sed 's/ /T/'} 
 %}
--- a/apps/blagh/rss20.tpl
+++ b/apps/blagh/rss20.tpl
@@ -15,7 +15,7 @@
     #mdate=`{/bin/date -Rd $stat(1)} # Not used because it is unreliable
     post_uri=$base_url^`{cleanname `{echo $f | sed -e 's!^'$sitedir'!!'}}^'/'
     by=$stat(2)
-    ifs=() { summary=`{cat $f/index.md | $formatter | escape_html} }
+    ifs=() {summary=`{ cat $f/index.md | ifs=$difs {$formatter | escape_html} }}
 }
 
 %}
--- a/bin/werc.rc
+++ b/bin/werc.rc
@@ -7,6 +7,7 @@
 cd ..
 
 forbidden_uri_chars='[^a-zA-Z0-9_+\-\/\.,:]'
+difs=$ifs # Used to restore default ifs when needed 
 
 # Expected input: ls -F style, $sitedir/path/to/files/
 #          <ls -F+x><symlink hack><Useless?><hiden files  >
--- a/bin/werclib.rc
+++ b/bin/werclib.rc
@@ -45,7 +45,7 @@
             get_post_args user_name user_password
 
         if(~ $#user_name 0) { 
-            ifs=':' { cu=`{get_cookie werc_user|tr -d $NEW_LINE} }
+            ifs=':' { cu=`{ifs=$difs {get_cookie werc_user} | tr -d $NEW_LINE} }
             if(! ~ $#cu 0) {
                 user_name=$cu(1) 
                 user_password=$cu(3)