2009-03-02 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / metadata / environment.c
index d5525861fdbd82e67bb7976f8f950e6b7f7523ee..1c21cdbead61e7c35783ebe381aa5b1792251909 100644 (file)
@@ -5,8 +5,8 @@
  *     Dick Porter (dick@ximian.com)
  *     Sebastien Pouliot (sebastien@ximian.com)
  *
- * (C) 2002 Ximian, Inc.
- * (C) 2004 Novell (http://www.novell.com)
+ * Copyright 2002-2003 Ximian, Inc (http://www.ximian.com)
+ * Copyright 2004-2009 Novell, Inc (http://www.novell.com)
  */
 
 #include <config.h>
@@ -17,7 +17,7 @@
 #include <mono/metadata/exception.h>
 #include <mono/io-layer/io-layer.h>
 
-#ifndef PLATFORM_WIN32
+#if !defined(PLATFORM_WIN32) && defined(HAVE_SYS_UTSNAME_H)
 #include <sys/utsname.h>
 #endif
 
@@ -53,14 +53,15 @@ ves_icall_System_Environment_GetOSVersionString (void)
                        verinfo.dwBuildNumber);
                return mono_string_new (mono_domain_get (), version);
        }
-#else
+#elif defined(HAVE_SYS_UTSNAME_H)
        struct utsname name;
 
        MONO_ARCH_SAVE_REGS;
 
-       if (uname (&name) == 0) {
+       if (uname (&name) >= 0) {
                return mono_string_new (mono_domain_get (), name.release);
        }
 #endif
        return mono_string_new (mono_domain_get (), "0.0.0.0");
 }
+