(settime): Move the HAVE_STIME block `up' into an #elif
authorJim Meyering <jim@meyering.net>
Thu, 29 Sep 2005 13:13:49 +0000 (13:13 +0000)
committerJim Meyering <jim@meyering.net>
Thu, 29 Sep 2005 13:13:49 +0000 (13:13 +0000)
block, so that we don't even try to compile it if settimeofday is
available.  This works around a compilation failure on OSF1 V5.1,
due to stime requiring a `long int*' while tv_sec is `int'.

lib/settime.c

index 76bf706..6fbee50 100644 (file)
@@ -61,12 +61,16 @@ settime (struct timespec const *ts)
     if (r == 0 || errno == EPERM)
       return r;
   }
+#elif HAVE_STIME
+  {
+    /* This fails to compile on OSF1 V5.1, due to stime requiring
+       a `long int*' and tv_sec is `int'.  But that system does provide
+       settimeofday.  */
+    int r = stime (&ts->tv_sec);
+    if (r == 0 || errno == EPERM)
+      return r;
 #endif
 
-#if HAVE_STIME
-  return stime (&ts->tv_sec);
-#else
   errno = ENOSYS;
   return -1;
-#endif
 }