Mercurial > emacs
comparison src/buffer.c @ 37463:7db9a70334b7
(mouse_face_overlay_overlaps): Fix the computation
of the number of overlays to check.
| author | Gerd Moellmann <gerd@gnu.org> |
|---|---|
| date | Wed, 25 Apr 2001 14:50:43 +0000 |
| parents | f00c8e510bb1 |
| children | 1085e1cfebaf |
comparison
equal
deleted
inserted
replaced
| 37462:60c6feb4c274 | 37463:7db9a70334b7 |
|---|---|
| 2527 mouse_face_overlay_overlaps (overlay) | 2527 mouse_face_overlay_overlaps (overlay) |
| 2528 Lisp_Object overlay; | 2528 Lisp_Object overlay; |
| 2529 { | 2529 { |
| 2530 int start = OVERLAY_POSITION (OVERLAY_START (overlay)); | 2530 int start = OVERLAY_POSITION (OVERLAY_START (overlay)); |
| 2531 int end = OVERLAY_POSITION (OVERLAY_END (overlay)); | 2531 int end = OVERLAY_POSITION (OVERLAY_END (overlay)); |
| 2532 int n, i; | 2532 int n, i, size; |
| 2533 Lisp_Object *v, tem; | 2533 Lisp_Object *v, tem; |
| 2534 | 2534 |
| 2535 n = 10; | 2535 size = 10; |
| 2536 v = (Lisp_Object *) alloca (n * sizeof *v); | 2536 v = (Lisp_Object *) alloca (size * sizeof *v); |
| 2537 i = overlays_in (start, end, 0, &v, &n, NULL, NULL); | 2537 n = overlays_in (start, end, 0, &v, &size, NULL, NULL); |
| 2538 if (i > n) | 2538 if (n > size) |
| 2539 { | 2539 { |
| 2540 n = i; | |
| 2541 v = (Lisp_Object *) alloca (n * sizeof *v); | 2540 v = (Lisp_Object *) alloca (n * sizeof *v); |
| 2542 overlays_in (start, end, 0, &v, &n, NULL, NULL); | 2541 overlays_in (start, end, 0, &v, &n, NULL, NULL); |
| 2543 } | 2542 } |
| 2544 | 2543 |
| 2545 for (i = 0; i < n; ++i) | 2544 for (i = 0; i < n; ++i) |
