diff -r 473a77805cf2 -r 68e8b8d386ff core/Translator.cpp --- a/core/Translator.cpp Thu Jul 19 02:08:42 2007 +0000 +++ b/core/Translator.cpp Thu Jul 19 03:22:10 2007 +0000 @@ -368,10 +368,12 @@ *out_ptr = '\0'; state = Parse_None; /* Now, add this to our table */ - fmt_list[cur_idx - 1] = m_pStringTab->AddString(fmt_buf); + int tmp_idx = m_pStringTab->AddString(fmt_buf); + /* Update pointers and update necessary variables */ pPhrase = (phrase_t *)m_pMemory->GetAddress(m_CurPhrase); + pPhrase->fmt_bytes += strlen(fmt_buf); fmt_list = (int *)m_pMemory->GetAddress(pPhrase->fmt_list); - pPhrase->fmt_bytes += strlen(fmt_buf); + fmt_list[cur_idx - 1] = tmp_idx; } else { if (!out_ptr) {