aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog10
-rw-r--r--src/fns.c6
2 files changed, 15 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 0f511e9dbf..c5e1043e2d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,13 @@
+2007-01-13 Eli Zaretskii <[email protected]>
+
+ * fns.c (maybe_resize_hash_table): Copy new size of hash table
+ into EMACS_INT to avoid GCC warnings.
+
+ * editfns.c (Fuser_uid, Fuser_real_uid): Copy values returned by
+ geteuid and getuid into EMACS_INT to avoid GCC warnings.
+
+ * dired.c (Ffile_attributes): Fix last change.
+
2007-01-12 Eli Zaretskii <[email protected]>
* dired.c (Ffile_attributes): Copy some members of `struct stat'
diff --git a/src/fns.c b/src/fns.c
index f65375438f..1297e18f29 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -4668,6 +4668,7 @@ maybe_resize_hash_table (h)
{
int old_size = HASH_TABLE_SIZE (h);
int i, new_size, index_size;
+ EMACS_INT nsize;
if (INTEGERP (h->rehash_size))
new_size = old_size + XFASTINT (h->rehash_size);
@@ -4677,7 +4678,10 @@ maybe_resize_hash_table (h)
index_size = next_almost_prime ((int)
(new_size
/ XFLOATINT (h->rehash_threshold)));
- if (max (index_size, 2 * new_size) > MOST_POSITIVE_FIXNUM)
+ /* Assignment to EMACS_INT stops GCC whining about limited range
+ of data type. */
+ nsize = max (index_size, 2 * new_size);
+ if (nsize > MOST_POSITIVE_FIXNUM)
error ("Hash table too large to resize");
h->key_and_value = larger_vector (h->key_and_value, 2 * new_size, Qnil);