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)