- if (kmod_list_[accent]) {
- FreeException(kmod_list_[accent]->exception_list);
-
- delete kmod_list_[accent];
- }
-
- kmod_list_[accent] = new kmod_list_decl;
- kmod_list_[accent]->data = keys;
- kmod_list_[accent]->accent = accent;
- if (allowed=="all") {
- kmod_list_[accent]->allowed=lyx_accent_table[accent].native;
- } else {
- kmod_list_[accent]->allowed = allowed;
- }
-
- for(int i=0;i<keys.length();i++) {
- char *temp;
- temp=keymap_[(unsigned char)keys[i]]=new char[2];
- temp[0]=0; temp[1]=accent;
+ KmodInfo tmp;
+ tmp.data = keys;
+ tmp.accent = accent;
+ kmod_list_[accent] = tmp;
+
+ for (string::size_type i = 0; i < keys.length(); ++i) {
+ string tmp;
+ tmp += char(0);
+ tmp += char(accent);
+ keymap_[keys[i]] = tmp;