--- trunk/src/cache.c 2009/07/29 19:24:15 34 +++ trunk/src/cache.c 2009/08/13 12:01:52 55 @@ -239,11 +239,20 @@ /* slow but short, we don't need performance here ... */ static void rot13(char *t) { + int braces = 0; + while(*t) { - if(((*t >= 'a') && (*t < 'n')) || - ((*t >= 'A') && (*t < 'N'))) *t += 13; - else if(((*t >= 'n') && (*t <= 'z')) || - ((*t >= 'N') && (*t <= 'Z'))) *t -= 13; + if(!braces) { + if(*t == '[') + braces++; + else if(((*t >= 'a') && (*t < 'n')) || + ((*t >= 'A') && (*t < 'N'))) *t += 13; + else if(((*t >= 'n') && (*t <= 'z')) || + ((*t >= 'N') && (*t <= 'Z'))) *t -= 13; + } else { + if(braces > 0 && *t == ']') + braces--; + } t++; }