+ //replace all:
+ //$b to \002
+ //$k to \003
+ char txt[MAXLEN];
+ strcpy(txt, text);
+ char tmp[MAXLEN];
+ int tmppos = 0;
+ char *a, *b = txt;
+ do {
+ a = strstr(b, "$");
+ if(a) *a = '\0';
+ tmppos += sprintf(tmp + tmppos, "%s", b);
+ if(a) {
+ switch(a[1]) {
+ case 'b':
+ tmp[tmppos++] = '\002';
+ break;
+ case 'k':
+ tmp[tmppos++] = '\003';
+ break;
+ default:
+ //unknown - just write it
+ tmppos += sprintf(tmp + tmppos, "$%c", a[1]);
+ }
+ b = a+2;
+ }
+ } while(a);
+ lang_entry->text = strdup(tmp);