239 |
|
|
240 |
/* slow but short, we don't need performance here ... */ |
/* slow but short, we don't need performance here ... */ |
241 |
static void rot13(char *t) { |
static void rot13(char *t) { |
242 |
|
int braces = 0; |
243 |
|
|
244 |
while(*t) { |
while(*t) { |
245 |
if(((*t >= 'a') && (*t < 'n')) || |
if(!braces) { |
246 |
((*t >= 'A') && (*t < 'N'))) *t += 13; |
if(*t == '[') |
247 |
else if(((*t >= 'n') && (*t <= 'z')) || |
braces++; |
248 |
((*t >= 'N') && (*t <= 'Z'))) *t -= 13; |
else if(((*t >= 'a') && (*t < 'n')) || |
249 |
|
((*t >= 'A') && (*t < 'N'))) *t += 13; |
250 |
|
else if(((*t >= 'n') && (*t <= 'z')) || |
251 |
|
((*t >= 'N') && (*t <= 'Z'))) *t -= 13; |
252 |
|
} else { |
253 |
|
if(braces > 0 && *t == ']') |
254 |
|
braces--; |
255 |
|
} |
256 |
|
|
257 |
t++; |
t++; |
258 |
} |
} |