Kaydet (Commit) 3deb83d7 authored tarafından Eike Rathke's avatar Eike Rathke

i#106210 store proper ODFF names, accept aliases

Older releases stored a few function names not defined by ODFF, namely
EASTERSUNDAY instead of ORG.OPENOFFICE.EASTERSUNDAY, TDIST instead of
LEGACY.TDIST and B instead of BINOM.DIST.RANGE.

Since OOo/LibO 3.3 the proper function names can be read, additionally to the
"wrong" names. Now it's time to write the proper names and still accept the
incorrect ones.

Test cases are attached to AOOo issues:
ORG.OPENOFFICE.EASTERSUNDAY
https://issues.apache.org/ooo/show_bug.cgi?id=112882
LEGACY.TDIST and BINOM.DIST.RANGE
https://issues.apache.org/ooo/show_bug.cgi?id=110229
Note that the FALSE in A2 and A3 is a result of the string comparison of the
actual formula, that differs in separators (, vs ;) only.
(cherry picked from commit a9b03bd1)
üst 4d6b8841
......@@ -192,7 +192,7 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF
String SC_OPCODE_ST_DEV_A { Text = "STDEVA" ; };
String SC_OPCODE_ST_DEV_P { Text = "STDEVP" ; };
String SC_OPCODE_ST_DEV_P_A { Text = "STDEVPA" ; };
String SC_OPCODE_B { Text = "B" ; };
String SC_OPCODE_B { Text = "BINOM.DIST.RANGE" ; };
String SC_OPCODE_NORM_DIST { Text = "NORMDIST" ; };
String SC_OPCODE_EXP_DIST { Text = "EXPONDIST" ; };
String SC_OPCODE_BINOM_DIST { Text = "BINOMDIST" ; };
......@@ -273,7 +273,7 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF
String SC_OPCODE_BACK_SOLVER { Text = "GOALSEEK" ; };
String SC_OPCODE_HYP_GEOM_DIST { Text = "HYPGEOMDIST" ; };
String SC_OPCODE_LOG_NORM_DIST { Text = "LOGNORMDIST" ; };
String SC_OPCODE_T_DIST { Text = "TDIST" ; };
String SC_OPCODE_T_DIST { Text = "LEGACY.TDIST" ; };
String SC_OPCODE_F_DIST { Text = "LEGACY.FDIST" ; };
String SC_OPCODE_CHI_DIST { Text = "LEGACY.CHIDIST" ; };
String SC_OPCODE_WEIBULL { Text = "WEIBULL" ; };
......@@ -325,7 +325,7 @@ Resource RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF
String SC_OPCODE_BETA_DIST { Text = "BETADIST" ; };
String SC_OPCODE_BETA_INV { Text = "BETAINV" ; };
String SC_OPCODE_WEEK { Text = "ISOWEEKNUM" ; };
String SC_OPCODE_EASTERSUNDAY { Text = "EASTERSUNDAY" ; };
String SC_OPCODE_EASTERSUNDAY { Text = "ORG.OPENOFFICE.EASTERSUNDAY" ; };
String SC_OPCODE_GET_DAY_OF_WEEK { Text = "WEEKDAY" ; };
String SC_OPCODE_NO_NAME { Text = "#NAME!" ; };
String SC_OPCODE_STYLE { Text = "ORG.OPENOFFICE.STYLE" ; };
......
......@@ -2478,11 +2478,12 @@ bool ScCompiler::IsOpCode( const String& rName, bool bInArray )
};
static const FunctionName aOdffAliases[] = {
// Renamed old names:
// XXX none yet.
{ "B", ocB }, // B -> BINOM.DIST.RANGE
{ "TDIST", ocTDist }, // TDIST -> LEGACY.TDIST
{ "EASTERSUNDAY", ocEasterSunday } // EASTERSUNDAY -> ORG.OPENOFFICE.EASTERSUNDAY
// Renamed new names:
{ "BINOM.DIST.RANGE", ocB }, // B -> BINOM.DIST.RANGE
{ "LEGACY.TDIST", ocTDist }, // TDIST -> LEGACY.TDIST
{ "ORG.OPENOFFICE.EASTERSUNDAY", ocEasterSunday } // EASTERSUNDAY -> ORG.OPENOFFICE.EASTERSUNDAY
// XXX none currently. Example:
//{ "ORG.OPENOFFICE.EASTERSUNDAY", ocEasterSunday }
};
static const size_t nOdffAliases = SAL_N_ELEMENTS(aOdffAliases);
for (size_t i=0; i<nOdffAliases; ++i)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment