patches/uptimed-utmpx.diff
author jurikm
Sun, 12 Feb 2012 14:04:10 +0000
changeset 8245 383896da4129
parent 2218 8e839f9d7293
permissions -rw-r--r--
SFEsauerbraten.spec: add IPS package name
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2218
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
     1
--- uptimed-0.3.16/libuptimed/urec.h	Fri Jan  2 00:46:00 2009
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
     2
+++ uptimed-0.3.16-patch/libuptimed/urec.h	Sat Oct 17 17:47:24 2009
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
     3
@@ -34,8 +34,9 @@
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
     4
 
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
     5
 #ifdef PLATFORM_SOLARIS
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
     6
 #include <unistd.h>
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
     7
-#include <sys/time.h>
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
     8
-#include <utmp.h>
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
     9
+#include <sys/types.h>
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    10
+#include <time.h>
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    11
+#include <utmpx.h>
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    12
 #include <fcntl.h>
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    13
 #endif
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    14
 
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    15
--- uptimed-0.3.16/libuptimed/urec.c	Fri Jan  2 00:46:00 2009
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    16
+++ uptimed-0.3.16-patch/libuptimed/urec.c	Sat Oct 17 19:54:08 2009
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    17
@@ -148,15 +148,15 @@
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    18
 #ifdef PLATFORM_SOLARIS
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    19
 time_t read_uptime(void) {
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    20
 	int fd;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    21
-	struct utmp ut;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    22
+	struct utmpx ut;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    23
 	int found=0;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    24
 
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    25
-	fd = open (UTMP_FILE, O_RDONLY);
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    26
+	fd = open (UTMPX_FILE, O_RDONLY);
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    27
 	if (fd >= 0) {
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    28
 		while (!found) {
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    29
-			if (read(fd, &ut, sizeof(ut)) < 0) {
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    30
+			if (read(fd, &ut, sizeof(ut)) == -1) {
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    31
 				found = -1;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    32
-			} else if (ut.ut_type==BOOT_TIME) {
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    33
+			} else if (ut.ut_type == BOOT_TIME) {
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    34
 				found = 1;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    35
 			}
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    36
 		}
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    37
@@ -163,7 +163,7 @@
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    38
 		close(fd);
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    39
 	}
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    40
 
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    41
-	if (found == 1) return time(0) - ut.ut_time;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    42
+	if (found == 1) return time(0) - ut.ut_tv.tv_sec;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    43
 
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    44
 	return 0;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    45
 }
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    46
@@ -305,16 +305,16 @@
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    47
 int createbootid(void) {
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    48
 	FILE *f;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    49
 	int fd;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    50
-	struct utmp ut;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    51
+	struct utmpx ut;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    52
 	int found = 0;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    53
 	time_t bootid = 0;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    54
 
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    55
-	fd = open (UTMP_FILE, O_RDONLY);
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    56
+	fd = open (UTMPX_FILE, O_RDONLY);
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    57
 	if (fd >= 0) {
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    58
 		while(!found) {
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    59
-			if (read(fd, &ut, sizeof(ut)) < 0) {
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    60
+			if (read(fd, &ut, sizeof(ut)) == -1) {
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    61
 				found = -1;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    62
-			} else if (ut.ut_type==BOOT_TIME) {
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    63
+			} else if (ut.ut_type == BOOT_TIME) {
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    64
 				found = 1;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    65
 			}
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    66
 		}
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    67
@@ -321,7 +321,7 @@
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    68
 		close(fd);
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    69
 	}
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    70
 
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    71
-	if (found == 1) bootid = ut.ut_time;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    72
+	if (found == 1) bootid = ut.ut_tv.tv_sec;
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    73
 
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    74
 	f = fopen(FILE_BOOTID, "w");
8e839f9d7293 SFEuptimed.spec: Initial spec
jurikm
parents:
diff changeset
    75
 	if (!f) {