OpenCoverage

settime.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/coreutils/src/gnulib/lib/settime.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/* settime -- set the system clock-
2-
3 Copyright (C) 2002, 2004-2007, 2009-2018 Free Software Foundation, Inc.-
4-
5 This program is free software: you can redistribute it and/or modify-
6 it under the terms of the GNU General Public License as published by-
7 the Free Software Foundation; either version 3 of the License, or-
8 (at your option) any later version.-
9-
10 This program is distributed in the hope that it will be useful,-
11 but WITHOUT ANY WARRANTY; without even the implied warranty of-
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the-
13 GNU General Public License for more details.-
14-
15 You should have received a copy of the GNU General Public License-
16 along with this program. If not, see <https://www.gnu.org/licenses/>. */-
17-
18/* Written by Paul Eggert. */-
19-
20#include <config.h>-
21-
22#include "timespec.h"-
23-
24#include <sys/time.h>-
25#include <unistd.h>-
26-
27#include <errno.h>-
28-
29/* Set the system time. */-
30-
31int-
32settime (struct timespec const *ts)-
33{-
34#if defined CLOCK_REALTIME && HAVE_CLOCK_SETTIME-
35 {-
36 int r = clock_settime (CLOCK_REALTIME, ts);-
37 if (r == 0 || errno == EPERM)
r == 0Description
TRUEnever evaluated
FALSEnever evaluated
(*__errno_location ()) == 1Description
TRUEnever evaluated
FALSEnever evaluated
0
38 return r;
never executed: return r;
0
39 }-
40#endif-
41-
42#if HAVE_SETTIMEOFDAY-
43 {-
44 struct timeval tv;-
45-
46 tv.tv_sec = ts->tv_sec;-
47 tv.tv_usec = ts->tv_nsec / 1000;-
48 return settimeofday (&tv, 0);
never executed: return settimeofday (&tv, 0);
0
49 }-
50#elif HAVE_STIME-
51 /* This fails to compile on OSF1 V5.1, due to stime requiring-
52 a 'long int*' and tv_sec is 'int'. But that system does provide-
53 settimeofday. */-
54 return stime (&ts->tv_sec);-
55#else-
56 errno = ENOSYS;-
57 return -1;-
58#endif-
59}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.1.2