-// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
//
// File : Basics_Utils.cxx
-// Autor : Alexander A. BORODIN
+// Author : Alexander A. BORODIN
// Module : SALOME
//
namespace Kernel_Utils
{
+ // threadsafe
std::string GetHostname()
{
int ls = 100, r = 1;
{
ls *= 2;
s = new char[ls];
- r = gethostname(s, ls-1);
+ r = gethostname(s, ls-1);//threadsafe see man 7 pthread
switch (r)
{
case 0:
free (strings);
}
+#else
+ #if (_MSC_VER >= 1400) // Visual Studio 2005
+ #include <sstream>
+ int setenv(const char *name, const char *value, int rewrite)\r
+ {\r
+ std::stringstream sstr;\r
+ sstr<<name<<'='<<value;\r
+ if(rewrite || std::string(getenv(name)).length() == 0)\r
+ return _putenv(sstr.str().c_str());\r
+ else return -1;\r
+ }
+ #endif
#endif
}