summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2005-03-09 19:25:14 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2005-03-09 19:25:14 +0000
commitd7506ef9cd183fbaa952b56b59a752a2a192207c (patch)
tree100d86b9222bb66aca592f7d8e9d72ee1f24f910 /lib
parent81e7c85bcaa2f37947c5094f50b3be3669f4add6 (diff)
downloadcoreutils-d7506ef9cd183fbaa952b56b59a752a2a192207c.tar.xz
Include intprops.h.
(TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove. (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT instead of rolling our own expressions.
Diffstat (limited to 'lib')
-rw-r--r--lib/utimecmp.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/lib/utimecmp.c b/lib/utimecmp.c
index 1ff61f39a..edce9ef12 100644
--- a/lib/utimecmp.c
+++ b/lib/utimecmp.c
@@ -1,6 +1,6 @@
/* utimecmp.c -- compare file time stamps
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -35,6 +35,7 @@
#include <stdbool.h>
#include <stdlib.h>
#include "hash.h"
+#include "intprops.h"
#include "timespec.h"
#include "utimens.h"
#include "xalloc.h"
@@ -50,14 +51,6 @@
# define SIZE_MAX ((size_t) -1)
#endif
-/* The extra casts work around common compiler bugs. */
-#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
-/* The outer cast is needed to work around a bug in Cray C 5.0.3.0.
- It is necessary at least when t == time_t. */
-#define TYPE_MINIMUM(t) ((t) (TYPE_SIGNED (t) \
- ? ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1) : (t) 0))
-#define TYPE_MAXIMUM(t) ((t) (~ (t) 0 - TYPE_MINIMUM (t)))
-
enum { BILLION = 1000 * 1000 * 1000 };
/* Best possible resolution that utimens can set and stat can return,
@@ -140,8 +133,8 @@ utimecmp (char const *dst_name,
time_t might be unsigned. */
- verify (time_t_is_integer, (time_t) 0.5 == 0);
- verify (twos_complement_arithmetic, -1 == ~1 + 1);
+ verify (time_t_is_integer, TYPE_IS_INTEGER (time_t));
+ verify (twos_complement_arithmetic, TYPE_TWOS_COMPLEMENT (int));
/* Destination and source time stamps. */
time_t dst_s = dst_stat->st_mtime;