? l10ned_symbol.patch
? test.patch
? test.txt
Index: source/cfgitem.cxx
===================================================================
RCS file: /cvs/sw/starmath/source/cfgitem.cxx,v
retrieving revision 1.12
diff -u -r1.12 cfgitem.cxx
--- source/cfgitem.cxx	12 Jun 2003 11:15:48 -0000	1.12
+++ source/cfgitem.cxx	24 Jan 2005 16:27:16 -0000
@@ -602,13 +602,43 @@
 
 	if (pSymbols)
         delete [] pSymbols;
-	pSymbols = nNodes ? new SmSym[ nNodes ] : 0;
-    nSymbolCount = (USHORT) nNodes;
+    //	pSymbols = nNodes ? new SmSym[ nNodes ] : 0;
+    //    nSymbolCount = (USHORT) nNodes;
 
+    SmSym tmpSym;
+    INT32 tmpSymCount = nNodes;
+    INT32 i = 0;
+
+    for(i = 0;i < nNodes; ++i)
+    {
+      tmpSym = ReadSymbol( aCfg, pNode[i], A2OU( SYMBOL_LIST ) );
+      if(tmpSym.GetName() != tmpSym.GetExportName()){
+        tmpSymCount++;
+      }
+    }
+
+    pSymbols = nNodes ? new SmSym[ tmpSymCount ] : 0;
+    nSymbolCount = (USHORT) tmpSymCount;
+
+    INT32 j = 0;
+
+    for( i = 0; i < nNodes; ++i)
+    {
+      pSymbols[i] = ReadSymbol( aCfg, pNode[i], A2OU( SYMBOL_LIST ) );
+      if(pSymbols[i].GetName() != pSymbols[i].GetExportName()){
+        // allows not l10ned symbols
+        pSymbols[nNodes + j] = ReadSymbol( aCfg, pNode[i], A2OU( SYMBOL_LIST) );
+        pSymbols[nNodes + j].SetName( pSymbols[nNodes + j].GetExportName() );
+        j++;
+      }
+    }
+
+    /*
 	for (INT32 i = 0;  i < nNodes;  ++i)
 	{
 		pSymbols[i] = ReadSymbol( aCfg, pNode[i], A2OU( SYMBOL_LIST ) );
 	}
+    */
 }
 
 
