0022898: IGES import fails in german environment
[occt.git] / src / OSD / OSD.cxx
index 9a485f2..26de136 100755 (executable)
 # define finite isfinite
 #endif
 
-static Standard_Integer DecimalPoint = 0 ;
-
-static void GetDecimalPoint() {
-  float F1 = (float ) 1.1 ;
-  char str[5] ;
-
-  sprintf(str,"%.1f",F1) ;
-                             //  printf("%s\n",str) ;
-  DecimalPoint = str[1] ;
-}
-
 // Convert Real to CString in format e with 16 significant digits.
 // The decimal point character is always a period.
 // The conversion is independant from current locale database
@@ -48,20 +37,9 @@ Standard_Boolean OSD::RealToCString(const Standard_Real aReal,
 {
   char *p, *q ;
   
-  // Get the local decimal point character 
-
-  if (!DecimalPoint)
-    GetDecimalPoint() ;
-
-  // Substitute it
-
-//  if (sprintf(aString,"%.15le",aReal)  <= 0)
-  if (sprintf(aString,"%.17e",aReal)  <= 0) //BUC60808
+  if (Sprintf(aString,"%.17e",aReal)  <= 0) //BUC60808
     return Standard_False ;
 
-  if ((p = strchr(aString,DecimalPoint)))
-    *p = '.' ;
-
   // Suppress "e+00" and unsignificant 0's 
 
   if ((p = strchr(aString,'e'))) {
@@ -83,25 +61,8 @@ Standard_Boolean OSD::RealToCString(const Standard_Real aReal,
 Standard_Boolean OSD::CStringToReal(const Standard_CString aString,
                                    Standard_Real& aReal)
 {
-  const char *p;
   char *endptr ;
-
-  // Get the local decimal point character 
-
-  if (!DecimalPoint)
-    GetDecimalPoint() ;
-
-  const char *str = aString;
-  char buff[1024];  
-  //if((p = strchr(aString,'.')))
-  if(DecimalPoint != '.' && (p = strchr(aString,'.'))&& ((p-aString) < 1000) )
-  {
-    strncpy(buff, aString, 1000);
-    buff[p-aString] = DecimalPoint ;
-    str = buff;
-  }
-  aReal = strtod(str,&endptr) ;
+  aReal = Strtod(aString, &endptr);
   if (*endptr)
     return Standard_False ;
   return Standard_True;
@@ -115,7 +76,7 @@ Standard_Boolean OSD::CStringToReal(const Standard_CString aString,
 #ifdef WNT
 # include <Windows.h>
 #if !defined(__CYGWIN32__) && !defined(__MINGW32__)
-# include <Mapiwin.h>
+//# include <Mapiwin.h>
 #endif
 # define _DEXPLEN                   11
 # define _IEEE                       1