Mercurial > pidgin
view mkinstalldirs @ 842:2804dc8e9ba0
[gaim-migrate @ 852]
HTML widget is faster, more stable :)
oh my cs teacher would be so proud. here's a description of the old algorithm and my new improved one:
old algorithm: print as much text as we can. then try printing the rest of it.
with at 4000 character message, this usually leads to a stack about 200 functions deep. depending on the amound of memory you have, this may have lead to a segfault.
new algorithm: if we can print it all, print it all. if we can't { if we've already printed stuff on this line then finish printing the line. print the first half of the stuff, then the second half. }
this usually leads to a stack no deeper than about 20 functions. it also causes the widget to be much faster.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Tue, 05 Sep 2000 21:30:43 +0000 |
parents | 494816c30ca7 |
children |
line wrap: on
line source
#! /bin/sh # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman <friedman@prep.ai.mit.edu> # Created: 1993-05-16 # Public domain # $Id: mkinstalldirs 14 2000-03-23 03:23:41Z robflynn $ errstatus=0 for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do pathcomp="$pathcomp$d" case "$pathcomp" in -* ) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" 1>&2 mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr fi fi pathcomp="$pathcomp/" done done exit $errstatus # mkinstalldirs ends here