diff options
| author | Paul Eggert | 2011-06-21 14:32:10 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-06-21 14:32:10 -0700 |
| commit | b081724f64cbb2bf1f12efdb4d446c1de9bf3c0c (patch) | |
| tree | 00f145722fcbfb737a464ee83fbae70be8d6a4b4 /src/buffer.h | |
| parent | 3de73e5ee550ff9715e3c6034b2575a4386cf331 (diff) | |
| download | emacs-b081724f64cbb2bf1f12efdb4d446c1de9bf3c0c.tar.gz emacs-b081724f64cbb2bf1f12efdb4d446c1de9bf3c0c.zip | |
Use ptrdiff_t, not int, for overlay counts.
* buffer.h (overlays_at, sort_overlays, GET_OVERLAYS_AT):
* editfns.c (overlays_around, get_pos_property):
* textprop.c (get_char_property_and_overlay):
* xdisp.c (next_overlay_change, note_mouse_highlight):
* xfaces.c (face_at_buffer_position):
* buffer.c (overlays_at, sort_overlays, Foverlays_at)
(Fnext_overlay_change, Fprevious_overlay_change):
Use ptrdiff_t, not int, for sizes.
(overlays_at): Check for size-calculation overflow.
Diffstat (limited to 'src/buffer.h')
| -rw-r--r-- | src/buffer.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/buffer.h b/src/buffer.h index a13351b5ea6..4643e0d9d0e 100644 --- a/src/buffer.h +++ b/src/buffer.h | |||
| @@ -887,10 +887,10 @@ extern struct buffer buffer_local_symbols; | |||
| 887 | extern void delete_all_overlays (struct buffer *); | 887 | extern void delete_all_overlays (struct buffer *); |
| 888 | extern void reset_buffer (struct buffer *); | 888 | extern void reset_buffer (struct buffer *); |
| 889 | extern void evaporate_overlays (EMACS_INT); | 889 | extern void evaporate_overlays (EMACS_INT); |
| 890 | extern int overlays_at (EMACS_INT pos, int extend, Lisp_Object **vec_ptr, | 890 | extern ptrdiff_t overlays_at (EMACS_INT pos, int extend, Lisp_Object **vec_ptr, |
| 891 | int *len_ptr, EMACS_INT *next_ptr, | 891 | ptrdiff_t *len_ptr, EMACS_INT *next_ptr, |
| 892 | EMACS_INT *prev_ptr, int change_req); | 892 | EMACS_INT *prev_ptr, int change_req); |
| 893 | extern int sort_overlays (Lisp_Object *, int, struct window *); | 893 | extern ptrdiff_t sort_overlays (Lisp_Object *, ptrdiff_t, struct window *); |
| 894 | extern void recenter_overlay_lists (struct buffer *, EMACS_INT); | 894 | extern void recenter_overlay_lists (struct buffer *, EMACS_INT); |
| 895 | extern EMACS_INT overlay_strings (EMACS_INT, struct window *, unsigned char **); | 895 | extern EMACS_INT overlay_strings (EMACS_INT, struct window *, unsigned char **); |
| 896 | extern void validate_region (Lisp_Object *, Lisp_Object *); | 896 | extern void validate_region (Lisp_Object *, Lisp_Object *); |
| @@ -908,7 +908,7 @@ extern void mmap_set_vars (int); | |||
| 908 | 908 | ||
| 909 | #define GET_OVERLAYS_AT(posn, overlays, noverlays, nextp, chrq) \ | 909 | #define GET_OVERLAYS_AT(posn, overlays, noverlays, nextp, chrq) \ |
| 910 | do { \ | 910 | do { \ |
| 911 | int maxlen = 40; \ | 911 | ptrdiff_t maxlen = 40; \ |
| 912 | overlays = (Lisp_Object *) alloca (maxlen * sizeof (Lisp_Object)); \ | 912 | overlays = (Lisp_Object *) alloca (maxlen * sizeof (Lisp_Object)); \ |
| 913 | noverlays = overlays_at (posn, 0, &overlays, &maxlen, \ | 913 | noverlays = overlays_at (posn, 0, &overlays, &maxlen, \ |
| 914 | nextp, NULL, chrq); \ | 914 | nextp, NULL, chrq); \ |