aboutsummaryrefslogtreecommitdiffstats
path: root/src/lread.c
diff options
context:
space:
mode:
authorPaul Eggert2011-07-27 17:48:01 -0700
committerPaul Eggert2011-07-27 17:48:01 -0700
commit044c22e545acef592ed95e4e3bb9f8aeff67291a (patch)
tree167a4c706b62b12ea979bdf6ad47e70b66bb0394 /src/lread.c
parentdbf38e02c9ade4979418f24a99962cfef170b957 (diff)
parent8265d3bb30544e58683fc16e23f9908f3d5d0abc (diff)
downloademacs-044c22e545acef592ed95e4e3bb9f8aeff67291a.tar.gz
emacs-044c22e545acef592ed95e4e3bb9f8aeff67291a.zip
Merge: Integer signedness and overflow and related fixes.
Fixes: debbugs:9079
Diffstat (limited to 'src/lread.c')
-rw-r--r--src/lread.c19
1 files changed, 0 insertions, 19 deletions
diff --git a/src/lread.c b/src/lread.c
index 83b158d97d8..0613ad037bf 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -3648,8 +3648,6 @@ static Lisp_Object initial_obarray;
3648 3648
3649static size_t oblookup_last_bucket_number; 3649static size_t oblookup_last_bucket_number;
3650 3650
3651static size_t hash_string (const char *ptr, size_t len);
3652
3653/* Get an error if OBARRAY is not an obarray. 3651/* Get an error if OBARRAY is not an obarray.
3654 If it is one, return it. */ 3652 If it is one, return it. */
3655 3653
@@ -3892,23 +3890,6 @@ oblookup (Lisp_Object obarray, register const char *ptr, EMACS_INT size, EMACS_I
3892 XSETINT (tem, hash); 3890 XSETINT (tem, hash);
3893 return tem; 3891 return tem;
3894} 3892}
3895
3896static size_t
3897hash_string (const char *ptr, size_t len)
3898{
3899 register const char *p = ptr;
3900 register const char *end = p + len;
3901 register unsigned char c;
3902 register size_t hash = 0;
3903
3904 while (p != end)
3905 {
3906 c = *p++;
3907 if (c >= 0140) c -= 40;
3908 hash = (hash << 3) + (hash >> (CHAR_BIT * sizeof hash - 4)) + c;
3909 }
3910 return hash;
3911}
3912 3893
3913void 3894void
3914map_obarray (Lisp_Object obarray, void (*fn) (Lisp_Object, Lisp_Object), Lisp_Object arg) 3895map_obarray (Lisp_Object obarray, void (*fn) (Lisp_Object, Lisp_Object), Lisp_Object arg)