[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnetlib/runtime/System/Globalization CompareI
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnetlib/runtime/System/Globalization CompareInfo.cs,1.5,1.6 CultureInfo.cs,1.12,1.13 |
Date: |
Wed, 13 Nov 2002 23:04:20 -0500 |
Update of /cvsroot/dotgnu-pnet/pnetlib/runtime/System/Globalization
In directory subversions:/tmp/cvs-serv4455/runtime/System/Globalization
Modified Files:
CompareInfo.cs CultureInfo.cs
Log Message:
Resolve some circularity problems with the initialization of "CurrentCulture".
Index: CompareInfo.cs
===================================================================
RCS file:
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Globalization/CompareInfo.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** CompareInfo.cs 14 Nov 2002 03:17:10 -0000 1.5
--- CompareInfo.cs 14 Nov 2002 04:04:16 -0000 1.6
***************
*** 86,90 ****
throw new
ArgumentNullException("culture");
}
! return
GetCompareInfo(CultureInfo.MapNameToID(culture));
}
public static CompareInfo GetCompareInfo(int culture, Assembly assembly)
--- 86,90 ----
throw new
ArgumentNullException("culture");
}
! return
GetCompareInfo(CultureInfo.MapNameToID(culture, true));
}
public static CompareInfo GetCompareInfo(int culture, Assembly assembly)
Index: CultureInfo.cs
===================================================================
RCS file:
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Globalization/CultureInfo.cs,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** CultureInfo.cs 14 Nov 2002 03:26:02 -0000 1.12
--- CultureInfo.cs 14 Nov 2002 04:04:16 -0000 1.13
***************
*** 33,36 ****
--- 33,37 ----
private static CultureInfo invariantCulture;
private static CultureInfo currentCulture;
+ private static bool gettingCurrent;
// Internal state.
***************
*** 71,75 ****
{
cultureID = culture;
! cultureName =
CultureNameTable.GetNameInfoByID(0x0C0A);
}
else if(culture == 0x007F)
--- 72,78 ----
{
cultureID = culture;
! cultureName =
CultureNameTable.GetNameInfoByID
! (0x0C0A, true);
! handler =
_I18NCultureHandler.GetCultureHandler(cultureID);
}
else if(culture == 0x007F)
***************
*** 85,92 ****
{
cultureID = culture;
! cultureName =
CultureNameTable.GetNameInfoByID(culture);
}
userOverride = useUserOverride;
- handler =
_I18NCultureHandler.GetCultureHandler(cultureID);
}
public CultureInfo(String name, bool useUserOverride)
--- 88,96 ----
{
cultureID = culture;
! cultureName =
CultureNameTable.GetNameInfoByID
! (culture, true);
! handler =
_I18NCultureHandler.GetCultureHandler(cultureID);
}
userOverride = useUserOverride;
}
public CultureInfo(String name, bool useUserOverride)
***************
*** 96,100 ****
throw new ArgumentNullException("name");
}
! cultureName =
CultureNameTable.GetNameInfoByName(name);
cultureID = cultureName.cultureID;
userOverride = useUserOverride;
--- 100,104 ----
throw new ArgumentNullException("name");
}
! cultureName =
CultureNameTable.GetNameInfoByName(name, true);
cultureID = cultureName.cultureID;
userOverride = useUserOverride;
***************
*** 138,141 ****
--- 142,152 ----
return currentCulture;
}
+ if(gettingCurrent)
+ {
+ // We were recursively
called during initialization,
+ // so return the
invariant culture for now.
+ return InvariantCulture;
+ }
+ gettingCurrent = true;
int id = InternalCultureID();
if(id <= 0)
***************
*** 144,155 ****
// engine doesn't know
about culture ID's.
String name =
InternalCultureName();
! try
! {
! id =
MapNameToID(name);
! }
! catch(ArgumentException)
! {
! id = -1;
! }
}
if(id <= 0 ||
--- 155,159 ----
// engine doesn't know
about culture ID's.
String name =
InternalCultureName();
! id = MapNameToID(name,
false);
}
if(id <= 0 ||
***************
*** 163,166 ****
--- 167,171 ----
currentCulture.readOnly
= true;
}
+ gettingCurrent = false;
return currentCulture;
}
***************
*** 578,586 ****
// Map a culture name to an identifier.
! internal static int MapNameToID(String name)
{
CultureName cultureName =
!
CultureNameTable.GetNameInfoByName(name);
! return cultureName.cultureID;
}
--- 583,598 ----
// Map a culture name to an identifier.
! internal static int MapNameToID(String name, bool throwOnError)
{
CultureName cultureName =
!
CultureNameTable.GetNameInfoByName(name, throwOnError);
! if(cultureName != null)
! {
! return cultureName.cultureID;
! }
! else
! {
! return 0;
! }
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnetlib/runtime/System/Globalization CompareInfo.cs,1.5,1.6 CultureInfo.cs,1.12,1.13,
Rhys Weatherley <address@hidden> <=