Blame SOURCES/xfsprogs-5.10.0-libfrog-convert-cvttime-to-return-time64_t.patch

5d5cbe
From bf6d4cf988176ad7efd0089830bfbf200a5e0196 Mon Sep 17 00:00:00 2001
5d5cbe
From: "Darrick J. Wong" <darrick.wong@oracle.com>
5d5cbe
Date: Fri, 20 Nov 2020 17:03:27 -0500
5d5cbe
Subject: [PATCH] libfrog: convert cvttime to return time64_t
5d5cbe
5d5cbe
Change the cvttime function to return 64-bit time values so that we can
5d5cbe
put them to use with the bigtime feature.
5d5cbe
5d5cbe
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
5d5cbe
Reviewed-by: Christoph Hellwig <hch@lst.de>
5d5cbe
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
5d5cbe
---
5d5cbe
5d5cbe
diff --git a/include/convert.h b/include/convert.h
5d5cbe
index 0489a1d..2b427df 100644
5d5cbe
--- a/include/convert.h
5d5cbe
+++ b/include/convert.h
5d5cbe
@@ -16,7 +16,7 @@ extern uint16_t	cvt_u16(char *s, int base);
5d5cbe
 
5d5cbe
 extern long long cvtnum(size_t blocksize, size_t sectorsize, char *s);
5d5cbe
 extern void cvtstr(double value, char *str, size_t sz);
5d5cbe
-extern unsigned long cvttime(char *s);
5d5cbe
+extern time64_t cvttime(char *s);
5d5cbe
 
5d5cbe
 extern uid_t	uid_from_string(char *user);
5d5cbe
 extern gid_t	gid_from_string(char *group);
5d5cbe
diff --git a/libfrog/convert.c b/libfrog/convert.c
5d5cbe
index ed4cae7..209b874 100644
5d5cbe
--- a/libfrog/convert.c
5d5cbe
+++ b/libfrog/convert.c
5d5cbe
@@ -267,14 +267,14 @@ cvtstr(
5d5cbe
 #define DAYS_TO_SECONDS(d)	((d) * HOURS_TO_SECONDS(24))
5d5cbe
 #define WEEKS_TO_SECONDS(w)	((w) * DAYS_TO_SECONDS(7))
5d5cbe
 
5d5cbe
-unsigned long
5d5cbe
+time64_t
5d5cbe
 cvttime(
5d5cbe
 	char		*s)
5d5cbe
 {
5d5cbe
-	unsigned long	i;
5d5cbe
+	time64_t	i;
5d5cbe
 	char		*sp;
5d5cbe
 
5d5cbe
-	i = strtoul(s, &sp, 0);
5d5cbe
+	i = strtoll(s, &sp, 0);
5d5cbe
 	if (i == 0 && sp == s)
5d5cbe
 		return 0;
5d5cbe
 	if (*sp == '\0')
5d5cbe
diff --git a/quota/edit.c b/quota/edit.c
5d5cbe
index 01d358f..b3cad02 100644
5d5cbe
--- a/quota/edit.c
5d5cbe
+++ b/quota/edit.c
5d5cbe
@@ -419,13 +419,13 @@ restore_f(
5d5cbe
 
5d5cbe
 static void
5d5cbe
 set_timer(
5d5cbe
-	uint32_t	id,
5d5cbe
-	uint		type,
5d5cbe
-	uint		mask,
5d5cbe
-	char		*dev,
5d5cbe
-	uint		value)
5d5cbe
+	uint32_t		id,
5d5cbe
+	uint			type,
5d5cbe
+	uint			mask,
5d5cbe
+	char			*dev,
5d5cbe
+	time64_t		value)
5d5cbe
 {
5d5cbe
-	fs_disk_quota_t	d;
5d5cbe
+	struct fs_disk_quota	d;
5d5cbe
 
5d5cbe
 	memset(&d, 0, sizeof(d));
5d5cbe
 
5d5cbe
@@ -476,7 +476,7 @@ timer_f(
5d5cbe
 	int		argc,
5d5cbe
 	char		**argv)
5d5cbe
 {
5d5cbe
-	uint		value;
5d5cbe
+	time64_t	value;
5d5cbe
 	char		*name = NULL;
5d5cbe
 	uint32_t	id = 0;
5d5cbe
 	int		c, flags = 0, type = 0, mask = 0;